赞
踩
actor是策略网络用来指导智能体去运动,可以看作运动员。critic是价值网络用来给动作打分可以看作裁判。
以超级玛丽为例搭建两个网络:
价值网络有两个输入:状态s、动作a。分别使用卷积层和全连接层从输入中提取特征,得到两个特征向量,将两个特征向量拼接成一个更高的特征向量,使用一个全连接层输出一个实数,这个实数就是裁判给运动员的分数。这个分数说明处在状态s下采用动作a 是好还是坏。价值网络和策略网络可以共享卷积层的参数,也可以和策略网络独立,各自有各自的参数。同时训练策略和价值网络就被称为actor-critic方法
需要学习两个网络,学习策略网络π是为了让运动员得到更高的平均分,也就是V函数的值更大。为了学习策略网络π我们需要价值网络q作为裁判,给运动员的表现打分,学习价值网络q是为了让裁判打分更加的精准,通过学习两个网络,运动员动得分越来越高,裁判打分越来越准确。
对两个网络做一次更新如下步骤:
(1)观察当前状态st
(2)将st作为输入用策略网络π来计算概率分布,随机抽样得到动作at
(3)智能体执行动作at,环境更新状态为st+1,获得奖励rt
(4)使用TD算法更新价值网络的参数W
(5)使用策略梯度算法更新策略网络的参数
使用价值网络分别给at和at+1打分,这里的动作是策略网络π随机抽样得到的。
计算TD target
损失函数
使用梯度下降来更新参数使损失变小
定义g(a,θ)
策略梯度=对函数g求期望
为了让运动员做的动作越来越好,请裁判来帮忙。
运动员做出一个动作,裁判根据状态s和动作a打一个分数记为q。裁判将分数告诉运动员,这样运动员就有办法改进。
这位运动员要根据裁判打分q来改进自己技术,这里的技术就是神经网络中的参数。它通过状态、动作、打分q来近似计算出梯度,根据梯度上升更新参数。
最开始价值网络是随机初始化的,意味着裁判什么也不懂打分全靠瞎猜,所以要改进裁判,让其打分越来越准。裁判要根据奖励r来提高打分水平。
观测状态st,使用策略网络计算概率分布,使用随机抽样得到动作at
Agent执行at;环境会更新新的状态st+1和奖励rt
将新的状态作为输入用策略网络计算出新的概率,随机抽样得到
(这个动作agent不会做)
计算两次价值网络的输出qt和qt+1
计算TD error
对价值网络求导
使用TD算法来更新价值网络
对策略网络π求导
使用梯度上升来更新策略网络
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。