深度学习网络篇——AlexNet

作为一个机器学习刚入门的小学生,今天和大家分享的是一篇比较经典的论文《ImageNet Classification with Deep Convolutional Neural Networks》。只是我们在学习后的知识分享和总结,有不周到的地方还请各位大大们指正。

简要概括

AlexNet是2012年ImageNet竞赛冠军Hinton和他的学生Alex Krizhevsky提出设计的,官方数据上网络所得的top-1和top-5错误率分别为37.5%和17.0%。
AlexNet采用了8层的神经网络,其中包含5个卷积层(其中有3个卷积层后连接了最大池化层),3个全连接层和最后的softmax层。AlexNet里面包含了6千万个参数和65万个神经元。为了防止过拟合,采用了正则化方法“Dropout”;为了提高训练和运行速度,采用了双GPU的设计模式。

AlexNet的重中之重!

敲黑板!!!划重点!!!AlexNet最重要的部分就是下图中的网络结构!可能小伙伴们看着这张图觉得有些莫名其妙,所以大家对照着下图思路就可以把AlexNet这块骨头啃下来了!(友情提示:备注要认真看哦~)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AlexNet总结

AlexNet对于在此之前的传统的机器学习分类算法而言可以说是非常出色了。它有很多的小tips(很多想法不是这篇文章提出的,但是在这篇文章中是闪光点,也把它们总结了一下),比如:
一、网络架构方面:
1.Relu激活函数:效果优于tanh函数和Sigmoid函数,解决了梯度消失的问题,收敛速度更快;
2.最大池化的使用:AlexNet使用的池化步长比池化核的尺寸小,池化层输出会有重叠和覆盖;
3.使用了局部响应归一化(LRN):简单来说就是“强者更强,弱者更弱”。
二、训练速度方面:
1.使用了两个GPU计算,提高了准确率(说明:多卡并不会提高准确率,但是在这篇文章的第二三层卷积层之间用了两个GPU的“串联”,提高了准确率),增加显存,加快了计算速度和训练速度;
三、防止过拟合方面:
1.数据增强:AlexNet做了两方面的数据增强;一是对于原始图像(256x256x3)做水平翻转,随机截取为224x224x3的图像尺寸大小,这使得训练样本数量扩增了2048倍,提升了模型的泛化能力;二是对原始图像的RGB通道做了PCA主成分分析,即对于图片的每个像素提取RGB三个通道的特征向量和特征值,再乘以一个均值为0.1方差服从高斯分布的随机变量α;
2.正则化方法Dropout:随机忽略一部分的神经元,设置一个keep_prob来表示这个神经元的保留概率,这迫使神经网络不会过度的依赖某个神经元或者特征。AlexNet在训练过程中令keep_prob为0.5,在测试过程中,令keep_prob为1(全部激活),但所有输出值乘以0.5;

最后的最后,因为我们也是机器学习刚入门的小学生,有些理解不到位的地方还请大大们指出。博客最近两个月会每周都至少更新一篇深度学习网络篇的理解(下一周是ZFNet网络哦~),网络篇的代码实现会在稍后附上,还请大家多多支持!蟹蟹!!!

猜你喜欢

转载自blog.csdn.net/weixin_43624538/article/details/83988998