强化学习:(一)基本概念

目录

  • 一、基本术语
  • 二、如何使用强化学习
  • 三、标准库-OpenAI Gym
  • 四、参考资料

一、基本术语

state:s,状态。

action:a,行为,比如游戏里的向上、向右,是随机的。为什么不是确定的?如果是在博弈背景下,确定性动作会让对手发现规律,而随机的动作才可能赢。

agent:动作是由谁做的,谁就是agent,比如自动驾驶里的汽车,游戏里的马里奥

policy π \pi π,根据观测到的状态来决策,然后控制agent的运动。它是个概率密度函数,数学上的定义:在s状态下采取a动作的概率,

在这里插入图片描述
例如:

在这里插入图片描述

如果让policy函数来自动决策,那么它就是进行一个随机抽样,来决定下一步怎么走。强化学习,学的就是这个policy函数,只要学会了,就可以自动操作了。

reward:R,奖励,需要自己来定义。例如,游戏里根据不同目标的重要程度来确定不同状态得到的奖励的大小:
强化学习:(一)基本概念_第1张图片

奖励定义的好坏会影响强化学习的结果。

state transition:状态转移,可以是确定的也可以是随机的,一般认为是随机的,其随机性来源于环境。可以用状态密度函数来表示:

在这里插入图片描述

环境可能会变化,在当前环境和行动下,衡量系统状态向某一个状态转移的概率是多少。注意环境的变化通常是未知的。

强化学习:(一)基本概念_第2张图片

强化学习中的随机性

来源一:action,action是根据 π \pi π 函数随机抽样得到的,所以随机。

来源二:state transition,state transition是根据p函数随机抽样的,所以随机。

强化学习的生效过程

观测一个状态,学习 π \pi π 函数来控制agent,转移到另一个状态并获得奖励,循环……由此得到游戏的trajectory(轨迹):(状态,动作,奖励)

强化学习:(一)基本概念_第3张图片

return

回报,又称cumulated future reward,定义为:

在这里插入图片描述

其中 R t R_t Rt表示第t时刻的奖励。agent的目标就是让return最大化。

未来的奖励不如现在等值的奖励那么好(比如一年后给100块不如现在就给),所以 R t + 1 R_{t+1} Rt+1的权重应该小于 R t R_t Rt。因此,强化学习通常用discounted return(折扣回报,又称cumulative discounted future reward),取 γ \gamma γ 为discount rate(折扣率), γ ∈ ( 0 , 1 ] \gamma\in(0,1] γ(0,1],则有,

在这里插入图片描述

折扣率是一个超参数,需要自己来调(tuning hyper-parameter)。折扣率的设置对强化学习的效果有一定的影响。

return也有随机性。如果游戏已经结束了,那么r和u都用小写表示,如果还没结束,那么他们都是随机变量,用大写。随机性有两个来源,即action和state transition是随机的。

对于任意时刻 i ≥ t i\ge t it ,奖励 R i R_i Ri 取决于 S i S_i Si A i A_i Ai ,因此,$U_t $与未来所有时刻的状态和动作都有关,它的随机性由所有未来动作和状态的随机性构成。

action-value function

动作价值函数,action-value function for policy π \pi π

在t时刻,我们并不知道 U t U_t Ut 等于多少,例如在t时刻硬币还没有抛,不可能知道它的结果。那如何评估当前的形势?用期望。

在这里插入图片描述

在求期望的时候, s t s_t st a t a_t at以后的状态和动作都被积分积掉了,只剩下 s t s_t st a t a_t at,它们被作为观测到的数值来对待,而不是作为随机变量。Q的值也和 π \pi π 有关:如果 π \pi π 不一样,积分的结果也不一样。

动作价值函数的意义:如果指定用 π \pi π 来做出决定,那么s状态下做动作a是好还是坏。它给所有的a打分,这样就能知道哪个动作好,哪个不好。

optimal action-value function

但是,在不同的 π \pi π 的作用下,打分结果不同。为了统一,先求出最好的 π \pi π ,最好的 π \pi π 是让 Q π Q_\pi Qπ 取最大值的 π \pi π

在这里插入图片描述

这就是最优动作价值函数,它与 π \pi π 无关。也就是说,无论用什么样的 π \pi π ,也不会得到比它更好的结果了。

state-value function

状态价值函数,是对action-value function的期望:

在这里插入图片描述

它只与 π \pi π 和 s 有关,与a无关,可以用来评估当前的局面好不好。如果 π \pi π 是固定的, 那么s越大,局面越好。

强化学习:(一)基本概念_第4张图片

V也可以用来评估 π \pi π 的好坏: π \pi π 越好,V的均值越大

在这里插入图片描述

二、如何使用强化学习

学到 π \pi π 函数:policy-based learning,根据输入 s t s_t st,经过 π \pi π a t a_t at进行随机抽样,就可以控制了

强化学习:(一)基本概念_第5张图片

或者学到Q函数:valued-based learnning,如果处在状态 s t s_t st,可以用Q来评价每个a是好还是坏,找到最好的a

强化学习:(一)基本概念_第6张图片

三、标准库-OpenAI Gym

A toolkit for developing and comparing reinforcement learning algorithms.

https://gym.openai.com/

设计好了一个算法,需要进行验证或者对比

在python里调用:(env为环境)

强化学习:(一)基本概念_第7张图片

四、参考资料

深度强化学习(全)

你可能感兴趣的:(强化学习,强化学习,人工智能)