书籍主页:http://incompleteideas.net/book/the-book.html
原书链接:http://incompleteideas.net/book/RLbook2018.pdf
Github翻译主页:https://rl.qiwihui.com/zh_CN/latest/
官方翻译豆瓣主页:https://book.douban.com/subject/34809689/
注:本文并不完全是对原文的翻译,而是结合了部分个人理解的产物。
当我们思考学习的本质的时候,最容易出现在我们脑海中的想法就是通过与环境进行互动。当我们还是小婴儿的时候,挥舞手臂引起父母注意,拍打玩具让它们发出声响,很容易就能得到直接的感知反馈。在成长过程中,不断的练习这样的“行动→反馈”机制,我们就学到了这些行为会带来的结果,以及想要达到某些目标的话应该怎样去做。
这本书就是在探讨这样一种从互动中学习的计算方法,也就是强化学习(Reinforcement Learning)。不过这并不是关于人和动物是怎样学习的理论,而是通过AI研究人员或者工程师的视角,来探讨在理想环境下如何评估不同学习算法的有效性。强化学习的主要关注在于,如何在目标导向的情况下,从与环境的互动中进行学习,这也是它和其它机器学习算法的一个主要不同点。
强化学习 Reinforcement Learning
目标
强化学习的目标是学习在当前环境中采取什么样的行动才能使最终的收益最大化,也即学习“situations→actions”的映射。学习者不会被告知应该采取哪个action的任何信息,而是需要通过尝试,自己去发现哪个action能够带来最大的reward。在更加有趣也更有挑战性的情况下,action不仅会影响当下即时的reward,还会影响后续一系列的reward。试错搜索(trial-and-error search)和延迟奖励(delayed reward)是强化学习最重要的两个特点。
定义
那么什么是强化学习呢?
和很多以“ing”结尾的topic相同,比如“Machine Learning”、“Mountaineering”等,它同时可以表示:
- 一类问题,a problem;
- 一类可以很好地解决此问题的解决方法,a class of solution methods that work well on the problem;
- 一个研究此问题及其解决方法的研究领域,the field that studies this problem and its solution methods。
使用一个名词来指代上述三种概念是很方便的,但对它们进行区分也非常重要。在强化学习中,对问题和解决方法的混淆容易引发很多理解上的问题。
问题定义
我们可以使用Dynamical systems theory中的观点来更正式的定义强化学习问题, 特别是,可以将其视作一个不完全已知的马尔可夫决策过程的最优控制问题(the optimal control of incompletely-known Markov decision processes,更详细的内容参见第三章)。
一个学习中的agent必须要有:
- 对其周围环境状态(the state of its environment)的感知能力,
- 采取一些行动(action)来影响环境的状态的能力,
- 一个或者多个和环境状态有关的目标(goal)。
马尔可夫决策过程最简单的形式就包含了这三个要素:sensation,action,goal。任何适用于解决此类问题的方法都可以被归为强化学习方法。
强化学习和监督学习的区别
监督学习(Supervised Learning),是一种从有标签训练样本中进行学习的算法。其中每一个样本都包括了对situation的描述和在当前situation下所应该采取action的标签。监督学习的目标是泛化该系统,使其在面临未出现在训练集中的情境时可以做出正确的决策。这是一种重要的学习方法,但是它无法通过互动来进行学习。
此外,在可交互问题中,获得具有正确又对situation有表达性的behavior训练样本往往是不切实际的。因此,在某些未知的领域,agent必须要有从自己的经验中进行学习的能力。
强化学习和无监督学习的区别
无监督学习(Unsupervised Learning)的目标是在无标签数据中发现隐藏的数据结构。尽管有人可能会认为强化学习是一种无监督学习,因为它不依赖具有正确行为标签的训练样本,但强化学习的目标是最大化目标收益而不是寻找隐藏结构。
了解agent的交互经验中的隐藏结构自然有利于强化学习,但它并没有解决以最大化收益为目标的强化学习问题。因此,我们认为强化学习是与监督学习、无监督学习等并列的第三个机器学习课题。
强化学习特有的挑战
一个强化学习特有的挑战,是关于探索(exploration)和利用(exploitation)的trade-off。
- 一方面,为了获得尽可能高的reward,RL agent需要尽量去执行那些它曾经尝试过且获得最高回报的action——也就是exploitation;
- 另一方面,为了发现能够带来高回报的action,从而在未来的决策中能够选取更好的action,RL agent也需要多去尝试那些它之前从没有执行过的action——也就是exploration。
这其中的困境就在于,exploration和exploitation都可能会导致目标的失败。Agent必须要大量的探索一系列不同的action,并循序渐进的更多去执行那些表现最佳的action。在随机任务(stochastic task)中,需要多次执行同一个action以获得对其expected reward的可靠估计。
关于exploration和exploitation的平衡问题被数学家们研究了数十年,然而依旧没有被解决。就目前而言,我们只是注意到,在监督和无监督学习中,至少在它们的最纯粹形式下,完全没有出现关于exploration和exploitation的平衡问题。