谭升
非主流人工智能科学家 我和外面那些妖艳的货不一样

【强化学习】1.1.0 强化学习介绍

开篇废话

本系列主要介绍强化学习,使用的教材为:

内容主要来自本教材以及其引用的论文,但是不限于此。
此外,了解我的同学可能知道我喜欢说些没用的废话,本系列该环节省略。本系列部分专业名词保持英文原文,不是为了装x,因为翻译怕不准影响后续学习。

Nature of Learning(学习的本质)

做人工智能的,或者吹人工智能的所有人应该都曾经尝试思考过,学习的本质是什么,因为我们的“智能”来自学习,可能也有一些遗传因素,我们并不了解学习或者智能的本质是什么,但是我们可以从我们的生活或者其他一些动物的行为和现象中得到一些启示:

  • 和环境的Interaction(我想翻译成:“相互影响”,但是觉得不太对)

没错,所有有智能的动物,的所有智能都是来自周围自然环境的,如果把一个人从出生就放在培养基中,完全隔绝所有能和我们行为互动的因素,那么这个人很有可能就是一个有机体,不具备任何智能的器官的组合。
而我们从出生就是开始和自然环境互动,一个婴儿,挥动胳膊,蹬一下腿,或者摇摇头,这些看起来毫无规律和目的的动作就已经跟周围产生了Interaction

Cause and Effect (诱发与结果)

action的结果是我们从自然环境中获得反馈,所以,我可以负责任的告诉你,BP(反向传导)和现在的依靠BP训练的所有神经网络就是若干年前的SVM没什么可以吹的,所以CNN的开创者们呼吁冷静对待BP是有道理的,而且,可以肯定的是,你的智慧不是BP来的。

我们的智慧的获得的一个主要过程就是,我们能够总结,或者学习到,我们的动作(action)能够产生什么结果,然后,为了获得某个结果,我们需要做什么。这也是我们获得智慧的主要来源就是这一些列的过程。

Advertisements

目前近乎所有关于学习和智能的基础思想都是 —— 从interaction中学习。

Computational Approach or Directly Theorizing (计算近似 vs 直接建模)

人工智能的最终目的就是让机器有动物或者人一样的智慧,而达到这个目的目前有两种主流方案
– 直接建模
– 近似计算

直接建模的思想比较简单,就是用复杂的算法或者机制,直接产生智慧,目前来看有难度,毕竟智慧不是“鸡兔同笼”或者 “疯狂的泳池管理员”这种数学模型。
另一种做法是通过用算法迭代,近似,自动的生成一个模型,来模拟一种行为(智慧的一部分),而这个过程主要有两步:
1. explore 抽象的情况
2. evaluate 多种学习结果的 Effectiveness

这两步就是AI研究人员和工程人员的主要研发对象了。他们的主要工作就是制造一部机器(算法),解决类似的问题,这个机器(算法)必须有以下特征:
1. Evaluating — 评估设计(通过数学分析)
2. Computational — 计算近似结果

设计这个机器的过程,就是 “强化学习

强化学习只研究 goal-directed 学习过程,主要研究对象是Interaction。而不是其他例如残差,或者其他损失函数,这些机器学习关注的目标。

总结

深度学习关注interaction,是一种goal-directed的过程,和其他机器学习算法有本质的不同,更接近人或者智慧生物的学习过程。

Reinforcement Learning

中文翻译Reinforcement Learning为强化学习,不知道为啥这么翻译,也没想去了解给这个词命名的人是否非常了解这个领域的知识,既然这么叫了那就这样吧。
上面谈到命名是为了介绍其内容,有些东西的命名,可以直接看出其内容,但是强化学习,显然不是这类的,而“土豆片”,“薯条”这种名字则可以。

本文后面把强化学习简写成RL或者直接写英文名,希望大家理解。

Reinforcement Learning 像Machine Learning一样,名字里都有Learning这个词,表明,RL也是一个问题和解决方案的集合。

值得注意的是,RL属于machine learning的一种。

对于问题和解决方案的集合这种描述,我们有很多经典的例子:

  1. “拟合房子的面积大小和价格”的问题
  2. “识别手写数字”的问题

这些问题对应了一系列解决方案,比如直线拟合就有最小二乘法,svm等算法来解决;识别手写数字可以有神经网络(Naive版,全连接的那种神经网络),CNN等方法。问题和方法一起构成了一个监督学习(机器学习中的一种)问题。
对于RL一样,一个问题,和一些列解决方案,找出各种方案的优缺点,提出更好的方案,这就是强化学习的内容,而与其他机器学习(监督学习,非监督学习)的具体区别在于解决问题的策略和问题的条件。

RL在解决问题的过程中的基本策略是:
1. 如何对应Situation和Action
2. 如何最大化Rewarding Signal

如果你不懂这四个名词,不要着急,后面有详细的解释,而且,负责任的告诉你,你以后研究的所有问题里面都是围绕他们几个展开的。

在解决RL的问题过程中又会产生一个新的问题,这个问题是在我们还没有看到一个具体的例子之前就能想到的,也是一个基础问题,就是我们的RL学习过程是个closed-loop的过程,通俗点说,像一个死循环,就是当我们用一个输入调整了模型以后,这个模型又会反过来影响这个输入产生的结果,具体点就是这个系统是不稳定的,当你输入在时间 $t_0$ 输入数据 $A_0$ 时产生的结果是 $R_0$ 但是当你在 $t_1$ 输入数据 $A_0$ 时产生的结果是 $R_1$ 并且在大多数情况下, $R_0\neq R_1$ 而专业一些的用词就是:
input会影响这个agent的action,而这个action会改变这个agent,当input再次来袭的时候,新的action会不同,因为这个agent已经变了。
有点绕,没关系,后面看了具体的例子,或者有具体的数据,我会提醒大家回来看这里的。有点抽象,但是复合逻辑。

这个过程中有一个和其他机器学习算法巨大的差别:agent或者learner并不知道每次Input对应的“正确的”Action是什么,也不知道哪个 “Action”能产生最大的Rewarding,而监督学习是知道的。
并且这个Action影响本次迭代的Rewarding并且影响下一个Situation。

这里其实可以想象一下下棋,不管什么棋,学习下棋就是一个RL的过程,我这里不想提某狗的例子是因为,我觉得这只狗已经被一些俗人写的烂大街了(一条好狗被糟蹋了),蹭热度,蹭关键词与我无益,所以,想象一下象棋或者五子棋,每一步都是一个action,而最后的输赢才是唯一的结果,每个action没有一个确定结果与其对应,为了衡量action的好坏,给出一个Rewarding,然后action做出以后,当前situation已经和action之前的不一样了(比如棋局中的形式就是situation)
简单的例子,漏洞百出,但是可以大概这么理解。

Reinforcement Learning Features

上面大概介绍了一些内容,可能云里雾里,没关系,都是些名词而已,后面内容会详细描述每一个细节,我们要知道的是RL的一些特征,使其与众不同的特征:
1. Closed-Loop是基本的学习方式
2. 学习过程中在每一步并不直接知道应该采用哪个Action
3. Action的结果,Reward Signal并不是实时产生的,需要等待一些步骤后,才能知道。

Markov Decision Processes

Markov Decision Processes是一个非常经典的全面的对RL中Optimal Control问题的理解,但是要等到第三章才会完整的描述,其中会详细介绍,Agent,Environment等具体的形式,以及如何达到我们的RL目的。其中的Environment非常主要,因为我们的Goal(目的,目标)就是environment的一个state(状态)。
在第三章中,MDPs将会介绍:
– Sensation
– Action
– Goal

等部分的具体内容,而且会明确的直接解决一个RL问题,而不是将原始问题转化为小问题,比如下棋就是要最后获胜而不是把棋局分成几种,分开解决,再合成最后的方案,RL要直接解决问题,而不是细分再整合这种硬套路。

总结

中英文穿插写,比较让人讨厌,但是没办法,我觉得如果不看原版书籍,就记住一些翻译版本的关键词是非常有害的。
本文很多关键词和具体过程都没办法现在给出,所以,如果你觉得迷惑,没关系,看懂多少都无所谓,毕竟是个开头介绍,当你看完第一个例子就会豁然开朗,第一个例子在1.3中出现,敬请期待吧。

Share

You may also like...

说点什么

avatar
  Subscribe  
提醒

试录了几节线性代数视频课程,欢迎大家支持,
点击试看
点击购买更多内容

由于博客移至wordpress,部分公式和代码显示不正常,博主正在努力修改,如发现公式显示错误,请及时在文章下留言,感谢您的帮助,尽请原谅!