我正在尝试创建一个 AI 来使用 LSTM 玩 3D 近战格斗游戏。NN 接收敌人关节(例如头、手、腿)的相对位置作为输入,并且应该为每个时间步输出正确的运动。目前,我正在使用由 Keras 制作的 vanilla 前馈 NN,它表现良好,但它需要来自多个时间步长的信息才能更有效。
我现在正在尝试为这个问题实现 LSTM。我想在每个时间步接收一个输出,而不是在接收输出之前输入整个数据序列。
我相信有状态的 LSTM 适合这项任务,但我不确定如何训练它以及何时重置状态。理想情况下,人工智能不会有固定数量的记忆时间步长,并且能够在对每个时间步长进行实时预测时不断回顾,而不会在战斗期间突然重置其状态。
我的训练数据是每个时间步长的敌人位置(输入)和击键(输出)的连续序列。我将如何构建和训练 LSTM 以从这些数据中学习,以便使用 Keras 在每个时间步进行实时预测?