我有一个可以玩井字游戏的人工神经网络——但它还不完整。
我还没有:
- 奖励数组“R[t]”,每个时间步或移动“t”的整数值(1=玩家 A 获胜,0=平局,-1=玩家 B 获胜)
- 输入值通过网络正确传播。
- 调整权重的公式:
什么不见了:
- TD 学习:我仍然需要一个使用 TD(λ) 算法“反向传播”网络错误的程序。
但我真的不明白这个算法。
到目前为止我的方法...
轨迹衰减参数 λ 应为“0.1”,因为远端状态不应获得那么多奖励。
两个层(输入层和隐藏层)的学习率都是“0.5”。
这是一个延迟奖励的情况:奖励保持“0”直到游戏结束。然后奖励变为“1”表示第一个玩家获胜,“-1”表示第二个玩家获胜,或“0”表示平局。
我的问题:
- 您如何以及何时计算网络误差(TD 误差)?
- 如何实现错误的“反向传播”?
- 如何使用 TD(λ) 调整权重?
提前非常感谢你:)