热线电话:13121318867

登录
2019-04-16 阅读量: 574
如何优化seq2seq的输入

顾名思义,seq2seq将一系列单词(句子或句子)作为输入,并生成单词的输出序列。它通过使用递归神经网络(RNN)来实现。虽然很少使用RNN的香草版本,但使用更高级的版本,即LSTM或GRU。这是因为RNN存在梯度消失的问题。LSTM用于Google提出的版本。它通过在每个时间点采用2个输入来开发单词的上下文。一个来自用户,另一个来自其先前的输出,因此名称循环(输出作为输入)。

许多优化导致seq2seq的其他组件:

  • 注意:解码器的输入是一个向量,它必须存储有关上下文的所有信息。这成为大序列的问题。因此,应用注意机制,其允许解码器选择性地查看输入序列。
  • 波束搜索:选择最高概率词作为解码器的输出。但由于贪婪算法的基本问题,这并不总能产生最好的结果。因此,应用波束搜索,其建议在每个步骤可能的翻译。这样就完成了一个顶级k结果的树。
  • 跳跃:在seq2seq模型中可以使用可变长度序列,因为0的填充对输入和输出都进行了填充。但是,如果我们设置的最大长度为100且句子长度仅为3个字,则会造成巨大的空间浪费。所以我们使用bucketing的概念。我们制作不同大小的桶,如(4,8)(8,15)等等,其中4是我们定义的最大输入长度,8是定义的最大输出长度。
0.0000
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子