AlexNet

AlexNet_第1张图片
首先,AlexNet主要是有5个卷积层和3个全连接层组成。最后一个全连接层通过Softmax最终产生的结果将作为输入图片在类别上的得分,例如根据输入一个227✖️227✖️3的图像(长和宽均为227个像素的3通道彩色图),第一个卷积核大小为11✖️11✖️3,并且有96个卷积核组成。所有卷积核均以stride为4滑过整张227✖️227✖️3的图片,根据卷积输出层分辨率计算公式(W+2✖️pad-kernel)/stride+1可以得出第一个卷积输出层的分辨率大小为(227+2✖️0-11)/4+1=55。因此,不难得出第一层卷积最终的输出大小为55✖️55✖️96。由于卷基层只有卷积核含有的神经网络的参数,因此第一层卷积参数的总量为(11✖️11✖️3)✖️96=35k。
他有如下几个特点。
(1)使用ReLU作为激活函数
为了加快深度神经网络的训练速度,AlexNet将传统神经网络神经元激活激活函数f(x)=tanh(x)或sigmoid改为f(x)=max(0,x),从一个含有4层卷积的神经网络上看,相比tanh,ReLUs的收敛速度要快好几倍。当训练误差同为25% 时,ReLUs约进行5次迭代,即可达到tanh约35次的效果,
其中,横轴为迭代次数,纵轴为训练过程产生的误差。实线为ReLUs作为函数激活的收敛过程,虚线为tanh作为激活函数的收敛过程。
AlexNet_第2张图片

(2)使用多种方法避免过拟合
AlexNet有超过6000万的参数,虽然在比赛中有大量的训练数据,但仍然很难完成对如此庞大的参数的完全训练,从而导致严重的过拟合问题,AlexNet很巧妙的运用了下面两种方法处理的这个问题。
1)数据增强: 在图像领域,最简单也最常用的避免过拟合的方法就是对数据集的增强

  1. 对原始图片做随机裁剪,假如原始输入图片的大小为256✖️256,那么训练时可以随机从256✖️256的图片上裁剪224✖️224的图片作为网络的输入。
  2. 另外还有常见的数据增强方法,论文中并没有全部运用到,例如训练时对原始图片进行随机的上下左右翻转,平移,缩放,旋转等。这些在实践中都有很好的效果。

2)使用dropout: 该方法一方面是为了避免过拟合,另一方面是使用更有效的方式进行模型融合,具体方法是在训练时让神经网络中每一个中间层神经元以5的一定倍数的概率(如0.5)置为零,当某个神经元被置为0时,它便不会参与前项传播与反向传播的计算,因此每当有一个新的图片输入时,就意味着网络随机采用出一个新的网络结构,而真正的整个网络的权重一直是共享的。从感性的角度来讲,dropout的存也强迫了神经网络学习出更稳定的特征。因为在训练过程中直接屏蔽一些权重的同时,还要保证算法的效果,因此学习出来的模型相对来说更稳定。预测时使用所有的神经元,但需要将其输出均乘以0.5。

2012年AlexNet使用8层神经网络,以第一名的误差16.4%点的成绩摘得ILSVRC的桂冠,2013年ZFNet在AlexNet的基础上做了超参的调整。使得top1的分类误差降低到11.7%。ZFNet的第一个卷积层的kernel调为11✖️11。stride为4改为7✖️7,stride为2,,第3、4、5层卷积的kernel个数从384、384、256分别改为512、1024和512。紧接着2014年又被提出了一种新的解决方案,层次更深并且kernel更小的VGGNet。解决图片分类问题。

你可能感兴趣的:(CV天天见,深度学习,cnn,神经网络)