强化学习

前言

机器学习可以大致分为四类:

  • 监督学习
  • 无监督学习
  • 半监督学习
  • 强化学习

监督学习是利用标记了的样本进行学习,无监督学习则是使用未标记的样本进行学习,这两个是我们最常见的。半监督学习则是样本中只有少量带标记的样本,多数样本都未标记,利用这些样本进行学习。强化学习则是很不同的一种学习方式,它没有规则的训练样本和标签,主要通过奖励和惩罚达到学习的目的。

什么是强化学习

《最强大脑》曾经有个挑战项目叫蜂巢迷宫,挑战者不断尝试不断试错。强化学习做法也类似,它主要包含三个概念:状态、动作和回报。同样是以迷宫为例,智能体所在的位置即是状态,从某个位置向某方向走一步则为动作,比如可以向左向右或向上向下,每走一步会产生回报,比如撞到墙就是负回报,好的动作则会带来正回报。而且不仅要关注当前的回报,还要关注长期的回报,通过不断试错学习到一个长期回报的动作序列。

强化学习是机器学习的主要学习方法之一,智能体从环境到行为的学习,也就是如何在环境中采取一些列行为,才能使得奖励信号函数的值最大,即获得的累积回报最大。

强化学习不同于监督学习,监督学习通过正确结果来指导学习,而强化学习通过环境提供的信号对产生的动作的好坏做一种评价,它必须要靠自身经历进行学习。学习后智能体知道在什么状态下该采取什么行为,学习从环境状态到动作的映射,该映射称为策略。

如下图,一个智能体agent通过与环境environment相互交互并以一定的策略改变环境,agent可以从环境中得到状态St,然后执行一个动作At,接着得到一个即时回报Rt,最后转移到下一个状态。

所以整个过程就可以总结为根据当前观察状态值找到一个最优的动作使得回报最多。

Markov决策过程

智能体与环境的交互过程会生成一个序列,

H=S0,A0,R1,S1,A1,R2,S2,A2...,St−1,At−1,Rt−1,St,Rt

对应的Markov动态过程为:agent初始状态为S0,然后执行动作A0,得到回报R1,然后转移到下个状态S1,不断重复。

这个过程构成Markov决策过程,服从“未来独立于过去”的Markov假设,所以下一时刻的状态只取决于当前时刻状态。即

p(St+1|St)=p(St+1|S1,S2,...,St)

如果定义了一个转换过程后,得到的回报函数累加和为

R(S0)+γR(S1)+γ2R(S2)+...

强化学习目标就是寻找一个最佳的策略,使回报加权和的期望值最大。

E[R(S0)+γR(S1)+γ2R(S2)+...]

而t时刻的累积回报可以表示为

Ct=Rt+1+γRt+2+γ2Rt+3+...=∑Tk=0γkRt+k+1

可以看到包含了一个阻尼系数r,它的取值为0到1,越靠后的状态对回报的影响越小,逐步衰减。

  • r=0时,Ct=Rt+1,这时只考虑当前动作的回报。
  • 0< r<1时,Ct=Rt+1+γRt+2+γ2Rt+3+...,这时考虑当前回报和未来回报。
  • r=1时,Ct=Rt+1+Rt+2+Rt+3+...,这时当前回报和未来回报比重一样。

在某个状态s下,价值函数为

vπ(s)=Eπ[Ct|St=s]即

vπ(s)=Eπ[Rt+1+γRt+2+γ2Rt+3+...|St=s]
vπ(s)=Eπ[Rt+1+γ(Rt+2+γRt+3+...)|St=s]
vπ(s)=Eπ[Rt+1+γCt+1|St=s]
vπ(s)=Eπ[Rt+1+γvπ(St+1)|St=s]

价值函数可以看成两部分,Rt+1为即时回报,γvπ(St+1)为下一状态价值函数值的打折值。上面的价值函数为Bellman Equation形态,即动态规划方程,可用迭代方式求解。

Q学习

前面说到的是状态价值函数,我们还需要动作价值函数,它可以用来根据动作价值的大小而做出动作。Q学习即是学习不同状态下各个动作的质量,它定义为

Qπ(s,a)=Eπ[Ct|St=s,At=a]

它同样可以变换成Bellman Equation形态,

Qπ(s,a)=Eπ[Rt+1+γQπ(St+1,At+1)|St=s,At=a]

最优动作价值函数,

Q∗(s,a)=MaxπQπ(s,a)

Q∗(s,a)=Eπ[MaxRt+1+γMaxSt+1Qπ(St+1,At+1)|St=s,At=a]

可以看到最大化当前的动作价值函数就是最大化当前回报和下一时刻状态的最优动作价值函数。

动作价值函数虽然能直接计算出Q值,但实际学习时并没有直接使用该Q值来更新,而是通过渐进的方式来更新。学习的方法可用如下伪代码说明,首先初始化Q学习的状态集和动作集组成的数组,然后观察初始状态,接着不断重复执行:选择一个动作,观察回报并转移到新状态,更新Q学习数组值,涉及迭代方式更新,由于我们不能知道下一刻状态的Q值,所以更新时用之前迭代的Q值来更新此次迭代的Q值,其中α表示学习率。

initialize Q[numstates,numactions] arbitrarily
observe initial state s
repeat
    select and carry out an action a
    observe reward R and new state s'
    Q[s,a] = Q[s,a] + α(R + γmaxa'Q[s',a'] - Q[s,a])
    s = s'
until terminated

强化学习的特点

  • 它是试错学习,因为它没有像监督学习一样的直接指导信息,所以它只能不断去跟环境交互不断试错来获取最佳策略。
  • 它的回报具有延迟性,因为它往往只能在最后一个状态才能给出指导信息,这个问题也让回报的分配更加困难,即在得到正回报或负回报后怎么分配给前面的状态。

强化学习的运用

  • 比如飞行器的飞行控制。
  • 比如控制机器人的行走。
  • 比如学习怎么玩游戏。
  • 比如学习怎么理财投资。
  • 比如学习怎么下棋。

以下是广告

========广告时间========

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

欢迎关注:

时间: 2025-01-20 17:52:40

强化学习的相关文章

【双11背后的技术】基于深度强化学习与自适应在线学习的搜索和推荐算法研究

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:灵培.霹雳.哲予 1. 搜索算法研究与实践 1.1 背景 淘宝的搜索引擎涉及对上亿商品的毫秒级处理响应,而淘宝的用户不仅数量巨大,其行为特点以及对商品的偏好也具有丰富性和多样性.因此,要让搜索引擎对不同特点的用户作出针对性的排序,并以此带动搜索引导的成交提升,是一个极具挑战性的问题.传统的Learning to Rank(LTR)方法主要是

引入秘密武器强化学习,发掘GAN在NLP领域的潜力

1.基础:文本生成模型的标准框架文本生成(Text Generation)通过 机器学习 + 自然语言处理 技术尝试使AI具有人类水平的语言表达能力,从一定程度上能够反应现今自然语言处理的发展水平. 下面用极简的描述介绍一下文本生成技术的大体框架,具体可以参阅各种网络文献(比如:CSDN经典Blog"好玩的文本生成"[1]),论文等. 文本生成按任务来说,比较流行的有:机器翻译.句子生成.对话生成等,本文着重讨论后面两种. 基于深度学习的Text Generator 通常使用循环神经网

Deep Reinforcement Learning for Dialogue Generation-关于生成对话的深度强化学习

关于生成对话的深度强化学习   摘要:生成对话的最新神经模型为对话代理提供了很好的前景,但这往往是短视的.每次只预测一句话语从而忽视了它们对之后输出的影响.模拟对话的未来方向的关键在于生成连续.有趣的对话,导致对话的传统NLP模型去借鉴强化学习的需求.在本文中,我们展示如何去整合这些目标,在聊天机器人对话中使用深度强化学习去建模未来的反馈.该模型模拟两个虚拟代理之间的对话,使用策略梯度算法去惩罚序列,该序列展示三个有用的对话性质:信息性(非重复交替),连贯性,和易于回答(与前瞻性功能有关).我们

详解Facebook田渊栋NIPS2017论文:让大家都能做得起深度强化学习研究的ELF平台

这周,机器学习顶级会议 NIPS 2017 的论文评审结果已经通知到各位论文作者了,许多作者都马上发 Facebook/Twitter/Blog/朋友圈分享了论文被收录的喜讯.大家的熟人 Facebook 人工智能研究院研究员田渊栋也有一篇论文入选,论文名为「ELF: An Extensive, Lightweight and Flexible Research Platform for Real-time Strategy Games」.这篇论文介绍了他们构建的强化学习研究平台 ELF,为环境

邓侃:深度强化学习“深”在哪里?

当今世界,科技发展日新月异.即便是业界中人,往往也搞不清同行们的动态.所以,隔三差五需要有人梳理业界的动态.  "Deep ReinforcementLearning: An Overview" [1] 这篇论文的作者,梳理了深度学习与增强学习相融合的最新动态.   这是一篇苦心之作,   梳理了该领域各个学派的基本思路及其区别. 罗列了各种测试平台,目前主要是各种游戏,之所以用游戏来做测试,是因为容易采集数据. 值得读的论文,罗列了各个学派的重要论文.  枚举了若干重要的应用,包括游

强化学习全解;Facebook 机器学习@Scale 2017 资料汇总 | 开发者日报

强化学习全解 强化学习(Re-inforcement Learning) 是一种基于与环境互动的目标导向的学习.强化学习被认为是真正的人工智能的希望.作者认为这是正确的说法,因为强化学习拥有巨大的潜力. 据雷锋网(公众号:雷锋网)了解,很多人说,强化学习被认为是真正的人工智能的希望.本文从 7 个方面带你入门强化学习,读完本文,希望你对强化学习及实战中实现算法有着更透彻的了解. 详情:http://dataunion.org/27366.html Facebook 机器学习@Scale 2017

专访 | 阿里搜索事业部研究员徐盈辉:剖析阿里背后的强化学习技术

剖析阿里背后的强化学习技术 2013 年,DeepMind 在 NIPS 大会上发表的一篇深度强化学习的文章,一举惊艳了学术界.2016 年 1 月,AlphaGo 在一场围棋大赛中击败李世乭吸引全世界的目光,其背后的强大武器正是深度强化学习技术.同年年底,2016NIPS 最佳论文奖也颁给了解决深度强化学习泛化能力较弱问题的论文. 随着深度学习的突破性进展,也促使强化学习的研究前景,重新获得了产业各界的关注.2016 年 8 月,在 ACM(国际计算机学会)会刊一篇名为<强化学习的复兴>的文

NASA计划后,阿里又透露了在强化学习领域的布局

日前,阿里启动了一项代号"NASA"的计划,动员全球两万多名科学家和工程师投身"新技术战略",预计面向未来20年组建强大的独立研发部门,建立新的机制体制,储备核心科技.而就在不久前,阿里的强化学习技术刚刚入选MIT评选的2017全球十大突破技术榜单,科技媒体"机器之心"的记者最近对阿里巴巴研究员徐盈辉进行了专访,请他详细介绍了阿里在该技术领域的思考.布局以及对未来的判断. 以下是报道全文: 2013 年,DeepMind 在 NIPS 大会上发表

【专栏】谷歌资深工程师深入浅析AlphaGo Zero与深度强化学习

AlphaGo的巨大成功掀起了围棋界三千年未有之大变局,也使得深度强化学习(Deep Reinforcement Learning)渐为大众熟悉.尤其是最新推出的AlphaGo Zero完全摒弃了人类知识,并且三天内碾压了早期版本的AlphaGo,更足显强化学习和深度学习结合的巨大威力.AlphaGo Zero的论文侧重于描述效果,对于方法的论述比较简短,没有相关背景的人读起来可能会有一些困难.本文对强化学习以及AlphaGo Zero算法做了详细描述. 摘要 AlphaGo Zero无需任何人

专访阿里巴巴徐盈辉:深度学习和强化学习技术首次在双11中的大规模应用

12月6日-7日,由阿里巴巴集团.阿里巴巴技术发展部.阿里云联合主办,以"2016双11技术创新"为主题的阿里巴巴技术论坛(Alibaba Technology Forum,ATF)将在线举办.(https://yq.aliyun.com/promotion/139) 系列文章陆续发布: 专访阿里巴巴徐盈辉:深度学习和强化学习技术首次在双11中的大规模应用 专访阿里巴巴林伟:三项世界级挑战背后的思考.实践和经验 专访阿里巴巴魏虎:揭秘阿里双11背后的全站个性化&商铺千人千面 价