1

这些天我研究了一些关于 RNN 和教师强迫的东西。但是有一点我想不通。什么是读出和教师强迫的原则?我们如何将 RNN 从上一个时间步的输出(或基本事实)反馈到当前时间步,通过将输出与这一步的输入一起使用作为特征,或者将输出作为这一步的单元状态?我读过一些论文,但仍然让我感到困惑。o(╯□╰)o。希望有人能帮我解答。</p>

4

1 回答 1

4

Teacher forcing 是使用 ground truth 作为每个时间步的输入的行为,而不是网络的输出,下面是一些伪代码来描述这种情况。

x = inputs --> [0:n]
y = expected_outputs --> [1:n+1]
out = network_outputs --> [1:n+1]


teacher_forcing():
    for step in sequence:
        out[step+1] = cell(x[step])

正如您所看到的,它不是在前一个时间步将网络的输出作为输入提供,而是提供了基本事实。

对于不包含隐藏到隐藏连接的模型,例如 GRU(门控循环单元),最初的动机是避免 BPTT(通过时间的反向传播)。

它也可以用于培训制度,其想法是从培训开始到结束,您会慢慢减少教师强迫的数量。这已被证明对网络具有正则化效果。此处链接的论文有进一步阅读或深度学习书也很好。

于 2017-06-28T11:27:19.650 回答