油管最火十分钟机器学习数学课-深度Q学习

考虑一下这个场景,你在玩一个游戏超级马里奥,不过你自己在玩,你要训练一个AI来替你玩游戏,你会怎么思考这个问题?如果你从一些顶尖玩家处截屏游戏片段,我们可以利用这些视频片段来作为模型输入,而输出可以是马里奥可以移动的方向。这就是一个有监督的分类问题,因为我们的训练数据集是有标注的,也就是移动的方向。假设我们拥有很多数据,而且拥有大量GPU,那么我们就可以训练一个神经网络。给定一个新的视频片段,就可以知道最佳的通关路线,但我们需要几千个小时的游戏视频来进行训练,这不像是对于具体问题的优雅解决方案。首先,我们不是在静态数据上训练模型,而是在动态的数据上,这些训练数据是连续的,新的视频帧连续不断地在游戏时间出现。我们想知道如何在这个世界中行动,人类通过和环境互动以达到最佳学习效果,而不是看别人与环境互动。这个环境是随机的,任何事件都有可能发生,看上去最好的办法就是通过尝试不同的可能性来学习,而不是把他构造成可以通过模式识别来解决的问题。让我们把它设计出通过一系列尝试和犯错的过程来解决的问题。强化学习就是用来解决这类问题的。现在我没有一类标签,每当马里奥做了一些有助于赢得游戏的行为,正标签就会出现,只是它们不会立刻被我们获得,它们有延迟,相比起把它们叫做标签,让我们叫做反馈。那么我们如何用数学的方式将这个过程形式化尼?

让我们从一个环境开始,在这个环境中,AI或者agent会执行一系列动作,由于环境是不可预测的,我们希望可以追踪agent执行动作后当前的状态。在给定环境下,该动作也许可以得到也许得不到使得分数增加的奖励。这样可以将整个游戏过程表示成一个状态,动作或奖励构成的序列。

                                                  

每个状态的概率仅仅取决于前一个状态和执行的动作而忽略之前的状态和动作。这被称作马尔科夫特性,一种概率理论。由于我们的agent做策略的时候是基于马尔科夫特性,这个过程被称作马尔可夫过程。我们希望agent是聪明的AF,不仅能够规划短期的奖励,也适用于长期的奖励。在超级马里奥的例子里,踩中一个Koopa,短期内分数可以增加,但仅限于此。然而,吃掉一个星星,不仅可以增加短期内的分数,还可以增加远期的分数。从t时刻向前的奖励可以表示为:

                                                    

但需要注意的是,我们的环境是未知的,所以我们不确定,在另一次游戏中是否获得相同的奖励。在更远的未来,奖励会更加的偏离,所以我们在方程中增加一个介于0-1之间的衰退因子。这表示当前的奖励随时间而衰退。

                                            

 我们在某个状态下执行某个动作,并从这个点开始持续优化的过程表示成一个函数如下。这个函数值表示一个游戏结束后可能出现的最佳得分,当在给定状态下执行给定动作之后,此函数用于衡量该状态下某个动作的质量,我们称Q函数为质量(quality)。

                                                        

当马里奥决定执行哪个可能的动作时,答案是选择那些Q值最高的动作。计算Q值便是一个学习的过程,当前状态和动作最大的未来奖励是即时奖励加上下一个状态的最大未来奖励,这也称之为内尔曼方程。

                                    

我们可以将Q函数看作是一个矩阵,行表示状态,列表示动作。首先,我们对矩阵Q进行随机初始化,通过观察游戏的初始状态,然后通过训练过程得到近似值。首先,选取一个动作执行动作并观察,执行动作是否可以得到奖励,状态也随之被更新,Q学习算法常用来寻找任意马尔可夫决策过程的优化策略。 这个算法十分常用,不仅仅在强化学习领域,甚至可以用于任何有限的马尔可夫决策过程。已有研究证明,Q学习算法最终都可以找到优化策略。如果我们将Q学习应用到马里奥上,状态会定义为屏幕上敌人的未知信息、障碍物的位置以及其他影响因素。我们怎样表示一个通用的状态,可以推广到不同的游戏中。其实,所有的游戏都有一个共同点,它们都是用像素表示的,如果我们可以通过某种方法将像素转换成动作,算法就可以学习到不同游戏的优化策略。

                                                         

如果我们使用卷积神经网络如下,我们就可以将游戏屏幕作为输入,并针对每一个可能动作输出Q值。Deep mind使用的神经网络包含三层卷积层和两层全连接层。

                                            

通常池化层也常被使用,它可以使网络对位置不敏感,无论图片中的物体在什么位置,这对于图片分类任务十分有效,可以检测图片是否包含特点物体。我们将不同的游戏界面最为输入,有了这些输入,我们可以表示出游戏角色的速度和方向。而输出则是每个可能动作的Q值,我们运用了深度网络来帮助我们计算Q值,我们可以将这个过程称为深度Q学习。Deep mind也运用了一些其他技巧,但这些都是基本想法,而最棒的事情是运用深度Q学习算法。我们可以学习玩转任何游戏。

总结一下,强化学习通过优化某种媒介从而优化稀疏的时间延迟标签也就是说优化环境中的反馈。马尔可夫决策过程是一个数学框架,可以对建模进行决策。决策过程利用了状态、动作和回报。而Q学习是其中一种方法,对任意马尔可夫决策过程都可以用来寻找最优的动作选择策略。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值