一、多层神经网络中关于级数的解释
在多层神经网络中,图像的第一级的表示可以是在特定的位置和⻆度是否出现边缘;
而第二级的表示说不定能够将这些边缘组合出有趣的模式,如花纹;
在第三级的表示中,也许上一级的花纹能进一步汇合成对应物体特定部位的模式。
这样逐级表示下去,最终,模型能够较容易根据最后一级的表示完成分类任务。需要强调的是,输入的逐级表示由多层模型中的参数决定,而这些参数都是学出来的。深度学习的优势就在于不需要人来提取复杂的特征,而缺点就是更加庞大的参数。
二、AlexNet与LeNet的比较
(1)与相对较小的LeNet相比,AlexNet包含8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。
第一层中的卷积窗口形状是11×11。因为ImageNet中绝大多数图像的高和宽均比MNIST图像的高和宽大10倍以上,ImageNet图像的物体占用更多的像素,所以需要更大的卷积窗口来捕获物体。
第二层中的卷积窗口形状减小到5×5,之后全采用3×3。
此外,第一、第二和第五个卷积层之后都使用了窗口形状为3×3、步幅为2的最大池化层。而且,AlexNet使用的卷积通道数也大于LeNet中的卷积通道数数十倍。
紧接着最后一个卷积层的是两个输出个数为4096的全连接层。这两个巨大的全连接层带来将近1 GB的模型参数。由于早期显存的限制,最早的AlexNet使用双数据流的设计使一个GPU只需要处理一半模型。幸运的是,显存在过去几年得到了长足的发展,因此通常我们不再需要这样的特别设计了。
(2)AlexNet将sigmoid激活函数改成了更加简单的ReLU激活函数
一方面,ReLU激活函数的计算更简单,例如它并没有sigmoid激活函数中的求幂运算。
另一方面,ReLU激活函数在不同的参数初始化方法下使模型更容易训练。这是由于当sigmoid激活函数输出极接近0或1时,这些区域的梯度几乎为0,从而造成反向传播无法继续更新部分模型参数;而ReLU激活函数在正区间的梯度恒为1。因此,若模型参数初始化不当,sigmoid函数可能在正区间得到几乎为0的梯度,从而令模型无法得到有效训练。
(3)AlexNet通过丢弃法(dropout)来控制全连接层的模型复杂度。而LeNet并没有使用丢弃法。
(4)AlexNet引入了大量的图像增广,如翻转、裁剪和颜色变化,从而进一步扩大数据集来缓解过拟合。