Hinton Neural Networks课程笔记3e:如何利用梯度值训练网络(学习策略和过拟合抑制)
这里只是开了个头,笼统的讲了讲如何利用梯度值训练网络,包括优化算法的部分以及防止过拟合的部分。
1. 优化算法的部分
这里只提到了三个部分(具体要到第六节才讲):batch相关的抉择、学习率相关的选择、优化算法的选择。
batch相关的选项有online(one case)、mini-batch(some cases)和full-batch(all cases)。那online典型的问题就是zig-zag的前进方式,需要将梯度值设的小一点;full-batch则是计算资源和时间消耗大;mini-batch是两者的折中,也是实际使用中通常选择的部分(但是需要决定batch的大小)。
学习率的部分:固定学习率通常使得训练速度较慢(因为需要从一开始就选择一个较小的学习率),让学习率在训练过程中适应性的改变是个不错的选择(例如当loss震荡的时候减少学习率,当loss持续减少的时候增加学习率等等),甚至可以为每一个权重自适应一个学习率。
优化算法的选择:之前讲到的都是steepest descent,也就是使得权重每次改变学习率和梯度值的乘积。实际中可以使用类似动量(可以较好的解决长椭圆这样steepest descent很慢的情况)这样的元素,改变每次权重的改变值。
2. 过拟合问题
2.1. 什么是过拟合:使用复杂模型的一个缺点
回忆感知机以及线性神经元中利用权重空间解释学习算法的部分,每个数据点可以被看做对学习到的权重的一个约束。对于整个训练集而言,这些约束必然是有噪音的,分为两种:目标值不可靠(Hinton说这对于神经网络是小问题,但没有解释,笔者认为noise本身就很小,多个数据点的noise之间正负相消可以解决一部分;然后考虑BP算法,noise对于权重的影响也是线性的)、采样噪声(即因为采样不足够随机充分,导致学习到了一些偶然的限制)。对于采样噪声,Hinton举了个例子:让机器去学习多边形,如果你只给他看正方形和长方形,那么机器很可能学到了四条边、角为直角这样的限制;而如果给他看三角形和六边形,机器可能学到一定是凸的,且角度都是60度的倍数。而且Hinton提到,对于有限的训练集而言,采样噪声是不可避免的。
对于机器而言,其无法分辨哪一个约束是真实的,哪一个约束是来自于采样噪声,所以机器会适应所有的限制。在模型十分复杂(能力强)的时候,它会很好的适应采样噪声引入的限制,而这会使得学习到的模型泛化能力很差,也就是过拟合。
2.2. 一个例子
训练集为六个黑点,那如果训练一个线性神经元,其学习到的是绿线的模型;而如果训练一个自由度为6的多项式,其学习到的可能是红色的模型。这里面Hinton提到了一个可信度(convincing)的概念:已知函数的6个<自变量,因变量>点对,请问绿线和红线哪个更可能是该函数,即哪个模型更可信。(笔者认为这个其实是见仁见智了,但红线确实抖动的更加厉害,难以相信)Hinton提出,足够简单且能够较好的拟合训练集的模型是可信度高的模型(但是没有提出什么是足够简单,以及怎么样算较好拟合。。。)
2.3. 减少过拟合的方法
这里就列举了一系列防止过拟合的方法,具体还要等到lecture 7才讲。
1. weight-decay:权重小或者部分为零(简单模型原则)
2. weight-sharing:权重共享,也是减少模型复杂度
3. early stopping:根据验证集确定停止训练时间和程度(验证集和训练集因为采样误差引入同一限制的可能性不高)
4. model averaging:模型平均,ensemble的一种,利用多个模型的均值减少过拟合(不同模型可能学习到不同的采样噪声引入的误差,多个模型期待可以正负相消;即使同一种模型,考虑最后收敛到最小值附近的情况,震荡在最小值附近的多个模型均值期待可以更靠近最小值(这也是checkpoints的使用方法))
5. Bayesian fitting of neural networks:Hinton说是model averaging的一种fancy模型
6. dropout:这是Hinton的代表作了,训练过程中随机设置某些神经元的输出为0,有两种解释方式,后面肯定会详细解释的。目前可以参考CS231n课程笔记6.2:神经网络训练技巧之Ensemble、Dropout和CS231n作业笔记2.5:dropout的实现与应用
7. generative pre-training:这里Hinton直接说有点复杂,就带过了。。。
一些有意思的点:
1. 可以为每一个权重自适应一个学习率
2. 动量可以较好的解决长椭圆这样steepest descent很慢的情况
3. 过拟合可能是因为模型在学习采样噪声引入的限制
4. 对于有限的训练集而言,采样噪声是不可避免的
5. 足够简单且能够较好的拟合训练集的模型是可信度的模型