ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Actor-Critic Method

Actor-Critic Method 目录1. Value Network and Policy Network1.1 State-value function2. 更新策略2.1 用TD算法更新价值网络2.2 用policy gradient算法更新策略网络2.1 更新策略总结3. 动作价值函数和状态价值函数的意义3.1 Action-value function3.2 State-value function3.3 总结1. Value Network and Policy Network1.1 State-value function对于公式中的 policy函数和动作价值函数我们是不知道的因此使用两个神经网络来近似这两个函数。actor-critic算法就是价值学习和策略学习结合起来。ActorPolicy Network用来控制agent运动可看作运动员。使用一个神经网络来近似为网络的参数。CriticValue Network 用来给动作打分可看作裁判。使用一个神经网络来近似为网络的参数。学习的目的让Actor的分数越来越高并让Critic的打分越来越准确对状态价值函数的估计如下公式输入状态s即游戏中的超级马里奥截图输出所有可能的动作概率分布收集所有的动作概率分布所有动作概率分布的和为1使用softmax进行激活让最后输出的和为1输入状态s和动作a输出状态价值函数对动作a的打分即说明在状态s下做出动作a是好还是坏即就是裁判给体操运动员打分来评价动作的好坏训练两个网络也即更新这两个网络的参数。更新是为了提升的值更新是为了使得网络对于动作的打分更加准确。如何使状态价值函数对于动作的打分更加精准这依赖于环境的奖励reward环境给出的奖励越大说明网络的打分更加精确。2. 更新策略观测状态根据 policy 函数概率分布随机抽样动作得到Agent执行动作环境给出当前动作的打分以及下一个状态在价值网络中使用TD算法更新参数在策略网络中使用policy gradient算法更新参数2.1 用TD算法更新价值网络使用动作价值函数对动作和动作打分即计算和。计算TD目标此时计算的回报相较于计算得到的奖励更加精确因为此时的​中的当前奖励已知是对未来所有的奖励的估计。计算损失。使用梯度下降更新参数。2.2 用policy gradient算法更新策略网络利用蒙特卡洛近似计算期望也就是随机抽一个或很多样本用随机样本来近似计算期望。下面是用蒙特卡洛近似计算期望的流程。1.根据概率密度函数随机抽样得到一个动作。2.计算由于且是根据概率密度函数随机抽样得到的所以是的无偏估计。3.所以用当作的近似。有了前面策略学习的蒙特卡洛近似下面为更新参数的步骤记计算策略梯度策略梯度等于对函数求期望根据 policy 函数概率分布随机抽样动作得到是对期望的无偏估计因此直接使用对进行随机梯度上升2.1 更新策略总结观察到状态将带入策略函数中得到下一步所有动作的概率分布然后对该动作的概率分布进行随机抽样得到动作 a_tAgent执行动作环境给出当前动作的打分以及下一个状态利用状态​根据策略函数概率分布随机抽样下一步动作得到。但并不会真的让Agent执行。此时分别计算两个动作和状态下的动作价值函数的值以及使用TD算法计算差值计算价值网络的导数用TD算法更新价值网络的参数计算策略网络的导数用梯度上升算法更新策略网络的参数终极目标就是学习策略网络而其中的动作价值函数起辅助作用帮助训练策略网络。因此在训练好模型后我们主要是利用其中的策略函数来控制Agent执行什么动作。3. 动作价值函数和状态价值函数的意义3.1 Action-value function表示Agent在状态执行动作之后按照策略选择后续所有动作所能得到的未来累积回报的期望。3.2 State-value function表示Agent处于状态所有动作都按照策略采样执行所能得到的未来累积回报的期望。3.3 总结两者的核心区别就是动作价值函数是采取动作以后对来为累计期望回报的计算。而状态价值函数是在状态时未采用动作计算所有可能动作的价值然后按照加权平均计算未来累计期望回报。
返回列表