机器学习与深度学习系列连载: 第三部分 强化学习(十三) 深度强化学习-策略梯度与OpenAI的当家算法:PPO(1)

策略梯度与OpenAI的当家算法:PPO(1)

Proximal Policy Optimization (PPO) 已经是OpenAI 的强化学习的默认算法。可见它的威力非同一般。

我们先看一下它能做什么?
没错,可以训练机器人跑步。
image from https://youtu.be/gn4nRCC9TwQ
在这里插入图片描述

没错,可以训练机器人踢球。

image from
在这里插入图片描述

在正式进入PPO之前,我们先从策略梯度的复习开始。

1. 策略梯度 Policy Gradient

Policy ? is a network with parameter ?
• Input: the observation of machine represented as a
vector or a matrix
• Output: each action corresponds to a neuron in output layer

测了π就是一个带参数集合 θ \theta θ的神经网络

  • 输入: 对于环境的观察的向量
  • 输出: 每一个动作action

以AI游戏为例:
在这里插入图片描述

(1) 旅程 Trajectory

在强化学习中,旅程Trajectory,是actor 与环境进行互动的数据集合。
在这里插入图片描述
它出现的最大概率是:

在这里插入图片描述

(2) 奖励 Reward

奖励是一种期望:
在这里插入图片描述

(3) 策略梯度 Policy Gradient

如何求得奖励期望最大化,策略梯度来是有力的工具。

为了加深理解,我们先看一个公式:

在这里插入图片描述

策略梯度的求解:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

策略梯度其实就是:

  1. 用策略 π θ \pi_{\theta} πθ 与环境互动好多个?,收集数据(数据只能用一次)
  2. 收集的数据用策略梯度更新 θ \theta θ 产生新的策略
  3. 然后返回1

在这里插入图片描述

(3) 策略梯度 Policy Gradient 如何落地?

看起来策略梯度用代码实现是颇费工夫的,但是实际上,如果机器学习原理掌握比较好的同学,一眼可以看出玄机。

根据s生成a的过程,可以看做是分类的过程。经典的分类问题loss函数就是crossentropy:
在这里插入图片描述

2. 策略梯度 Policy Gradient 宝典

(1) 增加基础参考值:Add a Baseline

每次选择action的时候,Reward :R? 都是大于等0的数,按照我们的思路,R? 大的sample的概率就高,反之sample到的概率就小。

我们需要更加清晰的判断哪个行为的优劣,引入baseline可以让R? 有正,有负。

在这里插入图片描述

(2) 调整奖励范围

还是以游戏举例:整场游戏中的R? 不能代表某个状态s下选择a的奖励。我们需要针对每个行为,进行奖励。

在这里插入图片描述

只计算从当前action a开始到整场游戏结束的reward。

在这里插入图片描述

(3) Advantage Function

我们定义离开当前action的state的reward,越远,表示action的影响越小。这样我们就得到了 Advantage Function

在这里插入图片描述

= 在这里插入图片描述

本专栏图片、公式很多来自David Silver主讲的UCL-Course强化学习视频公开课和台湾大学李宏毅老师的深度强化学习课程,在这里,感谢这些经典课程,向他们致敬!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值