我正在尝试使用TensorFlow实现一个LSTM网络来玩游戏,但是我很难将各个部分放在一起(换句话说:从这个例子:A Reccurent Neural Network (LSTM) implementation example using TensorFlow library and MNIST转向我的模型需要)。游戏可以描述如下:
- 有4种不同的状态(s1,s2,s3和s4)。他们在循环中重复自己直到比赛结束。并非所有这些都必须在一个循环中播放,并且一个给定的状态可以在一个循环中连续播放几次
游戏示例(循环由||分隔): start :s1,s2,s3 || s1 || s1,s2,s3,s4 || s1,s1,s2,s2,s2,s3 || s1,s2:结束)
- 每个状态由1D向量表示。没有一个州具有相同的向量长度。
- 代理商可用的操作对于4个州是相同的。
- 周期中的操作取决于当前状态以及此周期中所有先前状态(无Markov属性)以及之前采取的所有操作。
这是一个代表我认为可能适合这个游戏的模型的图表(灵感来自«Karpathy,RNN的不合理有效性,很多例子»):Network's model picture。
问题(与上述MNIST示例的实施差异):
- 如何处理不同单元格的不同大小的输入向量?知道在给定输入向量索引处编码的信息与其他输入向量相比不代表相同的东西(对于所有输入向量都是真的)。
- 如何处理未知的循环长度,以及循环中可能发生或不发生的重复状态?
醇>