text.html 13.2 KB
Newer Older
ToTensor's avatar
ToTensor 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
 
<p class="content_105">介绍完冰湖挑战小游戏,咖哥忽然拿出一本看起来是英文的书,向大家比划了两下。同学们瞥见书名是《The Road Less Traveled》,作者是M·斯科特·派克(M.Scott Peck)。小冰想起同学圈里盛传咖哥英文很差,四级都没过,心想这样的咖哥还能够读英文书,不禁啧啧称奇。</p> 
<p class="content_105">不料咖哥又拿出一本中文书,书名是《少有人走的路—心智成熟的旅程》,说道:“其实我读的是中文版的啦。我觉得书好,就把英文版也买过来,对照着看,也是为了学习英文。</p> 
<p class="content_105">这本书让人醍醐灌顶啊。它告诉我们,人生苦难重重,乃是一场艰辛之旅,心智成熟的旅程相当漫长。必须去经历一系列艰难而痛苦的转变,才能最终达到自我认知的更高境界。</p> 
<p class="content_105">那么如何做到这个转变呢?只有通过自律。而自律有4个原则:延迟满足、承担责任、厘清现实、保持平衡。</p> 
<p class="content_105">第一个原则就是<span class="bold">延迟满足</span>。这是<span class="bold">人从心理幼儿到心理成年状态的关键性转变</span></p> 
<p class="content_105">小冰此时终于忍不下去了。“咖哥!”她大叫,“我们的新项目3个月内必须做完,老板只给了两个星期来学AI,也许你的这个东西对我的人生很重要,可你能不能安排别的时间说呢?”</p> 
<h3 class="thirdTitle" id="bw274"><a >11.2.1 延迟满足</a></h3> 
<p class="content_105">咖哥说:“你们觉得我跑题了,但其实并没有。人工智能,离不开人,离不开人的心理。也许会吓你们一跳,但我还是先下一个结论:<span class="bold">强化学习和监督学习最显著的区别,就在于延迟满足。</span></p> 
<p class="content_105">小冰如坠入五里雾中。</p> 
<p class="content_105">咖哥又说:“不懂了吧!那我再接着说什么是自律、什么是延迟满足。”</p> 
<p class="content_105">假设你们有一整个下午的时间,30页的数学作业和一块巧克力蛋糕。你们可以选择先吃蛋糕,玩一会儿,再抓耳挠腮地做题;或者先做完30页的数学作业,再悠闲地吃蛋糕,边吃边玩儿。</p> 
<p class="content_105">“你怎么选呢,小冰?反正我知道,99%的小孩子都会选择先把蛋糕吃了再说。因为他们无法抵挡‘甜’的即时诱惑。当然,他们也就没有机会去感受做完功课后才享受‘奖励’的悠闲感了。”</p> 
<p class="content_105">“因此,满足感的推迟,意味着不贪图暂时的安逸,并重新设置人生快乐与痛苦的次序:首先,面对问题并感受痛苦;然后,解决问题并享受更大的快乐。这是作为正常的、成熟的成年人更可行的生活方式。”</p> 
<p class="content_105">咖哥停顿,环视同学们。同学们表情中看不出什么来,这是在示意:你接着说。</p> 
<p class="content_105">“那么,监督学习,就像是那些未成年的孩子,总得需要大人管着。每做一次预测、推断,就马上要反馈、要回报。”</p> 
<p class="content">“—告诉我是对了还是错了!”</p> 
<p class="content">“—只有知道对了还是错了,我才知道该怎么调整我的权重!”</p> 
<p class="content">“—快告诉我!快告诉我!”</p> 
<p class="content_101">监督学习不停地喊叫着。</p> 
<p class="content"><span class="bold">而强化学习,则像成年人那么安静。</span>他耐心等待,因为他知道,他每做一个决定,都是往未来的长期目标靠近了一步,而回报和奖赏,不会那么快到来,但是总有一天会看到结果的……</p> 
<p class="content">这就是强化学习和监督学习最显著的区别。</p> 
<h3 class="thirdTitle" id="bw275"><a >11.2.2 更复杂的环境</a></h3> 
<p class="content_105">看到同学们若有所思,咖哥说:“看来‘延迟满足’这个心理学概念对大家来说比较陌生?但是同学们,你们总应该听说过‘巴甫洛夫的狗’吧。”</p> 
<p class="content_105">小冰回道:“当然听说过了。我记得好像就是总在给狗吃饭的同时摇铃铛,后来狗一听到铃铛响就流口水。”</p> 
<p class="content_105">咖哥点头,说:“对,你说的就是巴甫洛夫的条件反射实验。也许他才应该被认为是强化学习研究领域的‘老祖宗’吧。只是他研究的不是机器,而是狗。在巴甫洛夫的经典条件反射中,强化是自然的、被动的过程。而在后来的斯金纳的操作性条件反射中,强化是一种人为操纵,是指伴随于行为之后以有助于该行为重复出现而进行的奖惩过程。操作性条件反射是心理学中的行为主义理论和心理治疗中行为疗法的理论基础。”</p> 
<p class="content">据说强化学习的灵感就源于行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期行为,并产生能获得最大利益的习惯性行为。也就是说,人的行为是人所获刺激的函数。如果刺激对人有利,则相应行为就会重复出现;如果刺激对人无利,则相应行为就会减弱直至消逝。</p> 
<p class="content">强化学习的主角是<span class="bold">智能体</span>。智能体的角色大概等同于机器学习的模型。但是强化学习中,“标签”变成了在训练过程中环境给予的<span class="bold">回报</span>,回报有正有负,因此就是<span class="bold">奖惩</span>。同时,这种奖惩并不总是即时发生的。</p> 
<p class="content">强化学习的应用场景也和普通机器学习任务有所区别。强化学习一般是应用于智能体玩游戏、自动驾驶、下棋、机器人搬东西这一类任务中。在智能体训练的过程中,它会根据当前环境中的不同状态进行不同的动作,也就是做决策。比如,一个玩超级玛丽游戏的智能体,没有经过训练之前,它就在原地等着,时间一到就得到惩罚。那么下一次它就开始尝试采取不同的策略,比如往前走,走了一段路后碰到“小怪物”,又得到了惩罚。于是智能体就学着跳来跳去,这样一直学、一直学,最后找到了通关的策略。</p> 
<p class="content">不难看出,强化学习要解决的场景实际上比普通机器学习更复杂、更灵活。而且,智能体在环境之中的学习,与人类所面临的日常任务也更加相似一些。因此,强化学习在整个机器学习中属于难度较大的领域,其理论相对来说也不是很完善。而且,也没有通用的强化学习算法能够较完美地解决各种实际任务。我们可能听说过,通过强化学习训练的Alpha Go的下围棋能力可能已经超越人类,然而围棋这个任务的规则设定仍然是很简单的,其决策只是小小棋盘上的落子。而在现实生活中,真实的环境和任务的复杂度还远不止如此。</p> 
<div class="pic"> 
 <img src="http://csdn-ebook-resources.oss-cn-beijing.aliyuncs.com/images/b88b00f6ad14402ea66695d6809614da/figure-0327-0421.jpg"> 
 <p class="imgtitle">监督学习中的反馈直接、即时;强化学习中的反馈可能有延迟</p> 
</div> 
<h3 class="thirdTitle" id="bw276"><a >11.2.3 强化学习中的元素</a></h3> 
<p class="content">下面介绍一下强化学习中的元素。</p> 
<p class="content">首先把强化学习的主角叫作智能体:<span class="bold">Agent</span>。因为它往往会做出动作、决策,而不像普通机器学习中的模型只是进行预测、推断。</p> 
<p class="content">强化学习的4大元素如下。</p> 
<p class="content">■A—<span class="bold">Action</span>,代表智能体目前可以做的<span class="bold">动作</span></p> 
<p class="content">■S—<span class="bold">State</span>,代表当前的<span class="bold">环境</span>,也可以说是<span class="bold">状态</span></p> 
<p class="content">■R—<span class="bold">Reward</span>,代表环境对智能体的<span class="bold">奖惩</span></p> 
<p class="content">■P—<span class="bold">Policy</span>,代表智能体所采取的<span class="bold">策略</span>,其实也就是机器学习算法。我们把策略写成<span class="italic">π</span><span class="italic">π</span>会根据当前的环境的状态选择一个动作。而智能体根据策略所选择的每一个动作,会带来状态的<span class="bold">变化</span>,这个变化过程的英文叫作<span class="bold">Transition</span></p> 
<p class="content">智能体与环境的交互如下图所示。</p> 
<div class="pic"> 
 <img src="http://csdn-ebook-resources.oss-cn-beijing.aliyuncs.com/images/b88b00f6ad14402ea66695d6809614da/figure-0328-0422.jpg"> 
 <p class="imgtitle">智能体与环境的交互</p> 
</div> 
<p class="content">此外,还有智能体的<span class="bold">目标—Goal</span>,是十分明确的,就是<span class="bold">学习一种策略,以最大化长期奖励</span></p> 
<h3 class="thirdTitle" id="bw277"><a >11.2.4 智能体的视角</a></h3> 
<p class="content">那么,从智能体的视角来看它所处的环境,它的感受及行为模式如何呢?</p> 
<p class="content">(1)当它一觉醒来,刚睁开眼,看到的是环境的初始状态。</p> 
<p class="content">(2)它随意做了一个动作。</p> 
<p class="content">(3)环境因为它的行为而有所改变,状态发生了变化。</p> 
<p class="content">(4)环境进入下一个状态,并将这个状态反馈给智能体。</p> 
<p class="content">(5)同时,环境也会给智能体一个奖惩。</p> 
<p class="content">(6)此时,智能体会根据新的状态来决定它接下来做什么样的动作,并且智能体也会根据所得的奖惩来更新自己的策略。</p> 
<p class="content">(7)循环(2)~(6),直到智能体的目标达成或者被“挂掉”。</p> 
<p class="content">(8)重启游戏,但是智能体所习得的策略不会被清空,而是继续修正。</p> 
<p class="content">因此,对于智能体来说,它做的只是依据当前状态和目前已有策略,做出相应的动作并收到回报,进入下一个状态,然后更新策略,继续做动作并收到回报……</p> 
<p class="content">有的同学可能还是不明白。——智能体到底是怎么知道自己是向着具体任务的目标前进的呢?</p> 
<p class="content">答案是,它是通过<span class="bold">奖惩函数</span>来评判自己离目标的远近的。</p> 
<p class="content">我们的算法需要最大化这个奖励值(就像在监督学习中的目标是最小化损失)。然而,这个奖惩函数只是目标的一个延迟的、稀疏的形式,不同于在监督学习中能直接得到每个输入所对应的目标输出。在强化学习中,只有训练一段时间后,才能得到一个延迟的反馈,并且只有一点提示说明当前是离目标越来越远还是越来越近。</p> 
<p class="content">■在某些情况下,智能体可能无法在每一步都获得奖励,只有在完成整个任务后才能给予奖励,之前每一个没有奖励的动作都在为最终的奖励做铺垫。</p> 
<p class="content">■而在另外一种情况下,智能体可能在当前获得了很大的奖励,然后在后续的步骤中才发现,因为刚才贪了“小便宜”,最后铸成大错。这样,今后的策略甚至要修正获得奖励的那个策略。</p> 
<p class="content">可见,强化学习任务对“智能”的成熟度要求因为奖惩的延迟而提高了一大截!</p> 
<p class="content">另一个同学问道:“除了‘延迟满足’,这强化学习与其他机器学习还有什么不同呢?”</p> 
<p class="content">除了“延迟满足”,还有以下区别。</p> 
<p class="content">(1)闭环性质:一般来说,强化学习的环境是封闭式的,而普通机器学习是开放式的。</p> 
<p class="content">(2)没有主管:没有人会告诉智能体当前决策的好坏,只有环境依据游戏规则对它的奖励和惩罚。而变通机器学习每个训练集数据都有对应的真值和明确的评估标准。</p> 
<p class="content">(3)时间相关:普通机器学习除了时序问题之外,训练集数据顺序可以被打乱,输入先后不影响机器学习结果,而强化学习的每一个决策都取决于之前状态的输入。</p> 
<p class="content_101"><img alt="" class="h-pic" src="http://csdn-ebook-resources.oss-cn-beijing.aliyuncs.com/images/b88b00f6ad14402ea66695d6809614da/figure-0329-0423.jpg">咖哥发言</p> 
<p class="content">强化学习的热潮始于Deep Mind团队在《自然》杂志上发表的一篇论文《Playing Atari with Deep Reinforcement learning》。论文中介绍了如何把强化学习和深度学习结合起来,让神经网络学着玩各种Atari游戏,使智能体在一些游戏中表现出色。后来Deep Mind团队不断地发表强化学习研究新成果,他们团队的博客的文章非常棒,把强化学习的技术细节讲解得很清楚。你们有时间可以自己去看一看。</p>