我有一个人工神经网络播放井字游戏 - 但它还没有完成。德尔福/帕斯卡(时间差分学习)TD(λ)
我有什么尚未:
- 奖励阵列 “R [T]” 具有每个时间步长或移动 “t” 的整数值(1 =玩家A赢了,0 =拉伸,-1 =玩家B获胜)
- 输入值通过网络正确传播。
- 公式调整权重:
缺少什么:
- 的TD学习:我还需要一个过程,它 “backpropagates” 的网络的误差使用TD(λ)算法。
但我不太了解这个算法。
我的做法至今...
跟踪衰减参数λ应为“0.1”作为远端状态不应该得到那么多的奖励。
两层(输入和隐藏)的学习率均为“0.5”。
这是延迟奖励的情况:奖励在游戏结束前保持“0”。然后,奖励对于第一位玩家的胜利变为“1”,对于第二位玩家的胜利则变为“-1”或者在抽签的情况下变为“0”。
我的问题:
- 如何,什么时候计算净的错误(TD错误)?
- 如何实现错误的“反向传播”?
- 如何使用TD(λ)调整权重?
非常感谢你提前:)
是的,当然,理解TD-lambda会很重要。我真的不明白这一点。当然,我读过萨顿的那本书。这个算法对我来说大致是清楚的。我已经尝试过这种表格映射,但现在我很想用TD-lambda工作来实现一个ANN。 – caw 2011-02-01 21:13:31