• AlphaGo & Model-Based RL


    AlphaGo & Model-Based RL

    在这里插入图片描述

    强化学习解决围棋游戏。


    在这里插入图片描述

    在最初的AlphaGo 采用策略网络和价值网络,先使用behavior cloning学习人类经验训练策略网络(本质是多分类),然后用策略梯度继续训练策略网络,再通过策略网络训练价值网络。

    目前AlphaGo 采用 蒙特卡洛树搜索进行训练策略网络和价值网络。


    在这里插入图片描述

    目前AlphaGo Zero使用 19 × 19 × 17 19\times 19\times 17 19×19×17的状态,保存黑棋和白棋的最近 8 8 8个状态,和当前是该谁走的一个状态。


    1.策略网络

    在这里插入图片描述

    策略网络输出每个动作的概率分布。


    2.Behavior cloning

    在这里插入图片描述

    从人类棋盘的数据集,模仿人类的经验,本质是361个类别,进行分类,不属于强化学习,而属于模仿学习。


    在这里插入图片描述
    在这里插入图片描述


    在这里插入图片描述

    只使用便相当于6-9段的棋手,但是如果遇到在训练集中未见到的 s t s_t st,且状态的可能性十分巨大,动作 a t a_t at可能是坏的,并且这种坏的reward会不断积累,导致最终输掉。因此采用RL就非常有必要。


    3.策略网络的强化学习

    在这里插入图片描述

    采用自我对抗的方式,Agent使用最新参数的策略网络选择动作,而对手Opponent采用策略网络的旧参数选择动作。

    在这里插入图片描述

    我们定义 r t r_t rt t t t时刻的奖励, u t u_t ut表示回报,若 r T = 1 r_T=1 rT=1,说明第一步到第 T T T步都是好棋,所以 u 1 = u 2 = ⋯ = u T = 1 u_1=u_2=\dots=u_T=1 u1=u2==uT=1,反之 u 1 = u 2 = ⋯ = u T = − 1 u_1=u_2=\dots=u_T=-1 u1=u2==uT=1


    在这里插入图片描述

    然后采用策略梯度上升更新参数 θ \theta θ


    在这里插入图片描述


    4.价值网络

    在这里插入图片描述

    这里的价值网络近似的是 V π ( s ) V_\pi(s) Vπ(s)函数,与之前的actor-critic算法里不同。

    也就是 U t U_t Ut的期望,用来表示在策略 π \pi π下,状态 s s s的胜率。


    在这里插入图片描述

    因为两个网络的相似,因此卷积层可以共用。


    在这里插入图片描述

    采用梯度下降更新 w w w


    5.蒙特卡洛树搜索

    在这里插入图片描述

    根据策略函数选取若干个较优的 a a a,然后采用树搜索,类似 d f s dfs dfs,进行自我对抗直到结束,然后重复多次。给每个动作 a a a打分,选取打分最高的执行动作 a a a


    在这里插入图片描述

    具体步骤如上。


    在这里插入图片描述

    注意这里由 M C T S MCTS MCTS计算的 Q ( a ) Q(a) Q(a)是一张表,叫做动作价值表,组成每个动作打分的一部分。

    N ( a ) N(a) N(a)表示动作 a a a至今执行的次数。

    统计完所有的动作的打分。

    选择打分最大的动作,假装执行。

    在这里插入图片描述

    然后进行自我对抗,不断假想执行动作。


    在这里插入图片描述

    然后计算奖励 r T r_T rT


    在这里插入图片描述

    然后计算 V ( s t + 1 ) V(s_{t+1}) V(st+1) ,等于价值网络输出和奖励 r T r_T rT的均值。


    在这里插入图片描述

    注意每个动作存在多个 V ( s t + 1 ) V(s_{t+1}) V(st+1),因此我们采用平均值表示动作的价值 Q ( a t ) Q(a_t) Q(at)


    在这里插入图片描述

    然后根据 N ( a ) N(a) N(a)选择最大实际执行该动作。


    MCTS总结

    在这里插入图片描述
    在这里插入图片描述


    6.新版的AlphaGo Zero

    在这里插入图片描述

    与老版本不同的时,完全不依赖于人类经验,并且在策略网络也是用MCTS训练。


    在这里插入图片描述

    事实证明, 人类经验对于AlphaGo的学习有副作用。

    但是不能说人类经验对任何学习都无用,比如在医疗和自动驾驶方向,采用behavior cloning节省大量成本,不需要真实实验,避免不必要的危险和码分。


    Zero策略网络的训练方法

    在这里插入图片描述

  • 相关阅读:
    代码整洁之道:程序员的职业素养(十六)
    Ansible离线部署 之 Zabbix
    使用JavaScript实现无限滚动的方法
    Python-面向对象
    行业安全解决方案|腾讯打造汽车一体化安全防护,助力车企数字化安全
    微机原理_9
    Rust 进阶学习
    VR云游带你玩转智慧文旅,解决景区营销痛点
    ant的echo任务
    Quartz,更优雅地管理你的定时任务
  • 原文地址:https://blog.csdn.net/weixin_45750972/article/details/126782828