Teacher Forcing策略在RNN的应用

本文介绍了Teacher Forcing策略在RNN中的应用。该策略常用于机器翻译、图像描述等语言模型任务,能使RNN训练更快速收敛。文中阐述了RNN模型表示公式,解释了Teacher Forcing策略的含义,并说明了采用该策略的原因,即训练时模型更稳定、可快速收敛,不使用则结果不佳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

Teacher Forcing策略在RNN中经常被用到,例如machine translation、image caption、text summarization等语言模型任务。
Teacher Forcing策略使训练RNN更快速收敛且效果还挺好。

RNN模型表示

公式

P ( y 1 , y 2 , . . . , y T ) = P ( y 1 ) ∏ t = 2 T P ( y t ∣ y 1 , y 2 , . . . , y t − 1 ) P(y_{1}, y_{2}, ..., y_{T}) = P(y_{1}) \prod_{t=2}^{T}{P(y_{t} | y_{1}, y_{2}, ..., y_{t-1} )} P(y1,y2,...,yT)=P(y1)t=2TP(yty1,y2,...,yt1)

因此,在预测下一个step T时,是将前面T-1个step的输出当作输入来预测的。

什么是Teacher Forcing策略

简单来说,就是在训练时,使用前T-1个step的Ground Truth来输出第T个step的值。
举个例子:
例如想生成一句话:

<S> 我 非常 喜欢 吃 饺子 和 馄饨 </S>

在训练时:

0. 输入	         		输出               Ground Truth
1. <S>           		我                 我
2. <S> 我	     		?                 非常
3. <S> 我 非常     		?                 喜欢
4. <S> 我 非常 喜欢 		?                 吃
... 

为什么采用Teacher Forcing策略

1. 训练时模型更稳定可以快速收敛

例如想生成一句话,不使用Teacher Forcing:

<S> 我 非常 喜欢 吃 饺子 和 馄饨 </S>

数据集中还有一句话,假设:

<S> 你 咋 不 上 天 呢 </S>

训练时,以2-gram为例,不使用teacher forcing

0. 输入	         		输出               Ground Truth
1. <S>           		你                 我
2. 你	     	    	咋                 非常
3. 咋     		        ?                 喜欢
4. ? 	    	        ?                 吃
... 

使用teacher forcing

0. 输入	         		输出               Ground Truth
1. <S>           		你                 我
2. 我	     	    	咋                 非常
3. 非常     		        ?                 喜欢
4. 喜欢 	    	     	?                 吃
... 

这样的话在训练时,输出和Ground Truth不一致,Loss很容易发散,很难收敛。上面举的例子仅供参考理解。
很多论文的实验也证明不使用 Teacher Forcing,模型很难收敛,就算收敛结果也不好。

2.可以训练但结果不好

我自己在做Captioning实验时,训练时不使用Teacher Forcing策略,发现就算模型最终训练成功,性能反而也不好。这是一个问题。

参考

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值