人工智能时代前沿技术社区

首页 > 人工智能 > 热点

追溯强化学习的背后原理及应用展望

将从三个方向进行思考,强化学习的场景、强化学习的应用以及相关算法。

作者: | 2020-03-15 12:08:09

今天分享得主题是强化学习。将从三个方向进行思考,强化学习的场景、强化学习的应用以及相关算法。

一、强化学习的场景

不同于普通的机器学习,它要解决一些分类和回归的问题。

例如下围棋,对于每个状态的棋盘都需要进行一个动作,状态理解为期盼的样子,动作理解为下在哪里,奖励理解为是否赢,赢多少棋。会把问题一个拆解为状态、动作和奖励。有一个非常经典的场景,即AlphaGo Zero

此外,王者荣耀大家也不陌生。在2018年,匹兹堡大学和腾讯提出可以通过强化学习算法解决游戏中的机器人的问题。有时候会发现,真实的人类选手打不通机器人,这时候机器人也面临强化学习的问题,甚至在一些控制领域也是强化学习的问题,做旋转或者其他动作同样是。

强化学习的三个关键,状态、动作以及奖励,

二、强化学习简介

以自动驾驶为例子。

自动化驾驶的模型:车,这个模型要做一些动作,是否加速或者转向;做完这个个动作之后环境会反馈,比如摄像头看到的一些画面,环境会告诉变化。除了这个变化,系统会告诉一些奖励,比如在红灯的地方加速,这个奖励是负的。

因此,可以发现,智能体是一个闭环的过程。

如果在深度理解,第一时间智能体知道当前所处的状态,然后进行一些动作,然后环境知道这个动作,并反馈好与坏,在进入下一个状态。

对于算法从业者而言,要考,要优化和评估的东西是什么,很有可能是状态的好坏。对于不好的状态,在这个状态之前,做一些避免,或者评估在当前的状态下做哪个动作可以到达下一个好的状态或者得到一个最优的奖励。因此,评估状态和动作是强化学习的基础。

三、强化学习由来的算法:马尔科夫决策

马尔科夫基本概念:

状态价值函数:当处于当前状态时,按照某种策略一直执行下去,最终能获得的期望回报是多少;动作价值函数:当处于某种状态,作出了某种动作后,接下来再按某种策略一直执行下去,最终能获得的期望回报和是多少。

强化学习之前的一些前置算法,可以加强印象,也可对案例进行深度的理解。

强化学习即来自于马尔科夫,马尔科夫的下一个状态是St+1,仅与当前状态t+1有关,而与之前的状态无关。

什么意思?我今天早上几点起床仅取决于我昨天晚上几点睡觉,与前天无关。

用公式表示:

image.png 

马尔科夫过程:

image.png 

马尔科夫奖励过程:

在马尔科夫过程基础上增加了奖励函数和衰减系数。

image.png     

有了奖励之后就要考虑一个问题,奖励不好表示一个结果。因此,希望有一个累计的过程。

image.png 

四、Model Free

如何去更好的计算每个状态,或者每个状态加动作的奖励。

1584245429253200.png 

这是一个典型的动态规划的过程。

蒙特卡洛思想:

整体思路是:模拟-抽样-估值

示例:

如何求Π的值。一个使用蒙特卡洛方法的经典例子如下:

我们知道一个直径为1的圆的面积为Π。

把这个圆放到一个边长为2的正方形(面积为4)中,圆的面积和正方形的面积比是Π:4.

如果可以测量出这个比值c,那么,Π=cX4.

如何测量比值c呢?用飞镖去扎这个正方形,扎了许多次后,用圆内含的小孔数除以正方形含的小孔数可以近似的计算比值c

 

说明:

模拟-用飞镖去扎这个正方形为一次模拟。

抽样-数圆内含的小孔数和正方形含的小孔数。

估值-比值c=圆内含的小孔数\正方形含的小孔数

 

如果套到强化学习上面:

每个迭代Episode之后开始更新。

 

image.png 

image.png 

  

红色代表每个蒙特卡洛水准

五、Q leam算法

image.png 

Q leam是强化学习的具体算法

看具体算法:

1、初始化Q矩阵,并将初始化值设置为0

2、设置好参数Y和得分矩阵R

3、循环遍历场景:·随机初始化一个状态S;·如果未达到目标状态,则循环以下几步:在当前状态s下,随机选择一个行为a;在执行a得到下一个状态s;使用Q=R+Gmma*MaxQ,公式计算Q;当前状态S更新为S*

具体案例:

image.png 

image.png 

image.png 

六、深度增强学习DQN

Q leam挑战:

计算机玩Atari游戏的要求是输入原始图像数据,也就是210x160像素的图片,然后输入几个按键动作。总之就是和人类的要求一样,纯视觉输入,然后让计算机自己玩游戏。那么这种情况下,到底有多少种状态呢?有可能每一秒的状态都不一样。因为,从理论上看,如果每一个像素都有256种选择,那么就更多了。

·使用表格来表示Q值,现实的很多问题是几乎不可行的,因为状态太多;

·价值函数近似value funcation approximation

·深度学习网络近似Q函数

·loss function

 

增强学习DQN流程

image.png 

 

增强学习DQN损失函数

 

image.png 

七、应用展望

·推荐系统

平时刷手机看的商品或者新闻APP,这些都是推荐系统要做的事情

工业界,也有把强化学习放在推荐系统

要思考几个问题:rewardstateaction

推荐系统中:奖励可以是推了一个新闻,用户看或者不看或者看的时间或者用户评论;状态是用户本身的情况和阅读新闻的状态;动作就是推荐新闻的特征表达