alexnet网络特点_神经网络的概念「建议收藏」

alexnet网络特点_神经网络的概念「建议收藏」AlexNet经典网络由AlexKrizhevsky、Hinton等人在2012年提出,发表在NIPS,论文名为《ImageNetClassificationwithDeepConvolutio

AlexNet经典网络由Alex Krizhevsky、Hinton等人在2012年提出,发表在NIPS,论文名为《ImageNet Classification with Deep Convolutional Neural Networks》,论文见:http://www.cs.toronto.edu/~hinton/absps/imagenet.pdf ,论文中的网络结构截图如下:

alexnet网络特点_神经网络的概念「建议收藏」

上图中有时看起来不是很直观,下图是来自https://www.learnopencv.com/understanding-alexnet/ 中的截图:

alexnet网络特点_神经网络的概念「建议收藏」

注意:论文中原始输入大小为224*224*3,上图中输入大小为227*227*3,使用227*227替换为224*224更有意义。

AlexNet网络:

(1).激活函数使用ReLU替代Tanh或Sigmoid加快训练速度,解决网络较深时梯度弥散问题。关于ReLU介绍参考:经典网络AlexNet介绍

(2).训练时使用Dropout随机忽略一部分神经元,以避免过拟合。关于Dropout介绍参考:经典网络AlexNet介绍

(3).使用重叠最大池化(Overlapping Max Pooling),避免平均池化时的模糊化效果;并且让步长比池化核的尺寸小,提升特征丰富性。filter的步长stride小于filter的width或height。一般,kernel(filter)的宽和高是相同的,深度(depth)是和通道数相同的。

(4).使用LRN对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其它反馈较小的神经元,增强了模型泛化能力。LRN只对数据相邻区域做归一化处理,不改变数据的大小和维度。关于LRN介绍参考:经典网络AlexNet介绍

(5).数据扩充(Data Augmentation):训练时随机地从256*256的原始数据中截取227*227大小的区域,水平翻转;光照变换。增加了数据量,大大减少过拟合,提升泛化能力。

(6).多GPU并行运算。

AlexNet输入是一种属于1000种不同类别的一张BGR图像,大小为227*227,输出是一个向量,大小为1000。输出向量的第i个元素值被解释为输入图像属于第i类的概率。因此,输出向量的所有元素的总和为1。

假如输入图像大小为n*n,过滤器(filter)为f*f,padding为p,步长(stride)为s,则输出大小为:如果商不是整数,向下取整,即floor函数。参考:经典网络AlexNet介绍

alexnet网络特点_神经网络的概念「建议收藏」

AlexNet架构:5个卷积层(ConvolutionReLULRNPooling)+3个全连接层(InnerProductReLUDropout),predict时对各层进行说明:参照https://github.com/BVLC/caffe/blob/master/models/bvlc_alexnet/deploy.prototxt

(1).输入层(Input):图像大小227*227*3。如果输入的是灰度图,它需要将灰度图转换为BGR图。训练图大小需要为256*256,否则需要进行缩放,然后从256*256中随机剪切生成227*227大小的图像作为输入层的输入。

(2).卷积层1+ReLU+LRN:使用96个11*11的filter,stride为4,padding为0,输出为55*55*96,96个feature maps,训练参数(11*11*3*96)+96=34944。

(3).最大池化层:filter为3*3,stride为2,padding为0,输出为27*27*96,96个feature maps。

(4).卷积层2+ReLU+LRN:使用256个5*5的filter,stride为1,padding为2,输出为27*27*256,256个feature maps,训练参数(5*5*96*256)+256=614656。

(5).最大池化层:filter为3*3,stride为2,padding为0,输出为13*13*256,256个feature maps。

(6).卷积层3+ReLU:使用384个3*3的filter,stride为1,padding为1,输出为13*13*384,384个feature maps,训练参数(3*3*256*384)+384=885120。

(7).卷积层4+ReLU:使用384个3*3的filter,stride为1,padding为1,输出为13*13*384,384个feature maps,训练参数(3*3*384*384)+384=1327488。

(8).卷积层5+ReLU:使用256个3*3的filter,stride为1,padding为1,输出为13*13*256,256个feature maps,训练参数(3*3*384*256)+256=884992。

(9).最大池化层:filter为3*3,stride为2,padding为0,输出为6*6*256,256个feature maps。

(10).全连接层1+ReLU+Dropout:有4096个神经元,训练参数(6*6*256)*4096=37748736。

(11).全连接层2+ReLU+Dropout:有4096个神经元,训练参数4096*4096=16777216。

(12).全连接层3:有1000个神经元,训练参数4096*1000=4096000。

(13).输出层(Softmax):输出识别结果,看它究竟是1000个可能类别中的哪一个。

train(https://github.com/BVLC/caffe/blob/master/models/bvlc_alexnet/train_val.prototxt)可视化结果(http://ethereon.github.io/netscope/quickstart.html )如下:

alexnet网络特点_神经网络的概念「建议收藏」

predict可视化结果如下:

alexnet网络特点_神经网络的概念「建议收藏」

GitHub:https://github.com/fengbingchun/NN_Test

今天的文章alexnet网络特点_神经网络的概念「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/78666.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注