上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.6 采用丢弃法的预训练
在4.3.4节中介绍的丢弃法(Dropout)[187]可作为一种改善DNN泛化能力的技术。我们提到可以把Dropout视为一种通过随机丢弃神经元来减小DNN容量的方法。从另一个角度来看,正如Hinton等人在文献[187]中所指出的一样,也可以把Dropout视为一种打包技术,它可以对大量绑定参数的模型做平均。换句话说,与不使用Dropout的DNN相比,Dropout能够生成更平滑的目标平面。由于与一个更加陡峭的目标平面相比,一个更加平滑的目标平面具有较少的劣性局部最优点,这样较不容易陷入一个非常差的局部最优点。这启发我们可以使用Dropout预训练快速找到一个较好的起始点,然后不使用Dropout模型来精细调整DNN。
这正是Zhang等人在文献[212]中所提出的,使用0.3到0.5的Dropout率,然后通过10到20轮训练数据来预训练一个DNN,接着把Dropout率设置为0继续训练DNN。这样初始化的DNN的错误率比RBM预训练的DNN相对降低了3%。内部实验表明,我们可以在其他任务上实现类似的改善。注意到Dropout预训练也要有标注的训练数据,并能实现与在5.4节中讨论的鉴别性预训练相近的性能,但是它相比DPT更容易实现和控制。