【发布时间】:2017-02-01 07:57:10
【问题描述】:
我正在使用 Tensorflow 的 seq2seq 模型[1] 实现一个聊天机器人,并为其提供来自 Ubuntu 对话语料库的数据。我想将使用标准 LSTM 单元的 RNN 与 Kalchbrenner 等人 [2] 中描述的 Grid LSTM 单元进行比较。
我正在尝试在第 4.4 [2] 节中描述的翻译模型中实现 Grid LSTM 单元,但我正在努力处理双向部分。
我尝试过使用 BidirectionalGridLSTMCell,但我不确定 num_frequency_block 是什么意思。他们在论文中没有提到这一点。有谁知道 num_frequency_block 是什么意思?在 api 文档中它说:
num_frequecy_blocks:[必需] 覆盖start_freqindex_list 和end_freqindex_list 定义的整个输入特征拆分所需的频率块列表。
此外,我尝试创建自己的单元格。首先我对输入进行正向处理,然后我反转输入,然后进行反向处理。但是当我连接这些结果时,形状会发生变化。例如。当我尝试以 32 的批处理大小运行网络时,我收到此错误: ValueError:尺寸必须相等,但分别为 64 和 32 如何在不改变形状的情况下连接结果?这可能吗?
关于如何实现双向网格 LSTM,是否有人有任何其他提示?
[1]https://www.tensorflow.org/tutorials/seq2seq/ [2]https://arxiv.org/abs/1507.01526
【问题讨论】:
-
你有没有计算出 num_frequency_blocks ?我遇到了同样的问题,我在网上的任何地方都找不到明确的答案。
-
不,抱歉,我还没弄明白..
标签: grid tensorflow lstm chatbot bidirectional