论文部分内容阅读
本文首先借鉴残差学习的思想设计了恒等残差块和卷积残差块,并用它们构建了一个50层的残差网络,该网络在CIFAR-10数据集上的准确率只有84.83%。接着本文对此网络进行了改进,改进后的网络深度达245层,在CIFAR-10上的准确率高达93.99%。具体的改进工作如下:沿用了残差学习的思想,对恒等残差块和卷积残差块都做了改进。改进的恒等残差块由于设计上的创新可以将网络叠加得更深,并且不会出现网络退化。文中还对这种改进的合理性给出了数学上的证明。优化了损失函数。优化过的损失函数关于各个权重的偏导一直处于一个合理的范围,最大程度减小了参数更新异常。修改了初始化方法。本文在训练50层残差网络的时候,使用的是Xavier初始化方式。仔细阅读这篇论文之后,发现它的作者在推导这个公式的时候假设激活函数是恒等函数。而本文使用的激活函数ReLU并非恒等函数,因此本文基于ReLU函数对Xavier初始化方式做了修改,新的初始化方式可是让权重更新得更稳健,使网络收敛得更快,当然最终训练出的模型准确率也更高。仔细观察本文改进前的50层残差网络和改进后245层残差网络,可以惊讶地发现,245层的网络比50层的网络参数量还要小,这得益于本文对网络整体架构的改进。本文巧妙地使用1×1和3×3的卷积核,既通过设置卷积核的滑动步长和Padding来调节特征映射的大小,也通过指定卷积核的个数来控制特征映射的通道数。这几个超参数和网络的参数量有着莫大的关联,正文中会详细讲到。同时本文对池化层的安放也很有研究。因为自然图片中的物体都具有局部不变性特征,也就是说卷积输出的特征映射中相邻两个点的特征通常会很相似。为了把语义上相似的特征合并起来,我们可以使用特征映射中一个区域中的最大值,或这个区域的平均值来代表这个区域的特征。这样就可以有效降低特征映射尺寸大小,同时还不会增加额外的参数。本文在训练网络的过程中使用MXBoard实时显示训练集和验证集上的损失值和准确率,以便观察网络状态。本文最后还实现了一个基于改进残差网络的交通标志识别系统。