gpt4 book ai didi

artificial-intelligence - Delphi/Pascal 中的 TD(λ)(时间差分学习)

转载 作者:行者123 更新时间:2023-12-01 04:13:32 25 4
gpt4 key购买 nike

我有一个可以玩 Tic-Tac-Toe 的人工神经网络 - 但它还没有完成。

我还没有:

  • 奖励数组“R[t]”,每个时间步长或移动“t”的整数值(1=玩家 A 获胜,0=平局,-1=玩家 B 获胜)
  • 输入值通过网络正确传播。
  • 调整权重的公式:

  • enter image description here

    缺少什么:
  • TD 学习:我仍然需要一个使用 TD(λ) 算法“反向传播”网络错误的过程。

  • 但我真的不明白这个算法。

    到目前为止我的方法...

    轨迹衰减参数 λ 应为“0.1”,因为远端状态不应获得那么多奖励。

    两层(输入层和隐藏层)的学习率都是“0.5”。

    这是一个延迟奖励的情况:奖励保持“0”直到游戏结束。然后,第一个玩家获胜时奖励变为“1”,第二个玩家获胜时奖励变为“-1”,平局时奖励变为“0”。

    我的问题:
  • 您如何以及何时计算网络误差(TD 误差)?
  • 如何实现错误的“反向传播”?
  • 如何使用 TD(λ) 调整权重?


  • 非常感谢您提前:)

    最佳答案

    如果您认真对待这项工作,那么了解 TD-lambda 将非常有帮助。 Sutton 和 Barto 的书“强化学习”是 available for free in HTML format并详细介绍了该算法。基本上,TD-lambda 所做的是在游戏状态和游戏结束时的预期奖励之间创建映射。随着游戏的进行,更有可能导致获胜状态的状态往往会获得更高的预期奖励值。

    对于像井字棋这样的简单游戏,最好从表格映射开始(只需跟踪每个可能游戏状态的预期奖励值)。然后,一旦您开始工作,您就可以尝试使用 NN 进行映射。但我建议先尝试一个单独的、更简单的 NN 项目......

    关于artificial-intelligence - Delphi/Pascal 中的 TD(λ)(时间差分学习),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4845489/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com