David Silver强化学习课程笔记(一)

        大家好,我是微念。

        国庆这些天大致学习了一下David Silver的强化学习课程,感觉挺受用的,大家可以去百度云盘(无字幕版本)下载视频,或者去B站搜索观看(有字幕版本),课程课件下载地址为David Silver课程课件

        下面将我学习这门课程视频的一些笔记记录下来,便于以后查看。

第一课:强化学习简介

        1.强化学习的特征

       强化学习与其它机器学习范式有什么不同呢?

       1)没有监督,仅仅只有一个奖励信号,或者说,不直接判定某个状态或动作的好坏,而是给出一个奖励;

       2)没有即时的反馈,或者说,反馈是有延迟的。比如围棋,我们当前的落子并不会直接被赋予奖励,而是整盘棋下完之后才有一个反馈(+1表示赢,-1表示输);

       3)数据是序列化的,数据与数据之间是有关的,而不是i.i.d的;

       4)智能体的行为将影响后续的数据,比如在围棋中,我们当前的落子将会影响棋局的走向。

 

        2.奖励

        关于奖励的具体定义就不详述了,不过需要注意奖励(reward)和回报(return)是不一样的,回报是累积奖励。

        此外,课程中给出了奖励假说(强化学习是建立在该假说上的):

        所有的目标都能够被表述为期望累积奖励的最大化。

        All goals can be described by the maximisation of expected cumulative reward.

        3.智能体与环境

        课程中给出了智能体与环境的交互示意图:

       

        这里值得注意的是,t是在env. step中进行增量操作的。比方说,我们的智能体处在时间步t,此时执行了某个动作a,环境在受到该动作影响之后,产生奖励r,因为奖励的给出是需要时间的,因此该奖励时间步为t+1。

        4.状态

        history和state是不一样的,所谓history,指的是由observations、actions、rewards所组成的序列,而state则是history的函数,具体如下:

        1)history:

       

        2)state:

        此外,视频中还提到了三个状态概念:environment state、agent state、information state(也叫作 Markov state)。其中environment state表示环境用于选择下一个observation/reward的数据;agent state表示智能体用于选择下一个action的任何信息;而information state则包含history中所有有用的信息。

        下面以小鼠例子对agent state进行理解:

        上面有说到agent state表示智能体用于选择下一action的任何信息,或者换句话说,它是RL算法所使用的信息。因此对于上面三个问题,答案分别是:1)电击,2)奶酪,3)无法确定。

        5.RL智能体的分类

        1)基于值函数(Value Based)-->不需要显式的策略,只需要max(V);

        2)基于策略(Policy Based)-->直接由state得到动作;

        3)AC(Actor Critic)-->其中actor即policy,critic即value function。

        其中AC算法我们可以从命名中看出其想法,也就是策略就好比一个演员,选择某一个动作,而值函数则类似于一个评论家,对演员的各种动作进行评分。即值函数将引导策略朝着奖励高的方向进行更新。

        6.学习与规划

        学习(Learning)和规划(Planning)是sequential decision making中的两个基本问题,这两个问题分别如下:

        1)Reinforcement Learning:

                a)智能体本身并不知道环境的相关信息;

                b)智能体与环境进行交互,从而获取环境的相关信息,比如奖励;

                c)智能体通过所得到的信息对策略进行改进。

        2)Planning:

                a)环境的模型M是知道的,模型包括transition和reward,transition是在某个状态s下执行动作a,转移到状态s'的概率分布,而reward是在某个状态s下执行动作a所得到的奖励,或者在某个状态s下的奖励;

                b)智能体利用M进行计算,并不需要实质性地与环境交互,就好比自己在脑子里想,我下一步走这里,然后这样走,之后我能得到多少奖励;

                c)智能体对策略进行改进。

        总的来说,learning就是在实践中学习,而planning则是在model中模拟。

        7.预测与控制

        1)预测:给定某个策略,估计该策略将能得到多少奖励;

        2)控制:找到一个最优的策略。

        下面举个Gridworld的例子进行学习:

        1)预测:

        该例子中,我们使用的是一个均匀随机策略,也即在某一个状态s处,选择向四个方向移动的概率均为0.25,然后我们对给出的两个交互样本(A-->A',B-->B')进行学习,利用迭代的方法求出了均匀随机策略对应的状态值函数表。

        2)控制:

        与预测的例子一样,同样的环境以及交互所得样本,我们并不满足于对一个均匀随机策略进行估计,而是以某一个初始化策略作为初值(e.g.均匀随机策略),迭代更新状态值函数与策略,最终得到最优策略,这才是我们所谓的“控制”。

        不知道怎么排版的,格式有点乱,请见谅......

        如有不当之处,请指正,谢谢。大笑

猜你喜欢

转载自blog.csdn.net/u013745804/article/details/78196834