[问题] Sequence to Sequench LSTM echo numbers

楼主: tmacfly (LoliMania萝莉狂热)   2018-01-04 13:57:56
大家好 本版首po
最近在学习Encoder-Decoder LSTM,看到一个范例是使用这个model去echo一个序列中前
几个数字
举例:
Xtrain ytrain
[4, 1, 12, 5, 3, 9] [4, 1, 0, 0, 0, 0]
[3, 8, 4, 1, 0, 10] [3, 8, 0, 0, 0, 0]
[7, 11, 9, 5, 1, 8] [7, 11, 0, 0, 0, 0]
之后加上Bidirectional和Attention,效能有比原本的大幅提升,但现在我想把这个问题
做一点修改,想要echo的部分是某个指定连续的两个数字,但这指定的连续两个数字在每
一个序列中的位置不一样
举例:
假设想要的partial sequence是[16, Z],Z是任意数字,但就是接在16后面,所以Xtrain
和ytrain可能长这样
Xtrain ytrain
[4, 1, 12, 5, 3, 9, 16, 7, 0, 11] [16, 7, 0, 0, 0, 0, 0, 0, 0, 0]
[5, 16, 12, 3, 9, 10, 2, 1, 8, 7] [16, 12, 0, 0, 0, 0, 0, 0, 0, 0]
[6, 3, 10, 17, 16, 2, 5, 9, 11, 4] [16, 2, 0, 0, 0, 0, 0, 0, 0, 0]
Xtrain和ytrain会先做one-hot encode,但如果这样会train不起来
我想说会不会是ytrain的样子要做修改,但用位置做标记也不合理
把ytrain改成[0, 0, 0, 0, 0, 0, 16, 7, 0, 0]再去做one-hot encode,也train不起来
我目前想的是ytrain的样子要做修改,然后才fit到model里,但目前就是卡住了,不知道
该怎么修改
希望有人能提供任何意见
附上范例连结:
https://machinelearningmastery.com/encoder-decoder-attention-sequence-to-sequence-prediction-keras/
作者: bibo9901 (function(){})()   2018-01-04 14:19:00
世界上有这么多真实的时序资料 为什么要做这么怪的题目语言模型、语音辨识、甚至MNIST都能用RNN做 做这干嘛?就算硬做, 这个教学从建模到实作技巧都....有进步空间
作者: Kazimir (Kazimir)   2018-01-04 19:22:00
我有点怀疑seq2seq是不是真的能做到你想要的..
作者: liang1230 (小良)   2018-01-04 23:40:00
用pointer network试试 只是你要给的变成头尾的位置
作者: aszx4510 (wind)   2018-01-05 01:55:00
请教一下dataset大小?
作者: wilson85771 (HOW)   2018-01-06 00:09:00
如果每次都是找16的话,就直接用16去做attention

Links booklink

Contact Us: admin [ a t ] ucptt.com