什么是可变长度序列输入到递归神经网络(RNN)的完整工作示例(不是片段)?
例如PyTorch据说可以实现可变长度序列作为RNN的输入,但似乎没有完整工作代码的例子。
相关: https://github.com/pytorch/pytorch/releases/tag/v0.1.10 https://discuss.pytorch.org/t/about-the-variable-length-input-in-rnn-scenario/345
答案 0 :(得分:0)
但是,您在该页面上看到“可变长度”的原因是因为它们处理:
a b c d e
a b c d e f g h
a b c d
a b
as
a b c d e 0 0 0
a b c d e f g h
a b c d 0 0 0 0
a b 0 0 0 0 0 0
他们将所有'空'变量转换为0
。这是有道理的,因为0
不会添加任何内容,无论权重如何,都会将隐藏层网络化为anything*0 = 0
。
所以基本上,你可以有'可变长度'输入,但你必须定义某种最大尺寸;所有小于该大小的输入都应填充零。
如果您要对句子进行分类,可以使用LSTM / GRU网络按顺序处理输入。