来源
AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计,下面是对2012年论文中的网络进行理解记录。
网络结构(这里两个结构相同,是在两个GPU上进行训练):
详细解释:
对上图补充:
-
AlexNet使用了mini-batch SGD,batch的大小为128,梯度下降的算法选择了momentum,参数为0.9,加入了L2正则化,或者说权重衰减,参数为0.0005。论文中提到,这么小的权重衰减参数几乎可以说没有正则化效果,但对模型的学习非常重要。
-
每一层权重均初始化为0均值0.01标准差的高斯分布,在第二层、第四层和第五层卷积的偏置被设置为1.0,而其他层的则为0,目的是为了加速早期学习的速率(因为激活函数是ReLU,1.0的偏置可以让大部分输出为正)。
-
学习速率初始值为0.01,在训练结束前共减小3次,每次减小都出现在错误率停止减少的时候,每次减小都是把学习速率除以10 。
-
卷积层3中的卷积核为33,,深度是256,这里深度是256是由于对于经过第二层卷积之后输出的数据大小分两部分,均为1313*128,然后将其进行串联,深度变为256,其目的在于交换两个分支的特征信息。卷积层1中的卷积核深度为3,卷积层2中的卷积核深度为48,卷积层4中的卷积核深度为192,卷积层5中的卷积核深度为192。
-
对于全连接层6做的操作(这里假设只有一个GPU):输入为66256,卷积核大小为66256,共有4096个卷积核。
-
局部相应归一化(Local Response Normalization),提出了LRN层,对局部神经元的活动创建竞争机制,使其中响应比较大对值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。但是后期VGG先关论文证明LRN对CNN不起作用,所以后期基本不再使用。计算公式为:
其中,i表示第i个神经元在位置(x, y)使用激活函数ReLU后的输出,n是同一位置上临近的kernal map的数目,N是kernal的总数。参数K, n, alpha, belta 都是超参数,一般设置k=2, n=5, alpha=1*e-4, beta=0.75。
-
为防止过拟合,网络采用:
7.1 随机裁取,外加旋转;
7.2 添加dropout层。 -
相较于LeNet网络,加入了dropout、加入ReLU激活层。