涨知识,什么是强化学习(Reinforcement Learning)

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。

 

机器学习算法可以分为3种:有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)和强化学习(Reinforcement Learning),如下图所示:

涨知识,什么是强化学习(Reinforcement Learning)

有监督学习、无监督学习、强化学习具有不同的特点:

  • 有监督学习是有一个label(标记)的,这个label告诉算法什么样的输入对应着什么样的输出,常见的算法是分类、回归等;

  • 无监督学习则是没有label(标记),常见的算法是聚类;

  • 强化学习强调如何基于环境而行动,以取得最大化的预期利益。

强化学习(Reinforcement Learning)灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。

这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、模拟优化方法、多主体系统学习、群体智能、统计学以及遗传算法。

强化学习采用的是边获得样例边学习的方式,在获得样例之后更新自己的模型,利用当前的模型来指导下一步的行动,下一步的行动获得reward之后再更新模型,不断迭代重复直到模型收敛。在这个过程中,非常重要的一点在于“在已有当前模型的情况下,如果选择下一步的行动才对完善当前的模型最有利”,这就涉及到了RL中的两个非常重要的概念:探索(exploration)和开发(exploitation),exploration是指选择之前未执行过的actions,从而探索更多的可能性;exploitation是指选择已执行过的actions,从而对已知的actions的模型进行完善。

强化学习最重要的3个特点是:

(1)基本是以一种闭环的形式;

(2)不会直接指示选择哪种行动(actions);

(3)一系列的actions和奖励信号(reward signals)都会影响之后较长的时间。

涨知识,什么是强化学习(Reinforcement Learning)

强化学习决策实现过程需要设定一个agent(图中的大脑部分),Agent能够接收当前环境的一个observation(观察),Agent还能接收当它执行某个action后的reward,而环境environment则是agent交互的对象,它是一个行为不可控制的对象,agent一开始不知道环境会对不同action做出什么样的反应,而环境会通过observation告诉agent当前的环境状态,同时环境能够根据可能的最终结果反馈给agent一个reward,它表明了agent做出的决策有多好或者有多不好,整个强化学习优化的目标就是最大化累积reward。

 

在强化学习中,有四个非常重要的概念:

(1)规则(policy)

Policy定义了agents在特定的时间特定的环境下的行为方式,可以视为是从环境状态到行为的映射,常用π来表示。policy可以分为两类:

确定性的policy(Deterministic policy): a=π(s) 

随机性的policy(Stochastic policy): π(a|s)=P[At=a|St=t]

其中,t是时间点,t=0,1,2,3,……

St∈S,S是环境状态的集合St代表时刻t的状态,s代表其中某个特定的状态;

At∈A(St),A(St)是在状态St下的actions的集合,At代表时刻t的行为,a代表其中某个特定的行为。

(2)奖励信号(a reward signal)

Reward就是一个标量值,是每个time step中环境根据agent的行为返回给agent的信号,reward定义了在该情景下执行该行为的好坏,agent可以根据reward来调整自己的policy。常用R来表示。

(3)值函数(value function)

Reward定义的是立即的收益,而valuefunction定义的是长期的收益,它可以看作是累计的reward,常用v来表示。

(4)环境模型(a model of the environment),预测environment下一步会做出什么样的改变,从而预测agent接收到的状态或者reward是什么。

 

总之,强化学习作为一个序列决策(Sequential Decision Making)问题,它需要连续选择一些行为,从这些行为完成后得到最大的收益作为最好的结果。它在没有任何label告诉算法应该怎么做的情况下,通过先尝试做出一些行为——然后得到一个结果,通过判断这个结果是对还是错来对之前的行为进行反馈。

 

欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多资讯

涨知识,什么是强化学习(Reinforcement Learning)