强化学习(1)

1 数学相关基本概念

(1)随机变量:变量中的值是随机变量的结果(a variable whose possible values depend on outcomes of a random event)。通常使用大写字母表示,例如X。

举例:抛硬币,正面朝上记为1,反面朝上记为0。抛硬币是一个随机事件,抛硬币的结果就是随机变量。此时,随机变量X有两种可能的取值,P(X=1)=0.5;P(X=0)=0.5。

通常用小写字母表示对随机变量的观测值,例如x。

(2)概率密度函数:在数学中,连续型随机变量的概率密度函数是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数概率分布函数则是描述离散型随机变量的概率分布函数。

(3)期望:

对于连续分布:

E(f(X))=\int_{x}p(x)\cdot f(x)dx

对于离散分布:

E(f(x))=\sum_{x\epsilon \chi }p(x)\cdot f(x)

2 强化学习专业术语

(1)state:状态。例如,在超级玛丽游戏中,状态就是一个画面。

(2)action:动作。例如,在超级玛丽游戏中,Mario可以向左走,向右走,向上跳。

(3)agent:智能体。例如,在超级玛丽游戏中,Mario就是agent;在智能驾驶中,汽车就是智能体。

(4)policy:策略,记为\pi。根据观测到的状态做出决策从而控制agent的运动。例如,在超级玛丽游戏中,观测到某一画面,Mario应该采取哪个动作。policy function \pi :(s,a)x \mapsto [0,1]。 \pi是概论密度函数,即给定状态s,agent 做出动作a的概率密度。

\pi (a|s)=P(A=a|S=s)

(5)reward:奖励。强化学习的目标就是希望奖励要尽可能高。例如,在超级玛丽游戏中,

(6)state  transition:状态转移。agent做一个动作,就会带来新的状态。通常情况下,状态转移是随机的,这种随机性是从环境中来的。例如,Mario向上跳,敌人Gomba可能往左也可能往右,这就带来了下一状态的随机性。

p(s^{'}|s,a)=P(S^{'}=s^{'}|S=s,A=a)

(7)agent environment interaction:以超级玛丽游戏为例,环境是游戏程序,agent是Mario,游戏当前显示的画面可以当做state s_{t},agent看到状态之后可以做出一个动作action a_{t}:往上跳,向前走,向后走等。agent做出动作之后,环境会更新状态,将状态变为s_{t+1},同时环境会给agent奖励r_{t}(吃到金币,奖励就是正的;赢了游戏,奖励就是很大的值;碰到敌人game over奖励就是很大的负数)。

3 强化学习中的随机性

(1)action具有随机性:给定state,action是根据policy函数\pi抽样得到的。

A~(\cdot |S)

例如,Mario向左的概率是0.2,向右的概率是0.1,向上跳的概率是0.7。

(2)状态转移具有随机性:给定state和action,环境用状态转移函数p(\cdot |s,a)算出概率,然后通过概率来随机抽样得到下一个状态S^{'}。例如,左边绿色框是一种状态,概率是0.8,右边绿色框是另一种状态,概率是0.2,系统随机抽样决定下一状态是什么。

 4 其他重要概念

(1)Return(cumulative future reward):回报

U_{t}=R_{t}+R_{t+1}+R_{t+2}+R_{t+3}+\cdot \cdot \cdot

U_{t}表示t时刻的return,它是把t时刻开始的奖励全都加起来,即加到最后一刻的奖励,也就是未来的奖励总和。

(2)Discounted return(cumulative discounted future reward):未来的奖励没有当前的奖励值钱,引入折扣率\gamma

U_{t}=R_{t}+\gamma R_{t+1}+\gamma ^{2}R_{t+2}+\gamma ^{3}R_{t+3}+\cdot \cdot \cdot

其中,\gamma:discounted return是一个超参数。

在t时刻,U_{t}是随机变量(回忆前面提到的两点随机性),其随机性来源于未来所有的action和state。

(3)Action-Value Function for \pi:对随机变量U_{t}求期望

Q_{\pi }(s_{t},a_{t})=E[U_{t}|S_{t}=s_{t},A_{t}=a_{t}]

  • U_{t}依赖于actions:A_{t},A_{t+1},A_{t+2},\cdot \cdot \cdot 和states:S_{t},S_{t+1},S_{t+2},\cdot \cdot \cdot
  • Actions are random:P[A=a|S=s]=\pi (a|s)                          (policy function)
  • States are random:P[S^{'}=s^{'}|S=s,A=a]=p(s^{'}|s,a)         (state function)
  • 除了S_{t}A_{t},其他变量都通过积分得到了一个数值,因此Q_{\pi }与当前的s_{t}a_{t}有关,s_{t}a_{t}被当做观测来对待,而不是随机变量,同时也和policy函数\pi有关(因为积分的时候会用到\pi函数)。 

Q_{\pi }的直观意义:如果用policy函数\pi,那么 Q_{\pi } 会评估在 s_{t}状态下做动作a_{t}是好还是坏,可以给a_{t}打分。

Q_{\pi }与policy函数有关,怎么把policy函数去掉呢?可以对Q_{\pi }关于\pi求最大化,也就是,我们有很多policy函数,我们要用的是最好的那个policy函数。

(4)optimal action-value function:求 Q_{\pi }关于\pi求最大化

 Q^{*}(s_{t},a_{t})的直观意义:对action做评价,若当前状态为s_{t},Q^{*}告诉我们a_{t}好不好。例如,下围棋时,状态是棋盘,Q^{*}可以告诉我们,棋下在这个位置,胜算有多大,下在那个位置,胜算有多大。agent可以根据Q^{*}对动作的评价来做决策,观测到一个状态后,Q^{*}如果觉得往上跳这个动作的分数最高,agent就应该往上跳。

(5)State-value function:求Q_{\pi }关于A的期望

V_{\pi}(s_{t})=E_{A}[Q_{\pi }(s_{t},A)]

  • 把A看成随机变量,然后对A求期望消掉A,此时V_{\pi }\pi和s有关。
  • A的概率密度函数:

  • A如果是离散变量,V_{\pi }可以写成:

  • A如果是连续变量(例如自动驾驶方向盘的角度),V_{\pi }可以写成:

V_{\pi }的直观意义: 如果用policy函数\piV_{\pi }告诉我们当前局势好不好。例如,下围棋时,让V_{\pi }看一下棋盘,V_{\pi }可以告诉我们当前胜算有多大,是要赢了还是输了还是不分上下。

E_{S}[V_\pi (S)]评估了policy函数\pi好坏,如果\pi越好,那么V_{\pi }的平均值越大。

参考:

北大王树森

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值