1.什么是强化学习

本文详细解析了强化学习的关键组成部分,包括状态、动作、奖励、策略和动态环境。阐述了强化学习的特点,如无监督、反馈滞后等,并介绍了agent、value function、policy和模型的不同类型。还区分了强化学习与规划的区别,以及预测与控制的概念。最后概述了MDP的基本构成和解决方法,涉及状态转移概率和贝尔曼方程。
摘要由CSDN通过智能技术生成

强化学习组成部分:

  • 状态/观测值(state/observation):当前情况;
  • 动作(action):当前采取的动作以及下一步的动作;
  • 奖励(reward):基于当前的state和action会获得的奖励;
  • 策略(policy):如何做决策;
  • 动态环境(environment dynamics):包括转移矩阵或者环境的核函数

强化学习有以下特点:

  • 无监督

  • 反馈滞后

  • 时间重要,顺序进程

  • 无独立同分布假设,agent根据环境影响采取行动

即通过积累求最大化的问题
记录历史参数:
H t = A 1 , O 1 , R 1 , A t , O t , R t H_t = A_1,O_1,R_1,A_t,O_t,R_t Ht=A1,O1,R1,At,Ot,Rt
agent的作用:H到A的合理映射,不过在强化学习中,通常使用state来取代history
S t a = f ( H t ) S_t^a = f(H_t) Sta=f(Ht)
state($ S_t^e $)以observation的形式来影响agent,在强化学习中,当agent获取全部状态信息时
O t = S t a = S t e O_t = S_t^a = S_t^e Ot=Sta=Ste
而某些时候,无法获取全部的环境状态信息,一种 S T a S_T^a STa获取方法, O t = S t a = H t < S t e O_t = S_t^a = H_t < S_t^e Ot=Sta=Ht<Ste,还可以通过概率向量决定 S t a = p [ S 1 e = S 1 ] , … … , p [ S t e = S t ] S_t^a = {p[S_1^e = S^1],……,p[S_t^e = S^t]} Sta=p[S1e=S1],,p[Ste=St],旧状态线性组合 S t a = σ ( S t − 1 a W S + O t W o ) S_t^a = \sigma(S_{t-1}^aW_S+O_tW_o) Sta=σ(St1aWS+OtWo)得到。

Markov性质:
P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , … … , S t ] P[S_{t+1}|S_t]=P[S_{t+1}|S_1,……,S_t] P[St+1St]=P[St+1S1,,St]
在强化学习中反映为:
H 1 : t → S t → H t + 1 : ∞ H_{1:t}\to S_t \to H_{t+1:\infty} H1:tStHt+1:
环境的状态变化具有Markov性。
强化学习agent的元素构成:

  • policy: a map from state to action 固定策略: a = π ( s ) a = \pi(s) a=π(s) 随机策略 π [ a ∣ s ] = P [ A = a ∣ S = s ] \pi[a|s]=P[A=a|S=s] π[as]=P[A=aS=s]
  • value function: prediction of future reward, v π ( s ) = E π [ R t + γ R t + 1 + γ 2 R t + 2 + … … ∣ S t = s ] v_{\pi}(s) = E_{\pi}[R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+……|S_t = s] vπ(s)=Eπ[Rt+γRt+1+γ2Rt+2+St=s],向前看的程度反映在折扣因子$\gamma $中。
  • model:分为transitions model:预测下个状态 输出概率 P s s ′ a = P [ S ′ = s ′ ∣ S = s , A = a ] P_{ss'}^a = P[S'=s'|S=s,A=a] Pssa=P[S=sS=s,A=a] and reward model :预测下个奖励 R s a = E [ R ∣ S = s , A = a ] R^a_s = E[R|S=s,A=a] Rsa=E[RS=s,A=a]

agent 分类

  • Value Based 根据奖励
  • Policy Based 指明策略 通过某种数据结构记录策略
  • Actor Critic 上两种策略结合
  • Model Free 不理解环境 不知道状态转移概率 利用 Policy /Value 指定策略 求转移求策略
  • Model Based 知道状态转移概率 建立关于环境的动态模型 求策略
    img

两类问题

  • 强化学习:环境未知 与环境交互 获得最大奖励
  • 规划:完全了解环境 环境可以被确切地表达

预测和控制

  • 预测prediction:奖励是多少
  • 控制control:最优policy/action是啥

Markov Decision Processes

introduction

环境完全被观测; P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , … … , S t ] P[S_{t+1}|S_t]=P[S_{t+1}|S_1,……,S_t] P[St+1St]=P[St+1S1,,St] 定义一个MDP只需要状态集合S和状态转移概率(矩阵)P
状态转移概率: P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] P_{ss'} = P[S_{t+1} = s' | S_t = s] Pss=P[St+1=sSt=s] → \to 状态转移概率矩阵

贝尔曼方程

递归分解价值函数
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ v(s) &= E(G(t)…
当前状态决定 R t + 1 R_{t+1} Rt+1
矩阵形式 :
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ v = R+\gamma …
需要明确知道所有状态集合
求解MDP的方式,矩阵求逆运算复杂度过高
MDP组成 < S , A , P , R , γ > <S,A,P,R,\gamma> <S,A,P,R,γ>

  • S S S 状态集合

  • A A A 动作集合

  • P P P 状态转移概率矩阵 P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] P_{ss'}^a=P[S_{t+1}=s'|S_t=s,A_t=a] Pssa=P[St+1=sSt=s,At=a]

  • R R R 奖励函数 R s a = E [ S t + 1 ∣ S t = s , A t = a ] R_s^a=E[S_{t+1}|S_t=s,A_t=a] Rsa=E[St+1St=s,At=a]

  • γ \gamma γ 折扣系数 ∈ [ 0 , 1 ] \in[0,1] [0,1]

策略函数 policy function: π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a|s)=P[A_t=a|S_t=s] π(as)=P[At=aSt=s] 概率矩阵
π s s ′ π = ∑ a ∈ A π ( a ∣ s ) P s , s a R s π = ∑ a ∈ A π ( a ∣ s ) R s a \pi_{ss'}^\pi = \sum_{a\in A}\pi(a|s)P_{s,s}^a\\ \R_s^\pi = \sum_{a\in A}\pi(a|s)R_s^a πssπ=aAπ(as)Ps,saRsπ=aAπ(as)Rsa
value function

  • state-value function v π ( s ) = E π [ G t ∣ S t = s ] v_\pi(s) = E_\pi[G_t|S_t=s] vπ(s)=Eπ[GtSt=s]
  • action-value function q π ( s , a ) = E p i [ G t ∣ S t = s , A t = a ] q_\pi(s,a) = E_pi[G_t|S_t=s,A_t=a] qπ(s,a)=Epi[GtSt=s,At=a]
    均值求解两种方式
  • 状态转移概率
  • 动作概率

课程链接

[1]https://www.bilibili.com/video/BV1kt411D76e

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值