用有趣的文字,教你强化学习入门知识(下)

接着上周强化学习入门知识(上),今天我们将剩下的部分讲完。大家久等了~


蒙特卡洛学习方法VS时序差分学习方法

我们的学习方法一般有以下两种:

1)蒙特卡洛学习方法(Monte Carlo Approach):在一个episode结束的时候搜集所有奖励,并计算出未来预期的最大奖励值。

2)时序差分学习方法(Temporal Difference Learning):预估每一个step所获得奖励。

蒙特卡洛学习方法

当一个episode结束的时候(也就是当Agent达到terminal state时),Agent会通过查看累积奖励值来了解自己做的有多好。在蒙特卡洛学习方法中,我们只有在游戏结束时才可以计算奖励值。

那么接下来,我们根据已有知识开始新的游戏。Agent通过每一次的迭代,会做出更好的决策。

举个例子:

在这样的迷宫环境里:

l 我们总是从同一个起点出发。

l 如果猫咪吃掉了小老鼠或者小老鼠移动超过20步,这一局就结束了。

l 在本局游戏结束时,我们会得到一系列的State, Actions, Rewards, 和New States。

l Agent会计算总的奖励值Gt(以了解自己做的有多好)。

l 然后Agent会根据上述公式更新V(st)值

l 接着,在此基础上开始新一轮游戏。

通过多轮游戏的练习,Agent会玩得越来越好。

时序差分学习方法:在每一个step中学习

同蒙特卡洛学习方法不同,时序差分学习可不会等到游戏结束时才计算未来预期的最大奖励值,相反,它会在游戏未终止的状态下,更新每个step的预估值V。

该方法简称为TD(0),也称为one step TD(在每个step结束时更新价值函数)。

时序差分学习方法只有在等到下一个step开始时才会更新预估值。当时间为t+1时,时序差分学习方法则会利用获得的奖励 Rt+1 和当前预估值V(St+1)来即刻确定自己的TD目标。

TD目标是一个估算值。实际上,在更新了one-step目标时就已经更新了之前估算值 V(St)。

Exploration & Exploitation 问题

在了解强化学习问题解决方案的不同策略之前,我们必须先接触一个更重要的概念:Exploration & Exploitation问题。

l Exploration:获取更多关于环境(environment)的信息。

l Exploitation: 利用已知信息最大化奖励。

请记住,在强化学习中,Agent的目标是将预期累积奖励值最大化。但是,我们总是容易掉进一个常见的陷阱里。

在这场游戏中,小老鼠可以吃到的小奶酪的数量是无限的(每吃一个加1分)。但是在迷宫的顶部格子里有一堆奶酪(吃完可以获得1000分奖励)。

如果我们的重点只在奖励上,我们的Agent便不会去吃那一堆奶酪。相反,它会只关注离它最近的奶酪,即使这个奶酪带来的奖励会比较少(exploitation)。

相反,如果我们的Agent有一点冒险精神,它就会找到那个最大的奖励。

这就是我们所说的exploration & exploitation问题。为了处理这个问题,我们必须定一个规则。之后我会写些文章来具体讲讲处理这种问题的几个方法。

强化学习的三种方法

在了解了强化学习的主要内容之后,我们接着来聊聊解决强化学习问题的三个方法,它们分别是:基于价值的强化学习、基于策略的强化学习和基于模型的强化学习。

基于价值的强化学习(Value Based)

基于价值的强化学习中,我们的目标是将价值函数V(s)最大化。

通过价值函数,我们可以知道Agent在每个状态下可能获得的未来预期的最大奖励值。

每个状态下的价值指的是,Agent从该状态开始时,可以在未来获得到的奖励的总额。

利用上述这个价值函数,Agent可以决定每个step需要选择的状态(state)。Agent会选择具有最大价值的state。

在迷宫这个案例中,我们在每一个step选择的都是最大价值,先是-7,然后是-6,再然后是-5,以此类推下去,实现目标。

基于策略的强化学习(Policy Based RL)

在基于策略的强化学习中,我们希望在不使用价值函数的情况下直接优化策略函数π(s)。

该策略定义了Agent在特定时间的行为。

学习策略函数有助于我们使每一个state匹配到最佳行为。

策略类型一般有以下两种:

l 确定性:在特定状态下的策略总是会返回相同的行为。

l 随机性:输出分布概率而非行为。

正如我们在这里所看到的,策略直接表明每一步应该采取的最佳动作。

基于模型的强化学习(Model Based RL)

在基于模型的强化学习中,我们对环境进行建模。这也就意味着,我们创造了一个特定环境下的行为模型。

但问题是每个环境都需要不同的模型表示,因此我们在以后的文章中不会提及该种类型的强化学习。

深度强化学习介绍

深度强化学习(Deep Reinforcement Learning)引入了深度神经网络来解决强化学习问题,因此将其命名为深度强化学习。

那么,在之后的文章中,我们就来谈谈Q-learning和深度Q-learning的学习。

学完之后你就会发现,在Q-learning中,我们是利用传统算法创建一个Q table,帮助我们寻找在每一步应该实施的行为。

而在深度Q-learning中,我们利用的是神经网络来帮助我们达成目标。

那么我们,下周见吧~


大家好,我是AI搬运工

致力于将国外的AI好文,翻译成大家都懂的中国话!
本文属于AI搬运工自行翻译,如有错误,欢迎指正!
原文来源:An introduction to Reinforcement Learning


近期文章回顾:

发布于 2019-01-25 08:23