如何将离散类别变量输入RNN?

时间:2019-05-07 01:39:55

标签: tensorflow optimization recurrent-neural-network seq2seq

我正在尝试编写一个RNN模型来学习2。基本上,如果我有一个标量值函数f(x,y,z),其中x是集合S1的某个元素,y是集合S2的某个元素,z是集合S3的某个元素,而我的RNN将依次生成查询以尝试优化f。

我想训练一个可以执行这些类型的离散黑箱优化的RNN,例如,我可以将先前的输入x_ {t}表示为大小| S1 |,...和依此类推,可能会有权重矩阵W1,W2,W3将这3种编码投影到相同的维d中,并将这3种d维编码作为输入一个接一个地传递到RNN,然后RNN会一一输出(然后解码)为下一个时间步的可能查询(x_ {t + 1},y_ {t + 1},z_ {t + 1})。

这样做的好处是,我可以将基本RNN单元重用于另一个函数,该另一个函数可能具有完全不同的输入域,例如g(a,b,c,d),因为我可以进行循环RNN现在是3次,而不是3次。RNN只能代表某种“通用算法,而不考虑输入大小”。但是,这意味着我还必须制作4个新的权重矩阵,才能将新变量投影到维d中。

有没有办法使它更好?例如我不需要为每个问题更改或制作新的Tensorflow权重的某种配置?

0 个答案:

没有答案