帖子

[经验分享] AI 搬运工 | 用有趣的文字,教你强化学习入门知识(上)

[复制链接]

该用户从未签到

36340  楼主| AI 搬运工 发表于 2019-1-16 11:01:57 1#
强化学习是一种重要的机器学习方法。在强化学习中,智能体(Agent)在某个特定环境中采取行动并观察行动的结果。

阅读本文,你将了解:
1)什么是强化学习,以及为什么在强化学习中奖励的思想这么重要 。
2)强化学习的三种方法
3)深度强化学习中深度的含义
强化学习背后的思想是,Agent是通过与环境交互并获得行为表现奖励为指导来进行学习的。

1.jpg
其实,通过与环境的交互来学习来源于我们的自然经验。想象一下,你是一个小孩,现在正在客厅里。你看见了壁炉,不自觉地想靠近它。
2.png
火炉很暖,你感觉也很好(积极奖励+1),于是你明白了,火是个好东西。
3.png

但是,当你试图去触摸火的时候,哎哟我去,手竟然被烧伤了(消极奖励-1)。就在刚刚,当你与火保持了足够的距离时,你觉得火是个好东西,因为它使你觉得温暖。但是当你靠得太近时,你立马就被烧伤了。

这就是人类的交互式学习。强化学习就是这样一种计算机学习方法。

强化学习的过程
4.png

我们想象一下,假设agent要玩超级马里奥,那会是什么样儿。

强化学习的过程就可以被模拟为这样的一个过程:
1)Agent从环境中接收到了状态 S0(在这个案例中,我们从超级马里奥中游戏获取到的游戏第一帧)
2)基于状态 S0,Agent采取了行动 A0(agent将向右移动)
3)环境过渡到状态 S1(新的一帧)
4)环境给予Agent奖励R1(胜利:+1)

如上,state, action, reward形成了强化学习的整体链路。
Agent的目标是:将预期累积奖励最大化。

奖励假设的核心思想
为什么Agent的目标是将预期累积奖励最大化呢?

好吧,其实强化学习是基于奖励假设这个概念之上的。所有的目标都可以被描述为将预期累积奖励最大化。

这就是为什么,在强化学习中,为了获得最佳行为,我们需要将预期累积奖励最大化。

每次的累积奖励公式如下:
5.png

也可以写成:
6.png

然而,实际上,我们并不能用这种方法来累加奖励。奖励来的越早越容易发生,因为相比于未来的长期奖励,来得比较早的奖励更容易预测。

7.png

如上图,假设Agent是这个小老鼠,你的对手是猫。那么,你的目标就是:在被猫吃掉之前,让你的小老鼠吃最多的芝士。

正如我们在这个图中看到的一样,很有可能,你的小老鼠吃掉自己周边芝士的可能性远大于吃掉猫周边的芝士(小老鼠离猫咪越近,就越危险)。

因此,吃掉猫咪周围芝士的奖励就会被打个折扣(尽管靠近猫咪的芝士更多)。毕竟我们并不能肯定,我们的小老鼠一定能吃到这些芝士。

为了使奖励打折,我们会这样做:
我们将折扣率称为gamma,这个gamma值必须在0到1之间。
1)gamma值越大,折扣越低。这也就是说agent更关心长期奖励。
2)gamma值越小,折扣越高。这也就是说,agent更关注短期奖励(最近的芝士)。

打折
折扣后的累积预期奖励公式为:
8.png

简单来说,每个奖励都会根据gamma值的时间指数倍进行打折。随着迭代时间的增加,猫咪离我们的小老鼠更近,因此,远期奖励越来越不可能获得。

情景任务或者连续任务
任务(task)是强化学习问题中的一个实例。通常任务有两种类型:情景任务和连续任务。

情景任务
情景任务中有有起点(starting point)和终点(ending point,终结状态)。
这就创建了一个情景,这个情景中包含states,actions,rewards,和新states。

举个例子,在超级马里奥这个情景任务中,当新一轮的马里奥启动了,情景就开始了,当马里奥死掉了或者到达游戏顶级后,情景就结束了。

9.png

新情景的开始
连续任务
连续任务指的是任务状态是永久连续的,无终止状态。在连续任务中,Agent必须学习如何选择最佳行为(the best actions),同时与环境进行交互。

比如说这场自动股票交易,这个任务并没有起止点和终结状态。Agent会一直运行,除非我们要停止它。
10.png






——未完待续,敬请期待哦——


1.png