其实要得到强化学习的基本概念并不难。有一些智能体,我们希望这个智能体能够学习一些任务。假设,我们有一个Atari 2600控制台,智能体可以访问操纵杆,可以看到屏幕上发生了什么。 假设,我们以每秒60次的速度给予智能体一个屏幕截图,并问它想要按什么按钮。如果我们的智能体表现出色,它可以看到它的分数在增加(正强化),否则我们可以给它一个惩罚作为负奖励(负强化)。渐渐地,通过尝试和错误,智能体开始明白,它最好避免去做一些行为,而做一些能给它带来奖励的事情。 常用强化学习的设置 我们可以以更为正式的数学方式描述上面的过程:我们可以描述上述的强化学习框架(观察—动作—获得奖励和下一个状态)作为马尔可夫决策过程(MDP): 其中: S是一组状态, A是一套动作, R是奖励函数, T是转换函数, γ是贴现因子,权衡当前奖励和长远奖励之间的平衡。有一种普遍的观点认为,相较于遥远的未知,人类更喜欢当前的奖励,尽管有一些人认为这种观点是基于数学环境得出应该有所偏差。 我们还需要对用于下一节的策略函数进行定义,Policy是一个函数,它返回一个给定状态的动作: 而实际上,实际上,在解决MDP时我们的最终目标是学习这样一种策略,以便最大化我们的智能体的奖励。 举一个MDP的例子,圆圈代表状态,带有绿色标签的箭头是动作,红色标签是动作的奖励,而方块是终端状态。绿色数字标签是转换概率。 图片来源:David Silver的强化学习课程的幻灯片,第二讲 我们的学生现在从蓝色圆圈开始,学习对他来说,很难而且有些无聊。他决定打开一个Facebook应用程序,一旦他进入此状态,他可以退出或继续留在当前位置。然后,他学习越来越多的知识,最后决定去酒吧。 这个状态是一个更小的圆圈,因为现在有一个随机性的元素,基于学生在去过酒吧后忘记的知识量。然后,他可以学习更多知识,通过考试(+10的奖励),或者现在他可以选择睡觉并完成MDP。 DQN算法(深度Q网络) 由于我们将来会使用DQN和以及相关思想,接下来,我们来简单了解一下。 整个方法建立在近似于所谓的Q函数的基础上,并基于此建立智能体的行为。Q函数的概念如下:它返回给你一个关于特定的行为和特定状态的整个预期的贴现奖励流,给定从下一个状态开始,我们将遵循策略π。它回答了这样一个问题:“在此状态下按此按钮究竟有何好处”? Q函数遵循贝尔曼方程(Bellman equation): 最后,贝尔曼的最优性原则如下:不能总是回顾过去,我们应该始终采取最高Q以最大化奖励流: 但是你可能会问,我们该怎么得到这样的Q函数呢?让我们来看一个例子:想象一下,你想要一杯咖啡(+20的奖励)和一台自动售货机里的巧克力(+10的奖励)。你的总奖励不能超过30。而且,如果你已经喝了咖啡,从现在起,它就不能超过10(对巧克力的奖励)。 想法是这样的:当前步骤和操作的Q值=下一个状态的最大Q值(因为我们的行为是最优的)+转换的奖励。二次目标函数的值变成: (责任编辑:本港台直播) |