用于向量到字符序列翻译的 LSTM
LSTM for vector to character sequence translation
我希望构建一个序列到序列模型,该模型接受 2048 长的 1 和 0 向量(例如 [1,0,1,0,0,1,0,0, 0,1,...,1] )作为我的输入并将其转换为我已知的(可变长度)1-20 个长字符的输出(例如 GBNMIRN、ILCEQZG 或 FPSRABBRF)。
我的目标是创建一个模型,该模型可以接受一个新的 2048 长的 1 和 0 向量,并预测输出序列的样子。
我查看了一些 github 存储库,例如 this and this。
但我不确定如何解决我的问题。是否有任何项目做了类似于 this/how 的事情,我可以用目前的 seq2seq 模型或 LSTM 来实现吗? (python 实施)
我在 python 中使用 keras 库。
您的输入很奇怪,因为它是 binary-code。不知道模型会不会好用
首先,您需要为输入和输出添加开始和结束标记,以指示边界。然后设计每个时间步的区域模块,包括如何使用隐藏状态。您可以尝试如下简单的 GRU/LSTM 网络。
详情可以试试Encoder
和解码器
此外,你可以看看论文注意力机制Neural Machine Translation by Jointly Learning to Align and Translate。结构如下。
详情
虽然您使用的是 Keras,但我认为阅读 PyTorch 代码会有所帮助,因为它简单易懂。 PyTorch tutorial
中给出的教程
我希望构建一个序列到序列模型,该模型接受 2048 长的 1 和 0 向量(例如 [1,0,1,0,0,1,0,0, 0,1,...,1] )作为我的输入并将其转换为我已知的(可变长度)1-20 个长字符的输出(例如 GBNMIRN、ILCEQZG 或 FPSRABBRF)。
我的目标是创建一个模型,该模型可以接受一个新的 2048 长的 1 和 0 向量,并预测输出序列的样子。
我查看了一些 github 存储库,例如 this and this。
但我不确定如何解决我的问题。是否有任何项目做了类似于 this/how 的事情,我可以用目前的 seq2seq 模型或 LSTM 来实现吗? (python 实施)
我在 python 中使用 keras 库。
您的输入很奇怪,因为它是 binary-code。不知道模型会不会好用
首先,您需要为输入和输出添加开始和结束标记,以指示边界。然后设计每个时间步的区域模块,包括如何使用隐藏状态。您可以尝试如下简单的 GRU/LSTM 网络。
详情可以试试Encoder
和解码器
此外,你可以看看论文注意力机制Neural Machine Translation by Jointly Learning to Align and Translate。结构如下。
详情
虽然您使用的是 Keras,但我认为阅读 PyTorch 代码会有所帮助,因为它简单易懂。 PyTorch tutorial
中给出的教程