人工智能:语音识别理解与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.4 鉴别性预训练

基于DBN及降噪自动编码器的预训练都是生成性预训练技术。另一种选择是,DNN参数完全可以使用鉴别性预训练(Discriminative Pretraing,DPT)来鉴别性地初始化。其中一种方法如图5-7所示,即逐层BP(LBP)。通过逐层BP,我们首先使用标注鉴别性训练一个单隐层的DNN(如图5-7(a)所示),直到其全部收敛。接着在v1层和输出层之间插入一个新的(如图5-7(b)中的虚线框所示)随机初始化的隐层(如图5-7(b)中实心箭头所示),最后,鉴别性训练整个网络到完全收敛,这样继续直到得到所需数量的隐层。这和逐层贪心训练[51]相似,不同的是逐层贪心训练只是更新新添加的隐层,而在逐层BP中,每次新的隐层加入时所有的层都联合更新。因为这个原因,在绝大多数条件下逐层BP性能都优于逐层贪心训练,因为在后者中低层权重在学习时对上层权重一无所知。然而,逐层BP有一个缺点,一些隐层节点可能在训练收敛后会处于饱和状态,因此当新的隐层加入时很难对其进行进一步更新。这个问题可以通过每次新的隐层加入时,不让模型训练到收敛来缓解。一个典型的启发式方法是我们只使用要达到收敛所用数据的来执行DPT,其中L是最终模型的总层数。在DPT中,其目标是调整权重使其接近一个较好的局部最优点。它不具有生成性DBN预训练中的正则化效果。因此,DPT最好在可获得大量训练数据的时候使用。

图5-7  DNN的鉴别性预训练