笔记:ML-LHY-23: Deep Reinforcement Learning

介绍强化学习的概念
介绍Policy-based Approach算法,关键在于如何理解用采样近似求期望。
pdf 视频1 视频2

Scenario of Reinforcement Learning

强化学习大致流程
在这里插入图片描述
在这里插入图片描述
强化学习:
输入:Observation(State)
Actor/Policy 产生Action
输出:Action (改变环境)
环境反馈 Reward

Policy-based Approach

在这里插入图片描述
参照机器学习3个步骤:
在这里插入图片描述

Step 1: define a set of function (Neural network as Actor)

在这里插入图片描述
输入:图像 最后转向量或者矩阵输入
输出:对应输入的action

使用神经网络的好处:

  1. 输入总有输出
  2. NN的特性,比如CNN还有最大池化这些
    所以是比较泛化(generalization)的

Step 2: goodness of function

常规分类器的loss定义,也就是决定好坏
在这里插入图片描述

强化学习的loss是在参数 θ \theta θ时的总反馈 R θ R_{\theta} Rθ(reward)
在这里插入图片描述

但是就算 θ \theta θ一样,但是 R θ R_{\theta} Rθ每次并不一样,导致的原因:

  1. 环境具有随机性
  2. Actor也具有随机性

所以是希望得到总反馈的期望 R ˉ θ \bar{R}_{\theta} Rˉθ

具体步骤可以描述为:
在这里插入图片描述

上面:求期望可以近似为采用N次取平均

Step 3: pick the best function

强化学习的loss是总反馈,所以是期望越大越好,所以要做梯度上升(Gradient Ascent)
在这里插入图片描述
关键就是怎么对 R ˉ θ \bar{R}_{\theta} Rˉθ求导?
在这里插入图片描述
其实也就是:
∇ P ( τ ∣ θ ) P ( τ ∣ θ ) = 1 P ( τ ∣ θ ) d P ( τ ∣ θ ) d θ = d l o g ( P ( τ ∣ θ ) ) d θ = ∇ log ⁡ P ( τ ∣ θ ) \frac{\nabla P(\tau \mid \theta)}{P(\tau \mid \theta)} =\frac{1}{P(\tau \mid \theta)} \frac{d P(\tau \mid \theta)}{d \theta} = \frac{d log(P(\tau \mid \theta))}{d \theta} = \nabla \log P(\tau \mid \theta) P(τθ)P(τθ)=P(τθ)1dθdP(τθ)=dθdlog(P(τθ))=logP(τθ)

然后也是通过采样N次来近似,注意到最后的近似结果可以写成如下形式:
∇ R ˉ θ = 1 N ∑ n = 1 N R ( τ n ) ∇ log ⁡ P ( τ n ∣ θ ) = 1 N ∑ n = 1 N R ( τ n ) ∇ P ( τ ∣ θ ) P ( τ ∣ θ ) \nabla \bar{R}_{\theta} = \frac{1}{N} \sum_{n=1}^{N} R\left(\tau^{n}\right) {\nabla \log P\left(\tau^{n} \mid \theta\right)} = \frac{1}{N} \sum_{n=1}^{N} R\left(\tau^{n}\right) \frac{\nabla P(\tau \mid \theta)}{P(\tau \mid \theta)} Rˉθ=N1n=1NR(τn)logP(τnθ)=N1n=1NR(τn)P(τθ)P(τθ)
上面的式子本应该:
R ( τ n ) R\left(\tau^{n}\right) R(τn)为正,梯度向上
R ( τ n ) R\left(\tau^{n}\right) R(τn)为负,梯度向下

为什么要除以 P ( τ ∣ θ ) P(\tau \mid \theta) P(τθ)
除以 P ( τ ∣ θ ) P(\tau \mid \theta) P(τθ)是防止反馈少但是出现次数多的 θ \theta θ

现在的问题变成求: ∇ log ⁡ P ( τ ∣ θ ) \nabla \log P(\tau \mid \theta) logP(τθ)

P ( τ ∣ θ ) P(\tau \mid \theta) P(τθ)可以变为 p ( s 1 ) ∏ t = 1 T p ( a t ∣ s t , θ ) p ( r t , s t + 1 ∣ s t , a t ) p\left(s_{1}\right) \prod_{t=1}^{T} {p\left(a_{t} \mid s_{t}, \theta\right) p\left(r_{t}, s_{t+1} \mid s_{t}, a_{t}\right)} p(s1)t=1Tp(atst,θ)p(rt,st+1st,at)
在这里插入图片描述
发现有和 θ \theta θ无关的项,刚好我们的目标函数是对: log ⁡ P ( τ ∣ θ ) \log P(\tau \mid \theta) logP(τθ)求导
所以最后

在这里插入图片描述
总结起来就是这样:
在这里插入图片描述

在这里插入图片描述
和什么要除以 P ( τ ∣ θ ) P(\tau \mid \theta) P(τθ)一样的原因除以 p ( a t n ∣ s t n , θ ) p\left(a_{t}^{n} \mid s_{t}^{n}, \theta\right) p(atnstn,θ),注意:
∇ p ( a t n ∣ s t n , θ ) p ( a t n ∣ s t n , θ ) = ∇ log ⁡ p ( a t n ∣ s t n , θ ) \frac{\nabla p\left(a_{t}^{n} \mid s_{t}^{n}, \theta\right)}{p\left(a_{t}^{n} \mid s_{t}^{n}, \theta\right)} = \nabla \log p\left(a_{t}^{n} \mid s_{t}^{n}, \theta\right) p(atnstn,θ)p(atnstn,θ)=logp(atnstn,θ)

总之最后的梯度表达式为:

∇ R ˙ θ = = 1 N ∑ n = 1 N ∑ t = 1 T n R ( τ n ) ∇ log ⁡ p ( a t n ∣ s t n , θ ) \nabla \dot{R}_{\theta}= = \frac{1}{N} \sum_{n=1}^{N} \sum_{t=1}^{T_{n}} R\left(\tau^{n}\right) \nabla \log p\left(a_{t}^{n} \mid s_{t}^{n}, \theta\right) R˙θ==N1n=1Nt=1TnR(τn)logp(atnstn,θ)

回顾分类问题中交叉熵作为损失
在这里插入图片描述

如果类标是left,那么就有 θ ← θ + η ∇ log ⁡ P ( " l e f t " ∣ s ) \theta \leftarrow \theta+\eta \nabla \log P\left("left" \mid s\right) θθ+ηlogP("left"s)

在这里插入图片描述
同样类比到强化学习的梯度上升式子中,比如:
输入环境 s 1 1 s_{1}^{1} s11,期望网络输出就是 a 1 1 a_{1}^{1} a11

输入环境 s 2 1 s_{2}^{1} s21,期望网络输出就是 a 2 1 a_{2}^{1} a21

但是 a 1 1 a_{1}^{1} a11 a 2 1 a_{2}^{1} a21这些不是已经知道了吗,为什么要在使NN去学习?

注意还有 R ( τ n ) R\left(\tau^{n}\right) R(τn),也就是说反馈越好的action,就要NN多次去学习。

Add a Baseline

在这里插入图片描述
有些系统的反馈总是正的
sample的 θ \theta θ的reward有多有少,理想情况是各种情况都被sample,所以差异会延续
但是如果有的 θ \theta θ没有被sample,那么它相当于对应的梯度自动减少。

所以提出添加偏移项,从而使有比较小reward变为负数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值