老饼讲解:一步一步上手深度学习
好了,这一节我们来了解一下RNN的延迟输出策略,其实它在许多教材中并没有提及,但我认为它非常有用,也非常有趣,值得我们花个几分钟了解一下,所以这里就来提提RNN的延迟输出策略。
其实大家真正使用RNN时,就会自然地注意到,在一些时间序列问题中对输出的实时性要求并不是那么的严格,这时候,我们就可以通过延迟输出来增加模型的准确度。
比较常见的,在语音识别或中英翻译中,对实时性要求就不那么严苛,那么就可以将输出延迟一些,这样就可以获得更多输入信息,从而增加准确率:

例如,输入"我偷"时,如果直接对"我偷"进行预测,可能会把"偷"理解为"偷东西"的"偷",但到了第6时刻,获得的信息是"我偷偷告诉你"时,就不会认为是"偷东西"了,所以延迟预测可以获取更多上下文信息,增加准确度。
延迟输出只是一种解决问题的思路,并不需要对RNN模型作出任何改变,只需要训练与预测时,将1至t+m时刻的数据用来预测t+1时刻的数据就可以了。
延迟输出在《Bidirectional Recurrent Neural Networks 》中提到,文中示图如下

好了,其实延迟输出就只是一种简单、实用的策略,了解一下是不是非常有趣?我想,就算不说,大家也会想到的,它的有趣就在于我们谁都会想到,但却不能1秒想到,至少要想个7秒,想到时可能还觉得自己真是聪明,但实际这都人尽皆知了,我最喜欢这种不废脑、又实用的东西了。
评论