超详细的AlexNet解读

版权声明:从这篇文章学到很多东西,感谢博主。本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接: https://blog.csdn.net/chaipp0607/article/details/72847422

2012年AlexNet在ImageNet大赛上一举夺魁,开启了深度学习的时代,虽然后来大量比AlexNet更快速更准确的卷积神经网络结构相继出现,但是AlexNet作为开创者依旧有着很多值得学习参考的地方,它为后续的CNN甚至是R-CNN等其他网络都定下了基调,所以下面我们将从AlexNet入手,理解卷积神经网络的一般结构。
这里写图片描述

先给出AlexNet的一些参数和结构图:
卷积层:5层
全连接层:3层
深度:8层
参数个数:60M
神经元个数:650k
分类数目:1000类

AlexNet结构图:
这里写图片描述
由于当时的显卡容量问题,AlexNet 的60M个参数无法全部放在一张显卡上操作,所以采用了两张显卡分开操作的形式,其中在C3,R1,R2,R3层上出现交互,所谓的交互就是通道的合并,是一种串接操作。


卷积层

CNN中卷积层的作用

CNN中的卷积层,在很多网络结构中会用conv来表示,也就是convolution的缩写。卷积层在CNN中扮演着很重要的角色——特征的抽象和提取,这也是CNN区别于传统的ANN或SVM的重要不同,在传统机器学习算法中,我需要人为的指定特征是什么,比如经典的HOG+SVM的行人检测方案,HOG就是一种特征提取方法。所以我们送入SVM分类器中的其实HOG提取出来的特征,而不是图片的本身。而在卷积神经网络中,大部分特征提取的工作在卷积层自动完成了,越深越宽的卷积层一般来说就会有更好的表达能力。

卷积层如何操作

CNN中的卷积层操作与图像处理中的卷积是一样的,都是一个卷积核对图像做自上而下,自左而右的加权和操作,不同指出在于,在传统图像处理中,我们人为指定卷积核,比如Soble,我们可以提取出来图像的水平边缘和垂直边缘特征。而在CNN中,**卷积核的尺寸是人为指定的,但是卷积核内的数全部都是需要不断学习得到的。**比如一个卷积核的尺寸为 3 × 3 × 33 × 3 × 33 × 3 × 3 3×3×33×3×3 3\times3\times3 13×13×256,一个有4096个这样尺寸的卷积核分别对输入图像做4096次的全卷积操作,最后的结果就是一个列向量,一共有4096个数。这些数的排布其实就相当于传统神经网了里面的第一个隐藏层而已,通过R1后,后面的链接方式和ANN就没有区别了。要学习的参数也从卷积核参数变成了全连接中的权系数。


Softmax层

Softmax作用

httpsimgconvertcsdnimgcnaHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwNjA0MTcwNDQxNzE5
AlexNetSoftmax_128">Softmax层也不属于CNN中单独的层,一般要用CNN做分类的话,我们习惯的方式是将神经元的输出变成概率的形式,Softmax就是做这个的:

这里写图片描述

这个很好理解,显然Softmax层所有的输出相加为1。即:

这里写图片描述

而某一个输出的就是概率,最后我们按照这个概率的大小确定到底属于哪一类。

这里写图片描述

AlexNet中的Softmax

AlexNet最后的分类数目为1000,也就是最后的输出为1000,输入为4096,中间通过R3链接,R3就是最后一层了,全连接的第3层,所有层数的第8层。
到这里,AlexNet的所有结构就都说完了!说完了!说完了!,下面补充一些东西,算是一些延伸吧。


AlexNet 中60M参数

AlexNet只有8层,但是它需要学习的参数有60000000个,相比如他的层数,这是一个很可怕的数字了,我们来计算下这些参数都是怎么来的:
C1: 96 × 11 × 11 × 396 × 11 × 11 × 396 × 11 × 11 × 3 96×11×11×396×11×11×3 96\times11\times11\times3 3×3
GoogLeNet引入了Inception模块;
ResNet引入了直连思想;
DenseNet引入稠密链接,将当前的层与之后的所有层直连。
其中的一些网络甚至替换了AlexNet中提出的一些思想,但是CNN大体上结构依旧遵循着AlexNet,甚至还有很多传统ANN的思想存在。
这里写图片描述

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
                </div>
发布了46 篇原创文章 · 获赞 9 · 访问量 1万+
版权声明:从这篇文章学到很多东西,感谢博主。本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接: https://blog.csdn.net/chaipp0607/article/details/72847422

2012年AlexNet在ImageNet大赛上一举夺魁,开启了深度学习的时代,虽然后来大量比AlexNet更快速更准确的卷积神经网络结构相继出现,但是AlexNet作为开创者依旧有着很多值得学习参考的地方,它为后续的CNN甚至是R-CNN等其他网络都定下了基调,所以下面我们将从AlexNet入手,理解卷积神经网络的一般结构。
这里写图片描述

先给出AlexNet的一些参数和结构图:
卷积层:5层
全连接层:3层
深度:8层
参数个数:60M
神经元个数:650k
分类数目:1000类

AlexNet结构图:
这里写图片描述
由于当时的显卡容量问题,AlexNet 的60M个参数无法全部放在一张显卡上操作,所以采用了两张显卡分开操作的形式,其中在C3,R1,R2,R3层上出现交互,所谓的交互就是通道的合并,是一种串接操作。


卷积层

CNN中卷积层的作用

CNN中的卷积层,在很多网络结构中会用conv来表示,也就是convolution的缩写。卷积层在CNN中扮演着很重要的角色——特征的抽象和提取,这也是CNN区别于传统的ANN或SVM的重要不同,在传统机器学习算法中,我需要人为的指定特征是什么,比如经典的HOG+SVM的行人检测方案,HOG就是一种特征提取方法。所以我们送入SVM分类器中的其实HOG提取出来的特征,而不是图片的本身。而在卷积神经网络中,大部分特征提取的工作在卷积层自动完成了,越深越宽的卷积层一般来说就会有更好的表达能力。

卷积层如何操作

CNN中的卷积层操作与图像处理中的卷积是一样的,都是一个卷积核对图像做自上而下,自左而右的加权和操作,不同指出在于,在传统图像处理中,我们人为指定卷积核,比如Soble,我们可以提取出来图像的水平边缘和垂直边缘特征。而在CNN中,**卷积核的尺寸是人为指定的,但是卷积核内的数全部都是需要不断学习得到的。**比如一个卷积核的尺寸为 3 × 3 × 33 × 3 × 33 × 3 × 3 3×3×33×3×3 3\times3\times3 13×13×256,一个有4096个这样尺寸的卷积核分别对输入图像做4096次的全卷积操作,最后的结果就是一个列向量,一共有4096个数。这些数的排布其实就相当于传统神经网了里面的第一个隐藏层而已,通过R1后,后面的链接方式和ANN就没有区别了。要学习的参数也从卷积核参数变成了全连接中的权系数。


Softmax层

Softmax作用

猜你喜欢

转载自blog.csdn.net/weixin_43826596/article/details/100183084