[0002] 从1965年开始,人们开始研究图像处理和识别。随着科技进步,深度学习成为了图像分类的主流方法。AlexNet模型就是一种基于深度学习的图像分类模型。
[0003] AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的,它主要包括5个卷积层,3个全连接层。
[0004] AlexNet在输入时对224*224*3的图像进行预处理,将其处理为227*227*3的图像。
[0005] 第一个卷积层中,AlexNet采用96个11*11*3的卷积核,在步长为4的前提下对227*227*3的图像进行了滤波。最初的输入神经元个数为224*224*3=150528个,由于其步长为
4,卷积核大小为11*11*3,故而本层的特征图的大小为:
[0006] (227‑11)/4+1=55
[0007] 也就是96个55*55大小的特征图,其神经元个数为55*55*96=290400。得到卷积数据后,对其进行一次Relu,并对其进行池化(map大小减半),之后将其作为第二层的输入。
[0008] 第二个卷积层中,AlexNet采用256个5*5的过滤器对96*27*27个特征图进行进一步特征提取,但是此时过滤器是对96个特征图中的某几个特征图中相应的区域乘以相应的权重,之后再加上偏置之后所得到的区域进行卷积,经过这样的处理,会得到256个新的特征图,特征图的大小为:
[0009] (27+2*2‑5)/1+1=27
[0010] 也就是256个27*27大小的特征图,其神经元个数为
[0011] 256*27*27=186624。之后对其进行Relu操作,在对其进行降采样处理(特征图的大小减半),得到256个13*13大小的特征图。
[0012] 第三个卷积层中,AlexNet采用384个3*3大小的过滤器对256*13*13个特征图进一步提取特征,经过处理,会得到384个新的特征图,特征图的大小为:
[0013] (13+2*1‑3)/1+1=13
[0014] 即384个13*13的新特征图,其神经元个数为384*13*13=64896。之后对其进行Relu操作,在第三个卷积层中,不对其使用降采样处理。
[0015] 第四个卷积层中,AlexNet采用384个3*3大小的过滤器对384*13*13个特征图进一步提取特征,经过处理,会得到384个新的特征图,特征图的大小为:
[0016] (13+2*1‑3)/1+1=13
[0017] 即384个13*13的新特征图,其神经元个数为384*13*13=64896。之后对其进行Relu操作,在第四个卷积层中,同样不对其进行降采样处理。
[0018] 第五个卷积层中,AlexNet采用256个3*3大小的过滤器对384*13*13个特征图进一步提取特征,经过处理,会得到256个新的特征图,特征图的大小为:
[0019] (13+2*1‑3)/1+1=13
[0020] 即256个13*13的新特征图,其神经元个数为256*13*13=43264。之后对其进行Relu操作,并对其进行降采样处理(特征图的大小减半),得到256个6*6大小的特征图。
[0021] 第一个全链接层中,AlexNet网络在这里使用4096个神经元,对于神经元中的一个点,它是由256个特征图中的某些特征图卷积所得到的特征点乘以相应的权重,再加上一个偏置得到的。之后进行一个dropout随机从4096个节点中丢掉一些节点信息,得到新的4096个神经元。
[0022] 第二个全链接层中,方法与第一个全链接层相似。
[0023] 第三个全链接层中,采用的是1000个神经元(竞赛中是1000个类),在此过程中是对第二个全链接层中的4096个神经元进行全链接,之后通过高斯过滤器,得到1000个float的值,也就是最终的预测可能性。
[0024] 根据以上原理,可以根据以下步骤对图片进行预测:
[0025] 1.数据准备:准备好训练集,测试集和验证集。
[0026] 2.图片预处理:图片大小归一化→生成caffe所支持的数据库→生成均值文件;
[0027] 3.模型训练;
[0028] 4.模型测试