Imagenet-classification-with-deep-convolutional-ne

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

AlexNetIntroductionby.孙超TheArchitecture(体系结构)1.1ReLU1.2TrainingonMultipleGPUs1.3LocalResponseNormalization(RLN局部响应归一化)1.4Overlappingpooling(重叠池化)ReducingOverfitting(减少过度拟合)2.1DataAugmentation(数据加强)2.2DropoutMaincontentArchitectureImproving1,采用ReLU来代替传统的tanh(orsigmoid)引入非线性。2,采用2块显卡来进行并行计算,减少了更多显卡需要host传递数据的时间消耗,在结构上,部分分布在不同显卡上面的前后层节点之间无连接,从而提高了训练速度。3,同层相邻节点的响应进行局部归一化(lrnlayer)提高了识别率(top5错误率降低1.2%)。4,overlappingpooling(top5错误率降低0.3%)。1.ReLU激活函数2.LRNlayer3.OverlappingPooling①②③AlexNet4.Dropout④⑤⑥⑦⑧1.1ReLU(RectifiedLinearUnits)NonlinearityReLU具备引导适度稀疏的能力,不需要pre-trainingReLU不预训练和sigmoid预训练的效果差不多,甚至还更好。相比之下,ReLU的速度非常快,而且精确度更高。因此ReLU在深度网络中已逐渐取代sigmoid而成为主流。1.2TrainingonMultipleGPUsParallelizationscheme:putshalfofthekernels(orneurons)oneachGPU,theGPUscommunicateonlyincertainlayers.(forexample,thekernelsoflayer3takeinputfromallkernelmapsinlayer2)Thisschemereducesourtop-1andtop-5errorratesby1.7%and1.2%1.3LocalResponseNormalization•从这个公式中可以看出,原来的激活a被加一个归一化权重(分母部分)生成了新的激活b,相当于在同一个位置(x,y),不同的map上的激活进行了平滑。•Responsenormalizationreducesourtop-1andtop-5errorratesby1.4%and1.2%其中a是每一个神经元的激活,n是在同一个位置上临近的kernelmap的数目,N是可kernel的总数目,k,alpha,beta都是预设的一些hyper-parameters,其中k=2,n=5,alpha=1*e-4,beta=0.75。1.4OverlappingpoolingKernelsize:3*3Stride:2Thisschemereducesthetop-1andtop-5errorratesby0.4%and0.3%Pooling1.一般池化(GeneralPooling)我们定义池化窗口的大小为sizeX,即下图中红色正方形的边长,定义两个相邻池化窗口的水平位移/竖直位移为stride。一般池化由于每一池化窗口都是不重复的,所以sizeX=stride。2.重叠池化(OverlappingPooling)重叠池化正如其名字所说的,相邻池化窗口之间会有重叠区域,此时sizeXstride。作者使用了重叠池化,其他的设置都不变的情况下,top-1和top-5的错误率分别减少了0.4%和0.3%。3.空金字塔池化(SpatialPyramidPooling)空间金字塔池化可以把任何尺度的图像的卷积特征转化成相同维度,这不仅可以让CNN处理任意尺度的图像,还能避免cropping和warping操作,导致一些信息的丢失,具有非常重要的意义。1数据加强(dataaugmentation):对训练数据进行左右对称以及平移变换,将训练数据增加为原来的2048倍;对像素进行PCA变换构造新样本(此机制使得top5错误率降低%1);2DropoutReducingOver-fitting2.1Dataaugmentationa.增大训练样本:通过对于图像的变换实现了对于数据集合的enlarge。首先对于输入的图像(size256*256)随机提取224*224的图像集合,并对他们做一个horizontalreflections。变换后图像和原图像相差了32个像素,因此主体部分应该都包含在训练集合中,相当于在位置这个维度上丰富了训练数据。对horizontalreflections来说,相当于相机在主轴方向做了镜像,丰富了反方向的图像。数据集合增大了2048倍,直接结果就是降低了overfitting同时降低了网络结构设计的复杂层度。在测试阶段,取每一个测试样本四个角以及中间区域,一共5个patch然后再镜像后得到10个样本输入到网络中,最后将10个softmax输出平均后作为最后的输出。b.使用PCA对于训练数据进行增强:对于每一个RGB图像进行一个PCA的变换,完成去噪功能,同时为了保证图像的多样性,在eigenvalue(特征值)上加了一个随机的尺度因子,每一轮重新生成一个尺度因子,这样保证了同一副图像中在显著特征上有一定范围的变换,降低了overfitting的概率。2.2DropoutIndependentlyseteachhiddenunitactivitytozerowith0.5probabilityaveryefficientversionofmodelcombinationDropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了使用多个model来共同进行预测是一个降低testerrors的基本方法,但是单独的训练多个model组合会导致整个的训练成本增加,毕竟训练一个单一的网络需要很长的时间,即便计算资源足够,在不影响精度的情况下降低整个运算时间还是我们追求的目标。对于每一个隐层的output,以50%的概率将他们设置为0,不再对于forward或者backward的过程起任何作用。对于每一个input来说,使用的不同的网络结构,但是权重是共享的。这样求得的参数能够适应不同的情况下的网络结构,也就是提高了系统的泛化能力基本结构:a.共有8层,其中前5层convolutional,后边3层full-connected,最后的一个full-connected层的output是具有1000个输出的softmaxb.在第一层conv1和conv2之后直接跟的是Response-nomalizationlayer,也就是norm1,norm2层c.在每一个conv层以及full-connected层后紧跟的操作是ReLU操作d.Maxpooling操作是紧跟在第一个norm1,norm2,以及第5个conv层,也就是conv5e.Dropout操作是在最后两个full-connected层1.ReLU激活函数2.LRNlayer3.OverlappingPooling①②③AlexNet4.Dropout④⑤⑥⑦⑧ThankYou.2015.10.21

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功