技术 | 强化学习入门以及代码实现

介绍

目前,对于全球的科学家而言,“如何去学习一种新技能”已经成为最基本的研究课题之一。解决这个问题的意愿显而易见——如果能够解决这个问题,那么人类就有望做到某些从未想过的事情。换句话说,我们可以训练机器去做更多原本人类要做的工作,迎来真正的人工智能时代。

虽然,对于上述问题,目前我们还没有一个完整的回答,但有一些事情是十分明确的。不考虑技能方面的学习,我们首先的是在与环境的交互过程中进行学习。不管是学习开车,还是婴儿学习走路,学习的基础都是与环境的交互过程。在互动中学习是所有学习理论以及智力发展理论的最根本的概念。

强化学习

今天,我们将探讨强化学习。其中与环境的交互是深度学习的基础,通常伴有明确的目的。有些人认为,强化学习是实现强人工智能的真正希望。这么说确实没错,因为强化学习拥有着巨大的潜力。

目前,有关强化学习的研究正在快速增长,人们为不同的应用程序生成了各种各样的学习算法。因此,熟悉强化学习的技术变得尤其重要。如果你还不是很熟悉强化学习,那么我建议你可以去看看我以前有关强化学习的文章和一些开源的强化学习平台。

如果你已经掌握并理解了强化学习的基础知识,那么请继续阅读这篇文章。读完本文之后,你将会对强化学习以及代码实现过程有一个透彻的了解。

注:在代码实现部分,我们假设你已经有了 Python 的基本知识。如果你还不知道 Python,那么你应该先看看这篇教程。

https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/

目录

强化学习问题的表现形式
与其他机器学习方法的比较
解决强化问题的框架
强化学习的实现
增加强化学习的复杂性
深入了解强化学习的最新进展
其他资源

  
  
  
  1. 1. 强化学习问题的表现形式

强化学习不仅需要学习做什么,也需要学习如何根据与环境的交互采取相应的行动。强化学习的最终结果,就是要实现系统回报信号的最大化。学习者事先并不知道要去执行什么行为,需要自己去发现哪种行动能产生最大的回报。让我们通过一个简单的例子来解释一下。

我们以一个正在学习走路的孩子为例进行讲解。

以下是孩子在学习走路时所要采取的步骤:

孩子关注的第一件事,就是观察身边的人是如何走路的。身边的人使用两条腿走路,一次走一步,一步一步按照次序往前走。孩子会抓住这个概念,然后努力去模仿这个过程。
但很快他/她又会明白,在走路之前,必须先站起来!在学习走路的过程中,站立对于孩子来说是一个挑战。因此,孩子试图自己站起来,他/她不断跌倒,但是仍然决定站起来。
然而接下来,还有另外一个挑战需要应付。站起来是相对容易的,但是要保持站立状态就是另一个挑战了。在狭小的空间中找到支撑,孩子就能成功保持站立状态。
现在,孩子的真正任务就是开始学习走路了。但是学习走路说起来很容易,而实际做起来就不是那么容易了。在孩子的大脑中需要处理很多事情,比如平衡身体、决定接下来放哪个脚、放在哪里。

这听起来像是一个很困难的任务,对吗?事实上,这确实是一个挑战,先要学习站立,然后才能学习行走。但是,现在我们不都学会了走路嘛,再也不会被这个问题所困扰了。现在你应该可以明白,为什么学习走路对于孩子来说非常困难了。

让我们用具体的形式来表述上面的例子。例子所要陈述的问题是“走路问题”,其中孩子是一个试图通过采取行动(走路)来操纵环境(在地上走路)的智能体,他/她试图从一个状态(即,他/她走的每一步)转移到另一个状态。当他/她完成任务的一个子模块(即孩子走了几步)时,孩子会获得奖励(比如,一些巧克力),但是当他/她不会走路时,他/她不会收到任何巧克力(这是一个负反馈过程)。这就是对强化学习问题的简单描述。

下面的链接,是介绍强化学习的很好的视频。

https://youtu.be/m2weFARriE8

  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值