当前位置:   article > 正文

深度强化学习 Deep Reinforcement Learning_at human speed: deep reinforcement learning with a

at human speed: deep reinforcement learning with action delay

目录

参考资料

https://hunch.net/~beygel/deep_rl_tutorial.pdf
https://icml.cc/2016/tutorials/deep_rl_tutorial.pdf

Tutorial: Deep Reinforcement Learning
David Silver, Google DeepMind
教程:深度强化学习

Reinforcement Learning in a nutshell
RL is a general-purpose framework for decision-making
RL is for an agent with the capacity to act
Each action influences the agent’s future state
Success is measured by a scalar reward signal
Goal: select actions to maximise future reward
简而言之,强化学习
强化学习是做出决策的通用框架
强化学习适用于具有行动能力的代理
每个动作都会影响代理的未来状态
成功由标量奖励信号衡量
目标:选择行动以最大化未来的回报

Deep Learning in a nutshell
DL is a general-purpose framework for representation learning
Given an objective
Learn representation that is required to achieve objective
Directly from raw inputs
Using minimal domain knowledge
简而言之,深度学习
深度学习是用于表示学习的通用框架
给定一个目标
学习为了实现目标所需要的表达
直接从原始输入
使用最少的领域知识

Deep Reinforcement Learning: AI = RL + DL
We seek a single agent which can solve any human-level task
RL defines the objective
DL gives the mechanism
RL + DL = general intelligence
深度强化学习:人工智能 = 强化学习 + 深度学习
我们寻找一个单一的代理,它可以解决任何人类级别的任务
强化学习定义了目标
深度学习给出了机制
强化学习 + 深度学习 = 一般智力

Examples of Deep RL @DeepMind
Play games: Atari, poker, Go, …
Navigate worlds: 3D worlds, Labyrinth, …
Control physical systems: manipulate, walk, swim, …
Interact with users: recommend, optimise, personalise, …
深度强化学习的示例 @DeepMind
玩游戏:Atari,扑克,Go,…
导航世界:3D世界,迷宫,…
控制物理系统:操纵,行走,游泳,…
与用户互动:推荐,优化,个性化,…

Introduction to Deep Learning 深度学习介绍

Deep Representations

A deep representation is a composition of many functions
深度表示是许多函数的组合
深度表示是许多函数的组合
Its gradient can be backpropagated by the chain rule
它的梯度可以用链式法则反向传播
它的梯度可以用链式法则反向传播

Deep Neural Network 深度神经网络

A deep neural network is typically composed of:
Linear transformations h k + 1 = W h k h_{k+1} = W_{h_k} hk+1=Whk
Non-linear activation functions h k + 2 = f ( h k + 1 ) h_{k+2} = f (h_{k+1}) hk+2=f(hk+1)
A loss function on the output, e.g.
Mean-squared error l = ∣ ∣ y ∗ − y ∣ ∣ 2 l = ||y^∗−y||^2 l=∣∣yy2
Log likelihood l = l o g P [ y ∗ ] l = logP[y^∗] l=logP[y]
深度神经网络通常包括:
线性变换 h k + 1 = W h k h_{k+1} = W_{h_k} hk+1=Whk
非线性激活函数 h k + 2 = f ( h k + 1 ) h_{k+2} = f (h_{k+1}) hk+2=f(hk+1)
在输出的损失函数
均方误差 l = ∣ ∣ y ∗ − y ∣ ∣ 2 l = ||y^∗−y||^2 l=∣∣yy2
对数似然 l = l o g P [ y ∗ ] l = logP[y^∗] l=logP[y]

通过随机梯度下降训练神经网络

Sample gradient of expected loss L ( w ) = E [ l ] L(w) = E[l] L(w)=E[l]
预期损失的样本梯度 L ( w ) = E [ l ] L(w) = E[l] L(w)=E[l]
∂ l ∂ w \frac{\partial l}{\partial \mathbf{w}} wl ~ E [ ∂ l ∂ w ] = ∂ L ( w ) ∂ w \mathbb{E}\left[\frac{\partial l}{\partial \mathbf{w}}\right]=\frac{\partial L(\mathbf{w})}{\partial \mathbf{w}} E[wl]=wL(w)
Adjust w down the sampled gradient
调整w向下的采样梯度
沿采样梯度向下调整w
Δ w ∝ ∂ l ∂ w \Delta w \propto \frac{\partial l}{\partial \mathbf{w}} Δwwl
随机梯度下降

Weight Sharing 权重共享

Recurrent neural network shares weights between time-steps
循环神经网络在时间步长之间共享权重
循环神经网络在时间步长之间共享权重
Convolutional neural network shares weights between local regions
卷积神经网络在局部区域之间共享权重
卷积神经网络在局部区域之间共享权重

Introduction to Reinforcement Learning 强化学习介绍

Many Faces of Reinforcement Learning
强化学习的许多方面
强化学习的许多方面

Agent and Environment 代理与环境

代理与环境
At each step t t t
the agent:
Executes action a t a_t at
Receives observation o t o_t ot
Receives scalar reward r t r_t rt
The environment:
Receives action a t a_t at
Emits observation o t + 1 o_{t+1} ot+1
Emits scalar reward r t + 1 r_{t+1} rt+1

State 状态

Experience is a sequence of observations, actions, rewards
o 1 , r 1 , a 1 , . . . , a t − 1 , o t , r t o_1,r_1,a_1,...,a_{t−1},o_t,r_t o1,r1,a1,...,at1,ot,rt
The state is a summary of experience
s t = f ( o 1 , r 1 , a 1 , . . . , a t − 1 , o t , r t ) s_t = f(o_1,r_1,a_1,...,a_{t−1},o_t,r_t) st=f(o1,r1,a1,...,at1,ot,rt)
In a fully observed environment
s t = f ( o t ) s_t = f(o_t) st=f(ot)

Major Components of an RL Agent 强化学习代理的主要组件

An RL agent may include one or more of these components:
Policy: agent’s behaviour function
Value function: how good is each state and/or action
Model: agent’s representation of the environment
强化学习代理可以包括以下一个或多个组件:
policy:代理的行为函数
价值函数:每个状态和/或动作有多好
模型:代理对环境的表示

Policy

A policy is the agent’s behaviour
It is a map from state to action:
Deterministic policy: a = π ( s ) a = π(s) a=π(s)
Stochastic policy: π ( a ∣ s ) = P [ a ∣ s ] π(a|s) = P[a|s] π(as)=P[as]
policy是代理的行为
这是从状态到行动的映射:
确定的policy: a = π ( s ) a = π(s) a=π(s)
随机的policy: π ( a ∣ s ) = P [ a ∣ s ] π(a|s) = P[a|s] π(as)=P[as]

Value Function

A value function is a prediction of future reward
“How much reward will I get from action a in state s?”
Q-value function gives expected total reward
价值函数是对未来奖励的预测
“在状态s下,代理将从行动a中获得多少奖励?”
Q值函数给出预期的总回报
from state s and action a a a
under policy π π π
with discount factor γ γ γ
Q π ( a ∣ s ) = E [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + . . . ∣ s , a ] Q^π(a|s) = E[r_{t+1} + γr_{t+2} + γ^2r_{t+3} + ... | s,a] Qπ(as)=E[rt+1+γrt+2+γ2rt+3+...∣s,a]
Value functions decompose into a Bellman equation
价值函数分解为Bellman方程
Q π ( a ∣ s ) = E s ′ , a ′ [ r + γ Q π ( a ′ ∣ s ′ ) ∣ s , a ] Q^{\pi}(a | s)=\mathbb{E}_{s^{\prime}, a^{\prime}}\left[r+\gamma Q^{\pi}\left(a^{\prime} | s^{\prime}\right) | s, a\right] Qπ(as)=Es,a[r+γQπ(as)s,a]

Optimal Value Functions

An optimal value function is the maximum achievable value
最佳价值函数是最大可实现值
Q ∗ ( s , a ) = max ⁡ π Q π ( s , a ) = Q π ∗ ( s , a ) Q^{*}(s, a)=\max _{\pi} Q^{\pi}(s, a)=Q^{\pi^{*}}(s, a) Q(s,a)=maxπQπ(s,a)=Qπ(s,a)
Once we have Q ∗ Q^∗ Q we can act optimally,
一旦有了 Q ∗ Q^∗ Q,我们就可以采取最佳行动,
π ∗ ( s ) = argmax ⁡ a Q ∗ ( s , a ) \pi^{*}(s)=\underset{a}{\operatorname{argmax}} Q^{*}(s, a) π(s)=aargmaxQ(s,a)
Optimal value maximises over all decisions. Informally:
最优价值使所有决策最大化。 Informally:
Q ∗ ( s , a ) = r t + 1 + γ max ⁡ a t + 1 r t + 2 + γ 2 max ⁡ a t + 2 r t + 3 + … = r t + 1 + γ max ⁡ a t + 1 Q ∗ ( s t + 1 , a t + 1 ) Q^{*}(s, a)=r_{t+1}+\gamma \max _{a_{t+1}} r_{t+2}+\gamma^{2} \max _{a_{t+2}} r_{t+3}+\ldots=r_{t+1}+\gamma \max _{a_{t+1}} Q^{*}\left(s_{t+1}, a_{t+1}\right) Q(s,a)=rt+1+γmaxat+1rt+2+γ2maxat+2rt+3+=rt+1+γmaxat+1Q(st+1,at+1)
Formally, optimal values decompose into a Bellman equation
Formally,最优值分解为Bellman方程
Q ∗ ( s , a ) = E s ′ [ r + γ max ⁡ a ′ Q ∗ ( s ′ , a ′ ) ∣ s , a ] Q^{*}(s, a)=\mathbb{E}_{s^{\prime}}\left[r+\gamma \max _{a^{\prime}} Q^{*}\left(s^{\prime}, a^{\prime}\right) | s, a\right] Q(s,a)=Es[r+γmaxaQ(s,a)s,a]

Model

Model is learnt from experience
Acts as proxy for environment
Planner interacts with model
e.g. using lookahead search
模型是从经验中学习得到的
作为环境的代理
计划者与模型交互
例如,使用前瞻性搜索

Approaches To Reinforcement Learning

强化学习的方法
Value-based Reinforcement Learning
Estimate the optimal value function $Q^∗(s,a) $
This is the maximum value achievable under any policy
Policy-based Reinforcement Learning
Search directly for the optimal policy π ∗ π^∗ π
This is the policy achieving maximum future reward
Model-based Reinforcement Learning
Build a model of the environment
Plan (e.g. by lookahead) using model
基于value的强化学习
估计最优value函数$Q^∗(s,a) $
这是任何policy下可实现的最大value
基于policy的强化学习
直接搜索最优policy π ∗ π^∗ π
这是实现最大未来奖励的policy
基于模型的强化学习
建立环境模型
使用模型计划(例如,by lookahead)

Deep Reinforcement Learning

Use deep neural networks to represent
使用深度神经网络来表示
Value function
Policy
Model
Optimise loss function by stochastic gradient descent
利用随机梯度下降优化损失函数

理解环境

model-free 不理解环境

从环境中得到反馈然后从中学习
Q learning, Sarsa, Policy Gradients

model-based 理解环境

为真实世界建模,多出了一个虚拟环境

基于策略基于价值

Policy-Based 基于策略

通过感官分析所处的环境, 直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动
能选取连续的动作
Policy Gradients

Value-Based 基于价值

输出是所有动作的价值, 选择价值最高的动作
不能选取连续的动作
Q learning
Sarsa

Actor-Critic结合这两类方法的优势
actor 会基于概率做出动作
critic 会对做出的动作给出动作的价值
在原有的Policy Gradients上加速了学习过程.

回合更新单步更新

回合更新 monte carlo

游戏开始后, 要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新行为准则
Monte-carlo learning 和基础版的Policy Gradients

单步更新 temporal difference 时间差分

在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样就能边玩边学习了
Q learning, Sarsa , 升级版的Policy Gradients

在线学习离线学习

在线学习 on policy 同策略

代理和环境交互过程中所选择的动作=计算评估函数的过程中选择的动作
必须本人在场, 并且一定是本人边玩边学习
Sarsa 、Sarsa lambda

离线学习 off policy 异策略

代理和环境交互过程中所选择的动作≠计算评估函数的过程中选择的动作
可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则
同样是从过往的经验中学习, 但是这些过往的经历没必要是自己的经历, 任何人的经历都能被学习.
不必要边玩边学习, 可以白天先存储下来玩耍时的记忆, 然后晚上通过离线学习来学习白天的记忆
Q learning、Deep-Q-Network

monte carlo model free

强化学习入门 第三讲 monte carlo
机器学习 强化学习 北京理工大学
不清楚markov决策过程的真实状态转移概率或即时奖励
在现实的强化学习任务中,环境的转移概率、奖励函数往往很难得知, 甚至很难得知环境中有多少状态。
免模型学习:学习算法不再依赖于环境建模
通常情况下某个状态的价值=在多个episode中以该状态算得到的所有奖励的平均
每条episode:一条从起始状态到结束状态的经历
使用多次采样,然后求取平均累计奖赏作为期望累计奖赏的近似。

First-visit

在计算状态s处的值函数时,只利用每个episode中第一次访问到状态s时返回的值
v ( s ) = ( G 11 ( s ) + G 21 ( s ) + … ) / N ( s ) v(s)=(G_{11}(s)+G_{21}(s)+…)/N(s) v(s)=(G11(s)+G21(s)+)/N(s)

Every-visit

在计算状态s处的值函数时,利用所有访问到状态s时的奖励返回
v ( s ) = ( G 11 ( s ) + G 12 ( s ) + … + G 21 ( s ) + … ) / N ( s ) v(s)=(G_{11}(s)+G_{12}(s)+…+G_{21}(s)+…)/N(s) v(s)=(G11(s)+G12(s)++G21(s)+)/N(s)

每进入一个episode S 1 , A 1 , R 2 , ⋯   , S t , A t , R t + 1 , ⋯   , S k S_1,A_1,R_2,\cdots,S_t,A_t,R_{t+1},\cdots,S_k S1,A1,R2,,St,At,Rt+1,,Sk
每碰到一次 S t S_t St,可以计算平均价值
N ( S t ) ← N ( S t ) + 1 N(S_t)\gets N(S_t)+1 N(St)N(St)+1
V ( S t ) ← V ( S t ) + 1 / N ( S t ) ∗ ( G t − V ( S t ) ) V(S_t)\gets V(S_t)+1/N(S_t)*(G_t-V(S_t)) V(St)V(St)+1/N(St)(GtV(St))

每个episode结束才能更新
需要大量episode才比较准确
需要采样一个完整的轨迹来更新值函数,效率较 低,此外该算法没有充分利用强化学习任务的序贯决策结构。

直接对状态动作值函数Q(s,a)进行估计,每采样一条轨迹,就根据轨迹中的所有“状态-动作”利用下面的公式对来对值函数进行更新。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/809919
推荐阅读
相关标签