帖子

[经验分享] 用有趣的文字,教你强化学习入门知识(下)

[复制链接]
  • TA的每日心情

    前天 09:20
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    52920  楼主| AI 搬运工 发表于 2019-1-25 08:32:47 1#
    接着上周强化学习入门知识(上),今天我们将剩下的部分讲完。大家久等了~
    ----分割线----
    蒙特卡洛学习方法VS时序差分学习方法
    我们的学习方法一般有以下两种:
    1)蒙特卡洛学习方法(Monte CarloApproach):在一个episode结束的时候搜集所有奖励,并计算出未来预期的最大奖励值。
    2)时序差分学习方法(TemporalDifference Learning):预估每一个step所获得奖励。
    蒙特卡洛学习方法
    当一个episode结束的时候(也就是当Agent达到terminal state时),Agent会通过查看累积奖励值来了解自己做的有多好。在蒙特卡洛学习方法中,我们只有在游戏结束时才可以计算奖励值。
    那么接下来,我们根据已有知识开始新的游戏。Agent通过每一次的迭代,会做出更好的决策。
    1.jpg
    举个例子:
    2.png
    在这样的迷宫环境里:
    l  我们总是从同一个起点出发。
    l  如果猫咪吃掉了小老鼠或者小老鼠移动超过20步,这一局就结束了。
    l  在本局游戏结束时,我们会得到一系列的State, Actions, Rewards, 和New States。
    l  Agent会计算总的奖励值Gt(以了解自己做的有多好)。
    l  然后Agent会根据上述公式更新V(st)值
    l  接着,在此基础上开始新一轮游戏。
    通过多轮游戏的练习,Agent会玩得越来越好。
    时序差分学习方法:在每一个step中学习
    同蒙特卡洛学习方法不同,时序差分学习可不会等到游戏结束时才计算未来预期的最大奖励值,相反,它会在游戏未终止的状态下,更新每个step的预估值V
    该方法简称为TD(0),也称为one step TD(在每个step结束时更新价值函数)。
    3.png

    时序差分学习方法只有在等到下一个step开始时才会更新预估值。当时间为t+1时,时序差分学习方法则会利用获得的奖励Rt+1 和当前预估值V(St+1)来即刻确定自己的TD目标。
    TD目标是一个估算值。实际上,在更新了one-step目标时就已经更新了之前估算值 V(St)
    Exploration& Exploitation 问题
    在了解强化学习问题解决方案的不同策略之前,我们必须先接触一个更重要的概念:Exploration & Exploitation问题。
    l  Exploration:获取更多关于环境(environment)的信息。
    l  Exploitation: 利用已知信息最大化奖励。
    请记住,在强化学习中,Agent的目标是将预期累积奖励值最大化。但是,我们总是容易掉进一个常见的陷阱里。
    4.png
    在这场游戏中,小老鼠可以吃到的小奶酪的数量是无限的(每吃一个加1分)。但是在迷宫的顶部格子里有一堆奶酪(吃完可以获得1000分奖励)。
    如果我们的重点只在奖励上,我们的Agent便不会去吃那一堆奶酪。相反,它会只关注离它最近的奶酪,即使这个奶酪带来的奖励会比较少(exploitation)
    相反,如果我们的Agent有一点冒险精神,它就会找到那个最大的奖励。
    这就是我们所说的exploration & exploitation问题。为了处理这个问题,我们必须定一个规则。之后我会写些文章来具体讲讲处理这种问题的几个方法。
    强化学习的三种方法
    在了解了强化学习的主要内容之后,我们接着来聊聊解决强化学习问题的三个方法,它们分别是:基于价值的强化学习、基于策略的强化学习和基于模型的强化学习。
    基于价值的强化学习(ValueBased
    基于价值的强化学习中,我们的目标是将价值函数V(s)最大化。
    通过价值函数,我们可以知道Agent在每个状态下可能获得的未来预期的最大奖励值。
    每个状态下的价值指的是,Agent从该状态开始时,可以在未来获得到的奖励的总额。
    5.png
    利用上述这个价值函数,Agent可以决定每个step需要选择的状态(state)Agent会选择具有最大价值的state
    6.png
    在迷宫这个案例中,我们在每一个step选择的都是最大价值,先是-7,然后是-6,再然后是-5,以此类推下去,实现目标。
    基于策略的强化学习(PolicyBased RL
    在基于策略的强化学习中,我们希望在不使用价值函数的情况下直接优化策略函数π(s)
    该策略定义了Agent在特定时间的行为。
    7.png
    学习策略函数有助于我们使每一个state匹配到最佳行为。
    策略类型一般有以下两种:
    l  确定性:在特定状态下的策略总是会返回相同的行为。
    l  随机性:输出分布概率而非行为。
    8.jpg
    9.jpg

    正如我们在这里所看到的,策略直接表明每一步应该采取的最佳动作。
    基于模型的强化学习(ModelBased RL
    在基于模型的强化学习中,我们对环境进行建模。这也就意味着,我们创造了一个特定环境下的行为模型。
    但问题是每个环境都需要不同的模型表示,因此我们在以后的文章中不会提及该种类型的强化学习。
    深度强化学习介绍
    深度强化学习(Deep Reinforcement Learning)引入了深度神经网络来解决强化学习问题,因此将其命名为深度强化学习。
    那么,在之后的文章中,我们就来谈谈Q-learning和深度Q-learning的学习。
    学完之后你就会发现,在Q-learning中,我们是利用传统算法创建一个Q table,帮助我们寻找在每一步应该实施的行为。
    而在深度Q-learning中,我们利用的是神经网络来帮助我们达成目标。
    10.jpg
    那么我们,下周见吧~




    大家好,我是AI搬运工
    致力于将国外的AI好文,翻译成大家都懂的中国话!
    本文属于AI搬运工自行翻译,如有错误,欢迎指正!