机器学习中的Teacher Forcing

文摘   科技   2024-11-07 20:39   江苏  
点击蓝字
 
关注我们










01


引言



在机器翻译和其他自然语言处理领域,Teacher Forcing 算法是最常用的神经网络训练方法之一。这种方法因其在促进学习方面的有效性而被广泛使用。在本文中,我们将深入探讨Teacher Forcing 成为热门选择的原因,并详细介绍如何有效地实施这种算法。






02


什么是Teacher Forcing ?


本质上来讲Teacher Forcing 的核心是一种引导和加速模型学习过程的方法,在序列的每一步都为其提供正确的输入,而不是让它根据之前的输出来生成下一步。

让我们用一个例子来更直观地说明这一点:假设我们正在解决一个数学问题,需要依次解决三个子问题才能得到最终答案,而上一个子问题的输出将作为解决下一个子问题的输入。

在这里,任何一个子问题的错误答案都会导致最终答案的错误,我们就很难分析我们错在哪里,并朝着正确的方向学习。


如果我们有一位老师的支持,即使我们计算出错误的答案,他也会为我们提供子问题的正确输出。这样,我们就有很大的机会得到正确的最终答案,而且还能很容易地分析自己的错误,因为我们现在知道自己是在问题的哪个阶段出错的,从而更好更快地学习。


同样,如果递归神经网络在当前输入step预测到了错误的输出,那么这个错误的输出就会被用作预测下一个输出的输入,同样的情况会在以后的预测中重复出现,这将导致模型做出错误的预测,并遵循错误的学习方向。这将导致模型向全局最优收敛的速度减慢。


如今,构建和训练一个深度学习模型非常容易。一般情况下,我们会让模型处于主导地位,模型可以完全自由地选择任何学习方向,无论其是否对我们的问题用例有用。有一些工具,比如 teacher-forcing技术可以作为我们模型的指导,指引模型正确的学习方向。





03


 递归神经网络中的Teacher Forcing


在机器学习中,Teacher Forcing的原理完全相同。例如,假设我们要训练一个预测模型,而我们要预测的内容为:Two people reading a book 。

然而,我们的模型在预测第 2 个单词时出了差错,第 1 个和第 2 个预测词分别是 Two 和 birds。

对比后如下:
  • 如果没有 Teacher Forcing,我们就会将单词birds反馈给我们的 RNN,作为输入来预测第 3 个单词(也可能预测错误)。
  • 另一方面,如果我们使用 Teacher Forcing技术,我们就会将单词people 作为RNN 的输入来进行第 3 次预测,从而增加第 3 个单词被正确预测的几率。





04


  优缺点总结

我们对 Teacher Forcing技术的优缺点进行总结,相关优点如下:

使用Teacher Forcing技术后模型的收敛速度更快。在训练初期,模型的预测结果非常糟糕。如果我们不使用Teacher Forcing,模型的隐藏状态就会被一连串错误的预测所更新,错误就会累积,模型就很难从中学习。

相应的缺点总结如下:

在推理过程中,由于通常没有Ground Truth可用,RNN 模型需要将自己之前的预测反馈给自己,以进行下一次预测。因此,训练和推理之间数据分布存在差异,这可能会导致模型性能不佳和不稳定。这在学术界被称为 Exposure Bias。






05


常见问题


  • Question 1:

既然我们通过 RNN 模型传递整个Ground Truth序列,那么该模型是否有可能 "作弊",只记住Ground Truth?

  • Answer 1:  

不是。在step_t,模型的输入是step_ t - 1 的Ground Truth,模型的隐藏状态已由Step_1 至 Step_t - 2 的Ground Truth更新。

  • Question 2:

Teacher Forcing是否在自然语言处理之外使用?

  • Answer 2:  

是的。它可用于任何输出序列的模型,如时间序列预测。

  • Question 3:

Teacher Forcing是否用于递归神经网络之外?

  • Answer 3: 

是的。它用于其他自回归模型,如 Transformer。






点击上方小卡片关注我




添加个人微信,进专属粉丝群!



AI算法之道
一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
 最新文章