繁体   English   中英

当 RNN 可以采用动态输入序列时,为什么我们对句子使用填充?

[英]Why we use padding for sentences, when RNN can take dynamic sequence of input?

在阅读问题时,请考虑左图(折叠图像)

在我们展开 RNN 的图中,我们将 T 时间戳的 output 传递到下一个 T+1 时间戳,这是到同一个 RNN 或者我们将 T 时间戳的 output 发送回同一个神经网络,所以我们在同一个神经/神经元上循环这个过程。 让我们将架构视为多对一 RNN。

因此,句子的长度可以是任意长度,因为 .network 可以接受任意数量的输入(任意数量的时间戳)并循环将前一个 output 传递到下一个时间戳。 那么当网络可以接受任意长度的句子并且只是循环时,填充的需要是什么?
例如: 1.) 他是个好孩子 2.) 中本聪应该获得经济学的崇高奖项。

在此处输入图像描述

  • 在这2个句子中,The.network可以把第1个句子分别传递给T,T+1,T+2,T+3个时间戳
  • 在第 2 句中,.network 可以将其传递给 T,T+1,T+2,T+3,T+4,T+5...。因此,.network 可以将任意长度的句子传递给.network(这只是将时间戳的 output 传回给下一个时间戳的 .network)。 什么是Need for padding sentences, When.network is looping?

如果以上信息不充分,我可以适当地阐述问题。 请让我知道如果问题没有被正确理解

如果我们想分批训练它们,则需要填充。 批次是固定大小的矩形张量。 这不适用于不同长度的句子,这就是为什么您可以将句子填充或截断为统一长度的原因(请参见此处)。

填充可以添加到句子的开头或结尾。 是一篇针对多对一任务比较这两种方法的论文。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM