很多人说,强化学习被认为是真正的人工智能的希望。本文将从7个方面带你入门强化学习,读完本文,希望你对强化学习及实战中实现算法有着更透彻的了解。 介绍 许多科学家都在研究的一个最基本的问题是“人类如何学习新技能?”。 理由显而易见– 如果我们能解答这个问题,人类就能做到很多我们以前没想到的事情。 另一种可能是我们训练机器去做更多的“人类”任务,创造出真正的人工智能。 虽然我们还没有上述问题的全部答案,但有一些事情是清楚的。不论哪种技能,我们都是先通过与环境的互动来学习它。无论是学习驾驶汽车还是婴儿学步,我们的学习都是基于与环境的互动。 从这些互动中学习是所有关于学习与智力的理论的基础概念。 强化学习 今天我们将探讨强化学习(Re-inforcement Learning) 一种基于与环境互动的目标导向的学习。强化学习被认为是真正的人工智能的希望。我们认为这是正确的说法,因为强化学习拥有巨大的潜力。 强化学习正在迅速发展。它已经为不同的应用构建了相应的机器学习算法。因此,熟悉强化学习的技术会对深入学习和使用机器学习非常有帮助。如果您还没听说过强化学习,我建议您阅读我之前关于强化学习和开源强化学习(RL)平台的介绍文章(https://www.analyticsvidhya.com/blog/2016/12/getting-ready-for-ai-based-gaming-agents-overview-of-open-source-reinforcement-learning-platforms/)。 如果您已经了解了一些强化学习的基础知识,请继续阅读本文。读完本文,您将会对强化学习及实战中实现算法有着更透彻的了解。 附:下面这些算法实现的讲解中,我们将假设您懂得Python的基本知识。如果您还不知道Python,建议可以先看看这个Python教程(https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/)。 轻松搞定强化学习 (1-4是强化学习的步骤,5-7是其他资源) 1. 提出一个强化学习的问题 2. 强化学习 v.s. 其他机器学习方法 3. 解决强化学习问题的基本框架 4. 用python实现强化学习算法 5. 更复杂的应用 6. 强化学习的最新进展 7. 其他强化学习的资源 1. 提出一个强化学习的问题 强化学习的目的是学习如何做一件事情,以及如何根据不同的情况选择不同的行动。 它的最终结果是为了实现数值回报信号的最大化。强化学习并不告诉学习者采取哪种行动,而是让学习者去发现采取哪种行动能产生最大的回报。 下面让我们通过一个孩子学走路的简单例子(下图)来解释什么是强化学习。 上图:孩子学走路。 以下是孩子在学习走路时要采取的步骤: 首先孩子将观察你是如何行走的。你用两条腿,一步一步走。得到这个概念后,孩子试图模仿你走路的样子。 但孩子很快发现,走路之前必须站起来!这是一个试图走路必经的挑战。所以现在孩子试图先站起来,虽然经历挣扎和滑倒,但仍然决心站起来。 然后还有另一个挑战要应付:站起来很容易,但要保持站立又是另一项挑战!孩子挥舞着双手,似乎是想找到能支撑平衡的地方,设法保持着站立。 现在孩子开始他/她真正的任务––走路。这是件说比做容易的事。要记住很多要点,比如平衡体重,决定先迈哪个脚,把脚放在哪里。 这听起来像一个困难的任务吗?实际上站起来和开始走路确实有点挑战性,但当你走熟练了就不会再觉得走路难。不过通过我们的分析,现在的您大概明白了一个孩子学走路的困难点。 让我们把上面的例子描述成一个强化学习的问题(下图)。这个例子的“问题”是走路,这个过程中孩子是一个试图通过采取行动(行走)来操纵环境(孩子行走的表面)的智能体(agent)。他/她试图从一个状态(即他/她采取的每个步骤)到另一个状态。当他/她完成任务的子模块(即采取几个步骤)时,孩子将得到奖励(让我们说巧克力)。但当他/她不能完成走几步时,他/她就不会收到任何巧克力(亦称负奖励)。这就是对一个强化学习问题的简单描述。 上图:把小孩子学走路的过程(图下方)归纳成一个强化学习的问题(图上方)。 这里我们还推荐一个不错的对强化学习的视频介绍(https://www.youtube.com/watch?v=m2weFARriE8)。 2. 强化学习 v.s. 其他机器学习方法 强化学习是机器学习算法的一个大的类型。下图描述了机器学习方法的类型。 上图:机器学习的方法分类:蓝色方框从左到右依次为监督学习,无监督学习和强化学习。 让我们来比较一下强化学习和其他种类机器学习方法: (责任编辑:本港台直播) |