Actor-Critic Method

Actor-Critic Method_人工智能

它是Value-Based 和 Policy-Based Methods 两种算法的结合。


1.目标函数

Actor-Critic Method_深度学习_02

Actor-Critic Method_标量_03 :状态价值函数State-Value Function,表示了当前状态Actor-Critic Method_人工智能_04所能得到的回报return的期望。

Actor-Critic Method_标量_05 策略函数,即在状态Actor-Critic Method_深度学习_06下执行动作Actor-Critic Method_深度学习_07的概率分布。

Actor-Critic Method_机器学习_08 价值函数,即在状态Actor-Critic Method_深度学习_06下执行动作Actor-Critic Method_深度学习_07得到的奖励 (reward) 之和。

该算法的目标函数是状态价值函数State-Value Function。

若状态 Actor-Critic Method_深度学习_07 符合离散随机变量的分布,则可用所有的状态Actor-Critic Method_深度学习_07

因为Actor-Critic Method_深度学习_13都未知,因此我们考虑用两个网络近似表示Actor-Critic Method_深度学习_13,这两个网络分别是actor,critic ,即策略网络和价值网络。

策略网络使用Actor-Critic Method_特征向量_15 近似Actor-Critic Method_特征向量_16Actor-Critic Method_机器学习_17为策略网络的训练参数。

价值网络使用Actor-Critic Method_人工智能_18近似Actor-Critic Method_人工智能_19Actor-Critic Method_标量_20为价值网络的训练参数。


2.网络结构

2.1 策略网络(Policy Network)

Actor-Critic Method_标量_21

输入为状态Actor-Critic Method_深度学习_06,通过卷积层得到特征向量,然后通过全连接层得到指定维度的向量(与状态个数相关),然后通过 Softmax 激活函数得到动作的概率分布。


2.2 价值网络(Value Network)

Actor-Critic Method_人工智能_23

输入为状态Actor-Critic Method_深度学习_06和动作Actor-Critic Method_深度学习_07,状态Actor-Critic Method_深度学习_06经过卷积层得到对应的特征向量,动作Actor-Critic Method_深度学习_07(若为离散则用ont-hot编码表示)经过全连接层得到对应的特征向量。然后两者进行拼接再经过全连接层得到标量函数价值Actor-Critic Method_人工智能_18


2.3 拟人化

actor比作运动员,critic比作裁判。运动员做一系列的动作,裁判负责打分,运动员根据裁判打分不断精进自己的动作,同时裁判根据规则不断使自己的打分更加精准。


3.训练网络

Actor-Critic Method_标量_29

更新策略网络的Actor-Critic Method_机器学习_17 增加状态价值函数Actor-Critic Method_特征向量_31

其监督的标签完全来自价值网络,也就是裁判的打分。

更新价值网络的Actor-Critic Method_标量_20 用来更准确估计奖励之和return

使得裁判的打分更加精确,其监督的标签完全来自环境
(environment)的奖励reward


Actor-Critic Method_人工智能_33

具体步骤如下:

1.观察得到状态Actor-Critic Method_人工智能_34

2.根据策略网络随机抽样动作Actor-Critic Method_人工智能_35

3.执行动作Actor-Critic Method_人工智能_35,从环境中得到Actor-Critic Method_深度学习_37和奖励Actor-Critic Method_人工智能_38

4.使用TD算法更新价值网络参数Actor-Critic Method_标量_20

5.使用策略梯度算法 (policy gradient) 更新策略网络参数Actor-Critic Method_机器学习_17


3.1 TD算法更新value network

Actor-Critic Method_机器学习_41

首先分别计算参数Actor-Critic Method_特征向量_42Actor-Critic Method_标量_43时刻的标量价值Actor-Critic Method_特征向量_44Actor-Critic Method_机器学习_45时刻的标量价值Actor-Critic Method_标量_46

Actor-Critic Method_标量_47为TD target 目标函数,Actor-Critic Method_机器学习_48

Actor-Critic Method_人工智能_38是外界获得的真实奖励,Actor-Critic Method_人工智能_50 是折扣率Actor-Critic Method_标量_51,因为往后对应的奖励影响会变化。

采用目标函数Actor-Critic Method_标量_47与估计的值Actor-Critic Method_特征向量_53 求方差,类似极大似然估计作为Actor-Critic Method_标量_54损失函数。

沿梯度下降方向更新参数Actor-Critic Method_标量_20Actor-Critic Method_深度学习_56


3.2 策略梯度算法更新policy network

Actor-Critic Method_机器学习_57

定义函数Actor-Critic Method_标量_58为策略函数取对数后在Actor-Critic Method_机器学习_17的偏导与标量价值的乘积。

可以计算出状态价值函数Actor-Critic Method_特征向量_31Actor-Critic Method_机器学习_17 的偏导等于Actor-Critic Method_机器学习_62Actor-Critic Method_机器学习_63下的期望。

因此可以用蒙特卡洛近似模拟梯度。

采用随机梯度上升,Actor-Critic Method_特征向量_64


3.3 更新参数图示

3.3.1 更新actor

Actor-Critic Method_机器学习_65

3.3.2 更新value

Actor-Critic Method_人工智能_66


4.算法总结

Actor-Critic Method_特征向量_67


Actor-Critic Method_人工智能_68


5.两个网络的职责

Actor-Critic Method_机器学习_69