手把手教你强化学习 (一) 什么是强化学习?与机器学习有什么区别?

简介: 手把手教你强化学习 (一) 什么是强化学习?与机器学习有什么区别?

强化学习基本简介

  在19年4月,有写过一篇强化学习的入门直观简介。强化学习通俗入门简介(一)。感兴趣的可以看一下,如果知道一些基本概念的话,也就没啥必要了,都是些很通俗的理解。

  强化学习智能体通过与环境交互,为了获取整个交互过程中的收益最大,不断自我调整优化。就像你的整个人生过程一样,算法的原理上是不计较一实的得失,目光也比较长远,不会为了眼前利益,而丢失了之后更大的回报。

  但是在实际操作过程中,强化学习还是很容易被当前的及时奖励所蒙蔽。我们把这种问题称之为奖励延迟。就像司马懿一样忍辱负重数十载,最终夺取政权,这样长的奖励延迟,人能处理,那强化学习能不能呢?我们以后再讲好了。

  在强化学习算法里面,没有人告诉你你应该怎么做,给你的只有你做的好不好。就像你写论文一样,你这个方向是不是好,这个方向的论文是不是好中。那只有做了之后,评审专家才会告诉你你做对了做错了,并且他还不会告诉你对的是什么,全程靠自己悟。

  悟性越强,你就越厉害。强化学习也是这样,越强的算法就越快能找到正确的道路通往奖励最大的地方。

什么是强化学习

  想想训练一条小狗,你不会告诉他该做什么,因为它听不懂。他做对了你给他奖励,做错了给惩罚。慢慢它就知道你啥意思了。强化学习也是一样。而你把这个小狗看成一个机器人,用这个相同的思想来训练的话,那就是强化学习了。

  当你训练到一定程度之后,就需要思考一个问题。遇到相同的情况,你是选择探索(explore)还是利用(exploit)?啥意思呢?

  就是,假设你来到一个新的城市,你刚开始选择去哪吃饭可能随机选一选,你大概会知道哪些店比较符合你的口味。当你有了一些基本的判断之后,你是会选择吃原来觉得好吃的店呢?还是探索你从来都没有去过的店呢?从来都没有去过的店你可能会觉得更好吃,也有可能不会。人的选择一般都是探索一点点,大部分时候都会选择以前觉得还可以的店。这中间就有个的问题。在计算机中怎么量化这个度呢,其实还是蛮难的。这也是强化学习的一个研究难点。平衡这个度。

  从这个角度扩展,会涉及到两个方面,“探索”和“记忆”。前者指的是从每一个状态下的众多可选行为中尝试选择其中一个,后者指的是要记住在特定场景下最有效的行为。这也是试错学习的精髓,是有效区别于监督学习的一个关键点。

强化学习算法步骤

  典型强化学习的算法步骤主要如下所示:

  1. 智能体通过动作(action)与环境进行交互;
  2. 而这个动作将会改变智能体现在所处的处境,智能体会从现在这个状态,移动到下一个状态去,我们一般称之为状态转移
  3. 智能体在这个过程中会得到一个奖励,这个奖励是由状态所决定的而不是动作。

  单纯的动作是没有好坏之分的,只有状态与动作结合起来才会有,因为你在当前这个状态执行这个动作,你的下一个状态基本也就定下来了。这个时候可能就有同学会问了,那要是跳变系统(就是这个系统的参数会发生跳变,有些是有规律的,有些是没有规律的)呢?你在相同的状态下执行相同的动作转移到下一个状态也不一定会相同呀。是不一定会完全相同,但是好的动作所能带来的期望收益是不一样的。

  关于这个跳变系统,这里我推荐两篇文章:

  一个是东北大学张化光老师团队的强化学习应用在马尔可夫跳变系统上;Optimal tracking control for completely unknown nonlinear discrete-time Markov jump systems using data-based reinforcement learning method。

  一个就是强化学习应用在跳变速度伺服系统上文章:Control Strategy of Speed Servo Systems Based on Deep Reinforcement Learning。

  第一篇呢我觉得是开创性的,解决了所有的跳变系统。文章采用的系统就是Markov jump systems。所谓的马尔可夫跳变系统,我百度一下:马尔科夫跳变系统是一种具有多个模态的随机系统,系统在各个模态之间的跳变转移是由一组马尔科夫链来决定的。

  第二篇是我之前做的速度伺服跳变系统,主要是其实验部分的数据是绝对真实的,以及网络、奖励参数的设置说地比较详细,对复现有很大帮助。自己写的代码太垃圾了,不敢放出来,但是是真实的。

  1. 基于这个奖励,这个智能体就能够知道自己的动作是好还是坏。好的话,当你下次在相同或者类似的情况下,采取这个动作的概率就要被增大。而怎么来实现这一点就是算法更新那一步的核心思想了。

强化学习与其他机器学习的区别

  一些基本的不同在上一篇文章里面好像有介绍与监督学习的不同点,这里说点不一样的。在监督学习里面,神经网络学习一个数据分布,然后应用于满足这个数据分布,但是却没有出现过的数据点上。在强化学习里面更倾向于是学习一种知识,或者说是一种思想,然后将学到的知识、思想用于解决一个任务(task)。

  这里是存在一些问题的,比如说我们小学学到的知识到了大学会不会忘记呢?人类当然是不怎么会忘记的,但是对于机器而言就不一定了。因为机器不能找到知识之间的逻辑关系,它们只是学到知识的输入输出的基本模式,并不是知识本身,就像刷题怪一样,可能对知识的理解不多,但是做题贼强。强化学习就有点类似刷题怪,所以它们很容易忘记以前所学的东西。其实这也是这两年顶会比较喜欢的东西。

  那怎么办呢?想想想让刷题怪还能不忘记以前的题目是怎么刷的咋整。就是再刷新的题目的时候刷少量以前的题目相当于温习一遍。AI也是这么干的,训练新数据的时候拿以前的数据拿过来再训练一下子。这样的话也会存在问题,就是随着任务的增多,你需要存放的数据也越来越多,就是需要刷的题目量越来越多。而当前的一种解决方法就是我们存一个模型,这个模型能够产生之前的数据,用这个模型产生以前的数据。

  或者我们做Konwledge Transfer,希望机器能够触类旁通。它与迁移学习不一样,迁移学习Transfer Learning不需要会以前的知识,而Konwledge Transfer需要。还有一种办法就是我训练新的数据的时候模型只做一小部分调整,相当于人类的固执。

  与无监督学习的区别:无监督学习是学习数据本身的规律、模式。强化学习是最大化期望收益。就像你去看电影,无监督学习学习你以前的观影记录,然后开始分析,给你推荐电影。强化学习相当于从用户那获得反馈,学习的是用户偏好,而不是数据本身,然后建立自己的知识框架,再来给你推荐电影。

  机器学习中还有另外一种学习方法,叫作半监督学习(semi-supervised learning),半监督学习是具有部分标签的。可能你会先聚类一下,然后看看哪些标签都再哪些类里面,再来进行划分。因此强化学习与它们是完全不同的。

我的微信公众号名称深度学习与先进智能决策

微信公众号ID:MultiAgent1024

公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

相关文章
|
17天前
|
机器学习/深度学习 人工智能 运维
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习、深度学习和强化学习的关系和区别是什么?
众所周知,人工智能领域知识庞大且复杂,各种专业名词层出不穷,常常让初学者看得摸不着头脑。比如“机器学习”、“深度学习”、“强化学习”就属于这类名词。那么,针对这三者各自具体有哪些内容?三者是否有相关性?不同核心及侧重点是什么?以及各自的应用领域有哪些?应用的前景如何?等问题,本文根据百度百科等相关资料里的内容进行整理,形成了以下详细的阐述。
470 0
|
8月前
|
机器学习/深度学习 人工智能 算法
强化学习:实现自主决策的机器学习范 paradigm
强化学习作为实现自主决策的机器学习范 paradigm,在人工智能领域具有重要地位。通过与环境的交互学习,智能体能够逐步优化决策策略,从而在各种任务中表现出色。强化学习在游戏、机器人控制、自动驾驶等领域的应用案例充分证明了其潜力。未来,随着技术的进一步发展,强化学习将在更多领域带来创新和突破。
147 1
|
11月前
|
机器学习/深度学习 算法
Q-Learning(强化学习)|机器学习
Q-Learning(强化学习)|机器学习
|
机器学习/深度学习 算法 前端开发
【机器学习】GBM和随机森林都是基于树的算法,它们有什么区别?
【机器学习】GBM和随机森林都是基于树的算法,它们有什么区别?
103 0
|
机器学习/深度学习 传感器 编解码
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(下)
为了在动态环境中安全驾驶,自动驾驶车辆应该能够预测附近交通参与者的未来状态,尤其是周围车辆,类似于人类驾驶员的预测驾驶能力。这就是为什么研究人员致力于轨迹预测领域并提出不同的方法。本文旨在对过去二十年中提出的自动驾驶轨迹预测方法进行全面和比较性的回顾!!!它从问题公式和算法分类开始。然后,详细介绍和分析了基于物理、经典机器学习、深度学习和强化学习的流行方法。最后,论文评估了每种方法的性能,并概述了潜在的研究方向。
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(下)
|
机器学习/深度学习 传感器 自然语言处理
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(上)
为了在动态环境中安全驾驶,自动驾驶车辆应该能够预测附近交通参与者的未来状态,尤其是周围车辆,类似于人类驾驶员的预测驾驶能力。这就是为什么研究人员致力于轨迹预测领域并提出不同的方法。本文旨在对过去二十年中提出的自动驾驶轨迹预测方法进行全面和比较性的回顾!!!它从问题公式和算法分类开始。然后,详细介绍和分析了基于物理、经典机器学习、深度学习和强化学习的流行方法。最后,论文评估了每种方法的性能,并概述了潜在的研究方向。
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(上)
|
机器学习/深度学习
机器学习:随机梯度下降(SGD)与梯度下降(GD)的区别与代码实现。
机器学习:随机梯度下降(SGD)与梯度下降(GD)的区别与代码实现。
250 0
|
机器学习/深度学习 人工智能 自然语言处理
详解机器学习的凸优化、图神经网络、强化学习、贝叶斯方法等四大主题
AI是一门入门简单,但想深入却很难的学科,这也是为什么AI高端人才一直非常紧缺的重要原因。在AI领域技术领域,我们可以说机器学习功底决定了一个人的上限也不为过。为什么?机器学习就像物理学中的数学,如果你对数学没有很好地掌握,想深入物理学科是不太可能的。放到AI领域,不管你做NLP方向也好,还是CV方向也好,只要深入下去,都会发现跟机器学习息息相关。 在工作中,你是否能够利用1-3天的时间来复现任意顶会的文章?是否能够按照实际的场景灵活提出新的模型,或者提出对现有模型的改造?实际上这些是核心竞争力,同时是走向高端人才必须要经历的门槛。虽然很有挑战,但一旦过了这个门槛你就会发现你是市场中的TO
476 1
|
机器学习/深度学习 人工智能 自然语言处理
机器学习、深度学习、强化学习课程超级大列表!
机器学习、深度学习、强化学习课程超级大列表!
176 0
机器学习、深度学习、强化学习课程超级大列表!

热门文章

最新文章