当前位置:首页> AI教程> 强化学习基础概念及应用

强化学习基础概念及应用

释放双眼,带上耳机,听听看~!
本文介绍了强化学习中的基础概念,包括概率论中的随机变量、概率密度函数与概率质量函数、期望等内容,以及强化学习中的术语如State、Action、Policy、Reward等,同时讨论了利用强化学习来打游戏以及回报的概念。

本文正在参加「金石计划」

导语

本系列笔记为b站Shusen Wang老师的强化学习课程笔记,整体按照老师讲课的思路来记录。本节课介绍强化学习中的一些基础概念和OpenAI发布的一个标准的实验库Gym。

概率论复习

随机变量

首先复习一下概率论中的随机变量的概念,随机变量是指其值取决于随机事件的输出的变量,例如抛一枚硬币,它的正面朝上和反面朝上的概率都是0.5。

强化学习基础概念及应用

通常使用小写字母表示随机变量的观测值,大写字母表示随机变量。

强化学习基础概念及应用

概率密度函数与概率质量函数

概率密度函数(Probability Density Function (PDF))意味着连续随机变量在某个点附近取值的可能性,例如高斯分布的概率密度函数如下:

强化学习基础概念及应用

概率质量函数(Probability Mass Function (PMF))则是离散随机变量取某个值的可能性,例如:

强化学习基础概念及应用

概率密度函数的积分和概率质量函数的求和为1。

强化学习基础概念及应用

期望

对于连续函数和离散函数的期望定义如下:

强化学习基础概念及应用

随机抽样

随机抽样可以通过从箱子中随机摸一个球,观测其颜色的例子理解。

强化学习基础概念及应用

强化学习基础概念及应用

术语

State与Action

以超级玛丽游戏为例,State就是状态,可以认为当前的状态就是屏幕上的这张画面(这里不严格区分Observation和State),而马里奥能采取的动作(向左、向右、向上)就是action。这里例子里面,马里奥就被称作Agent,在一个强化学习里面,动作是由谁做的,谁就是agent(智能体)。

强化学习基础概念及应用

Policy

Policy是策略,指的是在观察到当前的状态后,该做什么动,做出决策。在数学上,Policy是一个概率密度函数π(a∣s)pi(a|s)。例如,马里奥在当前状态下向左、向右、向上的概率分别是0.2,0.1和0.7。在执行时,将会按这个概率进行随机抽样,决定接下来的动作。

强化学习实质上就是在学习这个Policy函数。

强化学习基础概念及应用

Reward

奖励是指这个动作执行后对最后结果的影响,比如马里奥吃到一个金币奖励+1,打赢了一场游戏奖励+10000,打输了一场游戏奖励-10000.

强化学习基础概念及应用

State transition

状态转移指的是在旧状态下,agent采取一个action后,状态发生变化的过程。状态转移一般是随机的,这种随机性来源于环境。这种状态转移用函数p(s′∣s,a)p(s’|s,a)表示,这个状态转移函数是环境自己知道,而玩家是不知道的。

强化学习基础概念及应用

Agent environment interaction

当前状态是StS_t,Agent看到StS_t后会做出动作ata_t,做完动作后,环境会更新状态SS变成St+1S_{t+1},同时环境还会给Agent一个奖励rtr_t
强化学习基础概念及应用

两种随机性

强化学习中的随机性有两个来源:

  1. 动作具有随机性。动作是根据Policy进行随机抽样的。
  2. 状态转移具有随机性。给定StS_t和动作AtA_t,环境会随机生成一个新的状态St+1S_{t+1}.

强化学习基础概念及应用

利用强化学习来打游戏

强化学习来打游戏实际上就是由Policy来决定每个时刻的动作输出At来进行游戏,直到游戏胜利或失败结束。整体的轨迹Trajectory就是一系列(state, action, reward)的序列。

强化学习基础概念及应用

强化学习基础概念及应用

Return

Return翻译为回报,它的另一个名字是Cumulative future reward(未来的累计奖励)。其定义如下:

强化学习基础概念及应用

但是,RtR_tRt+1R_{t+1}同样重要吗?可以思考这样一个问题,假如现在给你100块钱,和明年这个时候给你100块钱,你会选择哪个?理性的人都会选择现在得到100块钱,因为未来具有很大的不确定性。所以,RtR_t应该比Rt+1R_{t+1}更加重要。因此,强化学习中普遍采用折扣回报,即对未来的奖励打折扣,进行累加,

强化学习基础概念及应用

这里的折扣率记作γgamma,这个值位于0与1之间,这是个超参数,会对最终的结果有影响。

Return也具有随机性,这是由于Reward是依赖于SSAA的,而这两者都是随机变量。

强化学习基础概念及应用

强化学习基础概念及应用

这里需要区分一下,UtU_t是随机变量、utu_t是观测值。

强化学习基础概念及应用

强化学习基础概念及应用

Value Function

Action-value Function

UtU_t是一个随机变量,对UtU_t求期望可以得到一个数,记作Qπ(st,at)Q_{pi}(s_t,a_t)。这个期望是如何求的呢?
我们将UtU_t当做未来的动作A和状态S的函数,而动作AA和状态SS都具有随机性,其概率密度函数分别是π(a∣s)pi(a|s)p(s′∣s,a)p(s’|s,a),期望就是对这两个随机变量求的,把这些随机变量用积分积掉。除了st和at,其余的所有变量都被积掉了。这里被积掉的变量是At+1,At+2A_{t+1}, A_{t+2}等动作和St+1,St+2S_{t+1},S_{t+2}等状态。

强化学习基础概念及应用

强化学习基础概念及应用

Qπ(st,at)Q_{pi}(s_t,a_t)是关于st和at的函数,因为其他变量都被积掉了,只有sts_tata_t作为观测值被留了下来。函数Qπ(st,at)Q_{pi}(s_t,a_t)也与Policy函数πpi有关,因为积分的时候,Policy函数不一样,就会导致Qπ(st,at)Q_{pi}(s_t,a_t)不一样。

强化学习基础概念及应用

Qπ(st,at)Q_{pi}(s_t,a_t)函数即Action-Value Function,它的直观意义是在Policy函数为πpi的条件下,在状态st时做动作at的好坏。

由于Qπ(st,at)Q_{pi}(s_t,a_t)函数还是跟πpi有关,那么有什么方法可以去掉πpi呢,我们可以对不同的πpi求最大化,即

强化学习基础概念及应用

这个也称为最优动作价值函数(Optimal action-value Function)。

State-value Function

状态价值函数Vπ(si)V_{pi}(s_i)是对动作价值函数中将动作视为随机变量得到的数学期望,得到的Vπ(si)V_{pi}(s_i)只与πpi和s有关,那么Vπ(si)V_{pi}(s_i)有什么直观意义呢?

Vπ(si)V_{pi}(s_i)可以告诉我们当前的局势好不好。假如我们根据Policy函数πpi在下围棋,让Vπ(si)V_{pi}(s_i)看一下棋盘,Vπ(si)V_{pi}(s_i)就会告诉我们当前的胜算多大,是快赢了还是快输了,还是不分高下。这里的期望是对AA求的,A的概率密度函数是πpi,根据AA的定义,它可能是离散的,比如动作只有上下左右,那么就是求连加。有时候,动作AA是个连续变量,比如自动驾驶汽车方向盘的角度,那么就是求积分。

强化学习基础概念及应用

强化学习基础概念及应用

小结

总结一下,一共有两种价值函数,分别是:

  • 动作价值函数:Qπ(st,at)Q_{pi}(s_t,a_t)与Policy函数πpi、动作aa和状态ss有关,它是UtU_t的条件期望,这里的UtU_t是个随机变量,它等于未来所有奖励的加权求和。求期望的操作会把所有变量都消除,只留下sts_tata_t这两个变量。函数Qπ(st,at)Q_{pi}(s_t,a_t)可以告诉我们,在使用Policy πpi,如果处在状态s时,做出动作aa是否明智,即其给动作aa打分。
  • 状态价值函数:Vπ(si)V_{pi}(s_i)是用积分把Qπ(st,at)Q_{pi}(s_t,a_t)中的动作A消掉,得到的函数只与Policy πpi和状态s有关,如果使用Policy函数πpiVπ(si)V_{pi}(s_i)可以评价当前状态是好是坏。Vπ(si)V_{pi}(s_i)还能用来评价Policy函数πpi的好坏,如果下面这个期望越大,证明πpi越好。

强化学习基础概念及应用

使用强化学习打游戏

有两种方式利用AI控制Agent打游戏:

  • 学习Policy函数πpi
  • 学习最优动作价值函数Q⋆(s,a)Q^{star}(s,a)

OpenAI Gym是最经典的强化学习游戏平台,有以下几类任务:

  1. 经典控制问题:如移动小车保持杆子竖直;
  2. Atari Games:如消除砖块;
  3. 连续控制问题:如控制蚂蚁走路;

强化学习基础概念及应用

强化学习基础概念及应用

强化学习基础概念及应用

CartPole问题举例

首先,需要按照Gym的官方文档安装Gym这个库,之后,通过下面的代码可以导入和新建一个CartPole游戏。之后,使用下面的代码可以进行这个游戏。

强化学习基础概念及应用

强化学习基础概念及应用

总结

本节课介绍了强化学习中的基本概念,和使用Gym库来进行强化学习实验。

强化学习基础概念及应用

强化学习基础概念及应用

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

MobileNetV3模型训练与优化

2023-12-16 16:24:14

AI教程

Python爬取表情包并保存至本地文件夹

2023-12-16 16:31:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索