介绍
AlexNet是LeNet的一种更深更宽的版本。首次在CNN中应用ReLU、Dropout和LRN,GPU进行运算加速。
一共有13层,有8个需要训练参数的层(不包括池化层和LRN层),前5层是卷积层,后三层是全连接层。
最后一层是有1000个类输出的softmax层用作分类。
前言
截取224*224,实际上又扩充了一个边界,成为227*227,论文里面224*224是有问题的
局部响应归一化计算的时候是有一个尺寸的,5*5或者10*10的邻域范围。
输入图片实际上是227*227
为什么需要庞大的全连接神经网络来分类呢?因为特征提取出来后,特征空间不好分,高度非线性特征空间,所以要这么多fc,如果好分,一个fc就可以了
relu可以原位计算,在caffe中,在conv的输出矩阵中马上就可以进行原位计算,不用存下来,再去计算relu
lrn也不改变尺寸
为什么需要这么多的卷积核?因为每一个卷积核都是不同的特征提取方法,不同的角度提取数据,增加了每个特征的独特性,特征空间的可塑性
特征图慢慢变小,响应的你的kernel_size也要降下来,刚开始可以很大
kernelsize=3 3 ÷2=1.5 所以pad选1???????
注意上一部分用池化,这一部分不用池化,这根特征图是哟关系的,为了保证深度达到一定程度,不能把图像弄得很小,不然怎么展开呢???????
conv没有进行降维
mlp 多层感知器
fc可以看成conv,只要kernelsize=输入特征图的size,s=1,pad=0就可以,这样相当于kernel没有进行滑动,只进行了一次内积
dropout放在data后面,是一部分失活,实际上输出的4096中有一部分是失活的
最后
刚才我们的实现是把max pool放在前面,没有关系
maxpool用了三次,是用来降低维数
一开始图像比较大,图像是局部相关的,大的图像局部相关的区域也比较大,所以就用大一点的kernel来计算,step也大一点,之后convstep会慢慢变小
虽然conv计算量特别大,但是参数量特别小,主要是因为数据量特别大,全连接层少,但是宽度特别宽,数据量越来越少,参数量越来越多,从开始到最后的max pool可以看成一个特征提取器
特征向量非常长,特征空间是非常高维的特征空间,这么高维的特征空间肯定需要特别大的特征参数,才能够有足够的自由度来调整决策边界,来达到足够高的精度,这个就是为什么参数特别多的原因,参数越多,自由度越大,决策边界越好调节,特征空间的划分就越自由..