Skip to content

强化学习基础

📅 发表于 2018/04/01
🔄 更新于 2018/04/01
👁️ -- 次访问
📝 0 字
0 分钟
强化学习
#智能体
#环境
#奖励
#状态
#动作
#值函数
#贝尔曼方程
#V函数
#Q函数

强化学习定义

背景

强化学习

Why RL

  • 有监督学习(有标签)+无监督学习(无标签)
    • 静态数据中学习,学习数据模式 😞
  • 强化学习
    • 动态环境中学习,和环境交互、最大化累计奖励来学习最优策略
    • 状态、动作、奖励 序列是动态的
    • RL可做监督学习做不到的事情👍,建模动态的、环境交互的问题。

When RL

  • 环境交互序列决策问题,能定义出合适的奖励信号
  • 无需显示目标函数,只需奖励信号
    • 用优化无法解决的问题,用RL硬Train一发就对了

RL定义

强化学习定义

核心思想🧠

  • 智能体🤖和环境交互🌎过程中,根据奖励信号🎁,不断学习调整策略来完成特定目标🏆。
  • 其中
    • 无需给出正确策略作为监督信息
    • 只需给出策略的(延迟)回报 ,通过调整策略来取得最大化的期望累计奖励(回报)

智能体🤖

  • 感知环境状态和反馈的奖励,进行决策和学习
  • 决策:根据 环境状态 做出不同动作
  • 学习:根据 反馈奖励 调整策略

环境🌎

  • 智能体外部的所有事物
  • 根据智能体动作 改变状态
  • 给智能体 反馈奖励🎁
强化学习关键要素

1. 状态s, State

  • 环境的状态(智能体所处的状态),状态空间S, 离散/连续

2. 动作a, Action

  • 智能体可执行的动作,动作空间A, 离散/连续

3. 策略π(as), Policy

  • 智能体根据环境状态s决定下一步动作a,分为确定性策略和随机性策略
π(as)p(as),aAπ(as)=1

4. 状态转移概率p(ss,a) 环境模型

  • 根据当前状态s 和智能体的动作a环境状态变为s的概率

5. 即时奖励r(s,a,s), Reward 环境模型

  • 环境根据智能体行为给出的奖励,标量函数。
  • 依赖环境当前状态s 、智能体执行动作a、环境新状态s
  • 注意:也有人简化为r(s,a) 💡,仅依赖当前状态s执行动作a

环境交互过程(轨迹)

智能体与环境的交互是一个马尔可夫决策过程

马尔科夫决策过程

1. 马尔科夫过程 p(st+1st)

  • 状态序列s0,s1,,st具有马尔可夫性新状态st+1 只依赖于 当前状态st
p(st+1st,,s0)=p(st+1st)

2. 马尔科夫决策过程 p(st+1st,at)

  • 新状态st+1 依赖于 当前状态st 智能体当前的动作at
p(st+1st,at,,s0,a0)=p(st+1st,at)
轨迹

轨迹定义

  • 轨迹τ智能体与环境一次交互过程(马尔可夫决策过程),给定策略π(as),如下:
τ=s0,a0,s1,r1,,sT1,aT1,sT,rT
  • rt=r(st1,at1,st)时刻t的即时奖励

轨迹概率

  • 轨迹概率是初始状态的概率所有时刻概率乘积
  • 每一时刻:智能体执行动作环境更新状态 💥
p(τ)=p(s0)t=0T1π(atst)p(st+1st,at)

强化学习目标

摘要(RL目标)
  • 轨迹的总回报G(τ)=t=0T1rt+1
  • 策略的期望回报Eτp(τ)[G(τ)]所有轨迹回报的期望
  • 强化学习的目标学一个策略πθ(as)最大化这个策略的期望回报

轨迹回报

轨迹总回报

1. 某一时刻的奖励

  • rt=r(st1,at1,st)t时刻环境给智能体的奖励

2. 一条轨迹的回报/总回报

  • 一条轨迹所有时刻的累积奖励
G(τ)=t=0T1r(st1,at1,st)=t=0T1rt+1

3. 一条轨迹的折扣回报

  • 引入折扣率 γ降低远期回报的权重(T无限大时)
G(τ)=t=0T1γtrt+1,γ[0,1]
  • γ0, 在意短期回报
  • γ1, 在意长期回报

策略的期望回报

策略期望回报
  • 一个策略π(as) 有多个轨迹

  • 策略的期望回报:该策略下所有轨迹总回报的期望值

Eτp(τ)[G(τ)]=Eτp(τ)[t=0T1rt+1]

强化学习的目标

强化学习目标
  • 学习到一个策略πθ(as),来最大化这个策略的期望回报。希望智能体能获得更多的回报
J(θ)=Eτpθ(τ)[t=0T1γtrt+1]

值函数

摘要
  • 状态值函数Vπ(s)
    • 初始状态s执行策略π 得到的期望总回报
  • 状态动作值函数Qπ(s,a)
    • 初始状态s进行动作a执行策略π 得到的期望总回报
  • 贝尔曼方程计算V和Q函数
  • V函数与Q函数的关系
    • Vπ(s)=Eaπ(as)[Qπ(s,a)]
  • 值函数的作用
    • 评估策略π(as)对好的动作aQπ(s,a) ),增大其概率 π(as)

状态值函数(V函数)+贝尔曼方程

状态值函数(V函数)定义

状态值函数Vπ(s):每个轨迹的初始状态τs0=s执行策略π 得到的期望回报

Vπ(s)=Eτp(τ)[t=0T1rt+1τs0=s]
贝尔曼方程计算V函数

核心思想 📕

  • 当前状态的值函数可通过下个状态的值函数进行递推计算
    • Vπ(s)r(s,a,s)+Vπ(s)。 有动态规划的意思

迭代计算V函数

  • 初始状态s执行策略π 得到的期望总回报
  • 当前时刻奖励+下一时刻V值求期望即可
Vπ(s)=E[r(s,a,s)+γVπ(s)V]

V函数的贝尔曼方程

  • 执行动作sa状态变更s,as,这2层所有的值函数,求期望即可
Vπ(s)=Eaπ(as)Esp(ss,a)[r(s,a,s)+γVπ(s)V]=a,sπ(a|s)p(s|s,a)(r(s,a,s)+γVπ(s)V)

状态动作值函数(Q函数)+贝尔曼方程

状态动作值函数+贝尔曼方程求解

Q函数(状态-动作值函数) 🍎

  • 初始状态s进行动作a执行策略π 得到的期望总回报
Qπ(s,a)=Esp(s|s,a)[r(s,a,s)+γVπ(s)V]

Q函数的贝尔曼方程 ‼️

  • 下一时刻的V(s)函数Q(s,a)函数期望来计算 👏
Qπ(s,a)=Esp(s|s,a)[r(s,a,s)+γEaπ(as)[Qπ(s,a)]Q()]

VQ贝尔曼最优方程及其关系

V函数和Q函数

Vπ(s)函数

  • 初始状态s执行策略π 得到的期望总回报
  • 执行动作sa, 再状态转移s,as
Vπ(s)=Eτp(τ)[t=0T1rt+1|τs0=s]=E[r(s,a,s)+γVπ(s)V]=Eaπ(as)Esp(ss,a)[r(s,a,s)+γVπ(s)V]
  • V函数的贝尔曼方程选择所有可能a的均值
Vπ(s)=Eaπ(as)Esp(ss,a)[r(s,a,s)+γVπ(s)]=Eaπ(as)[Q(s,a)]
  • V函数的贝尔曼最优方程直接选择回报最大的a
V(s)=maxaEsp(ss,a)[r(s,a,s)+γV(s)]=maxa[Q(s,a)]

Qπ(s,a)函数

  • 初始状态s进行动作a执行策略π 得到的期望总回报
  • 动作a已确定,只状态转移s,as
Qπ(s,a)=Eτp(τ)[t=0T1rt+1|τs0=s,τa0=a]=Esp(s|s,a)[r(s,a,s)+γVπ(s)V]=Esp(s|s,a)[r(s,a,s)+γEaπ(as)[Qπ(s,a)]Q()]
  • Q函数的贝尔曼方程选择所有可能s的均值
Qπ(s,a)=Esp(s|s,a)[r(s,a,s)+γEaπ(as)[Qπ(s,a)]]
  • Q函数的贝尔曼最优方程直接选择最大回报的aQπ(s,a)=Esp(s|s,a)[r(s,a,s)+γmaxa[Q(s,a)]]

V和Q的关系

  • V函数所有动作a的Q函数的期望
Vπ(s)=Eaπ(as)[Qπ(s,a)]
  • 通过V函数计算Q函数
Qπ(s,a)=Esp(s|s,a)[r(s,a,s)+γVπ(s)]

值函数的作用

值函数的作用

作用

  • 值函数对策略π(as)进行评估。💯

示例

  • 在状态s,有一个动作a使得Qπ(s,a)>Vπ(s)

  • 说明

    • 在状态s执行动作a高于s状态所有动作的平均值 👏
    • 执行动作a比当前策略π(as)
  • 需要

    • 调整参数使π(as)的概率增加 ⬆️

深度强化学习

有些任务的状态和动作非常多,并且是连续的。普通方法很难去计算。

可以使用更复杂的函数(深度神经网络)使智能体来感知更复杂的环境状态,建立更复杂的策略。

深度强化学习

  • 强化学习 -- 定义问题和优化目标
  • 深度学习 -- 解决状态表示策略表示等问题
总访客数:   ·   总访问量:
PLM's Blog @ 2016 - 2025