机器学习——强化学习概述

1 .前言

深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习End-to-End Learning的一种全新的算法。简单的说,就是和人类一样,输入感知信息比如视觉,然后通过深度神经网络,直接输出动作,中间没有hand-crafted engineering的工作。深度增强学习具备使机器人实现真正完全自主的学习一种甚至多种技能的潜力。

虽然将深度学习和增强学习结合的想法在几年前就有人尝试,但真正成功的开端就是DeepMind在NIPS 2013上发表的Playing Atari with Deep Reinforcement Learning一文,在该文中第一次提出Deep Reinforcement Learning 这个名称,并且提出DQN(Deep Q-Network)算法,实现从纯图像输入完全通过学习来玩Atari游戏的成果。之后DeepMind在Nature上发表了改进版的DQN文章Human-level Control through Deep Reinforcement Learning,引起了广泛的关注,Deep Reinfocement Learning 从此成为深度学习领域的前沿研究方向。

而Hinton,Bengio及Lecun三位大神在Nature上发表的Deep Learning综述一文最后也将Deep Reinforcement Learning作为未来Deep Learning的发展方向。引用一下原文的说法:

We expect much of the future progress in vision to come from systems that are trained end-to-end and combine ConvNets with RNNs that use reinforcement learning to decide where to look.

从上面的原文可见三位大神对于Deep Reinforcement Learning的期待。而显然这一年来的发展没有让大家失望,AlphaGo横空出世,将进一步推动Deep Reinforcement Learning的发展。

Deep Reinforcement Learning的重要关键在于其具备真正实现AI的潜力,它使得计算机能够完全通过自学来掌握一项任务,甚至超过人类的水平。也因此,DeepMind很早受到了Google等企业的关注。DeepMind 50多人的团队在2014年就被Google以4亿美元的价格收购。而15年12月份刚刚由Elon Musk牵头成立的OpenAI,则一开始就获得了10亿美元的投资,而OpenAI中的好几位成员都来自UC Berkerley的Pieter Abbeel团队。

Pieter Abbeel团队紧随DeepMind之后,采用基于引导式监督学习直接实现了机器人的End-to-End学习,其成果也引起了大量的媒体报道和广泛关注。去年的NIPS 2015 更是由Pieter Abbeel及DeepMind的David Silver联合组织了Deep Reinforcement Learning workshop。可以说,目前在Deep Reinforcement Learning取得开拓性进展的主要集中在DeepMind和UC Berkerley团队。

为了研究Deep Reinforcement Learning,DQN的学习是首当其冲的。只有真正理解了DQN算法,才能说对Deep Reinforcement Learning入门。要理解并掌握DQN算法,需要增强学习和深度学习的多方面知识,笔者在2014年底开始接触DQN,但由于对基础知识掌握不全,导致竟然花了近1年的时间才真正理解DQN的整个算法。因此,本专栏从今天开始推出 DQN 从入门到放弃 系列文章,意在通过对增强学习,深度学习等基础知识的讲解,以及基于Tensorflow的代码实现,使大家能够扎实地从零开始理解DQN,入门Deep Reinforcement Learning。本系列文章将以一周一篇的速度更新。另外要说明的一点是DQN已被Google申请专利,因此只能做研究用,不能商用。

2 .预备条件

一定的概率论和线性代数基础(数学基础)
一定的Python编程基础(编程基础,后面的代码实现将完全基于Tensorflow实现)

3. 强化学习是什么

强化学习中,一般用智能体Agent作为动作的发出者,通过与环境Environment的交互获得奖励Reward,那么强化学习考虑的问题就是智能体Agent和环境Environment之间交互的任务。比如一个智能体要走到桌子旁边,那么这个智能体所全部能接收感知的信息周围就是环境,而智能体所能接收到的环境信息称之为观察Observation,而观察的集合就是智能体所处的状态,称之为State。当智能体发出一个动作后,相应的环境和接收到的环境也会发生改变,而环境带给你的反馈就是Reward。假如智能体现在向前走了一步,那他所观察到的环境会发生改变,收到环境变化的好坏(离桌子更近还是更远)用Reward表示。

图片来自David Silver的课程的ppt

在每个时间点time-step Agent都会从可以选择的动作集合中选择一个可执行动作执行,这个动作集合可以是连续的也可以是离散的。

所以我们的目标就是要能获取尽可能多的Reward。而且是累计Reward而不单单是每次动作获得的Reward(可以类比为最优化中局部最优与全局最优)

在每个time-step Agent 根据当前的Observation 来获得下一步的 Action。由此可见状态State和动作Action存在映射关系,也就是一个state可以对应一个action,或者对应不同动作的概率(常常用概率来表示,概率最高的就是最值得执行的动作),状态与动作的关系其实就是输入与输出的关系,而状态State到动作Action的过程就称之为一个策略Policy,一般用π表示,也就是需要找到以下关系:
在这里插入图片描述
其中a是action,s是state。第一种是一一对应的表示,第二种是概率的表示。
强化学习的任务就是找到一个最优的策略Policy从而使Reward最多。

我们一开始并不知道最优的策略是什么,因此往往从随机的策略开始,使用随机的策略进行试验,就可以得到一系列的状态,动作和反馈:
在这里插入图片描述
这就是一系列的样本Sample。增强学习的算法就是需要根据这些样本来改进Policy,从而使得得到的样本中的Reward更好。由于这种让Reward越来越好的特性,所以这种算法就叫做增强学习Reinforcement Learning。

转载来源于DQN 从入门到放弃1 DQN与增强学习 - Flood Sung的文章 - 知乎
https://zhuanlan.zhihu.com/p/21262246

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值