美文网首页
0、什么是强化学习?

0、什么是强化学习?

作者: 小黄不头秃 | 来源:发表于2022-05-29 22:26 被阅读0次

一、什么是强化学习

在我们生活中强化学习最出名的无疑就是:阿尔法 go、阿尔法 zero了。
他们采用了强化学习的算法能够使得能够自主完成一些较为复杂的任务。

强化学习(reinforcement learning):又称再励学习、评价学习或增强学习,是机器学习范式方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题 。

强化学习的核心机制,我们给定一个环境,机器在这个场景下不断地尝试,根据成功和失败设置奖励机制和惩罚机制。通过成千上万次的尝试最终从错误中收获一套他自己学习出的决策机制。是一个机器不断增强的一个过程,我想这也是为什么被叫做reinforcement learning的原因了。

二、强化学习和监督学习,非监督学习有什么区别呢?

  • 监督学习(supervise learning):其过程就是给定样本和标签,去近似拟合某一个函数的过程。f(x) = y;
  • 非监督学习(unsupervise learning):没有给出标签,让神经网络自主进行分类。
  • 强化学习(reinforce learning):它是有目标的,但是对于每一个输入都没有确定的结果,只有走到最后才知道结果是不是正确的。例如:在下棋中每走一步都不确定会输还是会赢,只有在最后才知道输赢。


    8.jpg

举个例子:走迷宫,让机器寻找出口。我们就让机器从入口开始不断尝试,如果找到出口就+1,如果走到死胡同就-100。我们让机器自己去尝试和决策下一步往哪走,直到他能找到正确的路径。

如果按照这个思路的话,我们是不是可以训练一个模型让他自己给我们打王者荣耀呢?答案是肯定的,虽然我们现在还不知道怎么实现,但我相信一定会实现!

三、强化学习的方法

  • 通过价值选择行为:Q Learning、sarsa、Deep Q Network
  • 直接选择行为:Policy Gradients
  • 想象环境并从中学习:Model based RL

可以将其分为:
(1)不理解环境的model,机器对所处环境一无所知,所以需要疯狂的试探,根据反馈推测下一步怎么走。例如:Q Learning、sarsa、Policy Gradients
行为 -> 反馈 -> 行为 -> 反馈 -> 行为-> 反馈 -> 行为……
(2)理解环境的model,机器人会根据过往的经验先理解真实世界,并建立一个模型(虚拟环境),模拟现实世界的反馈。这样既能够模拟的很好,也能够在真实环境中运作良好。例如:Q Learning、sarsa、Policy Gradients
这个类型的model就具有疯狂的想象力,想象各个步骤会出现什么样的结果。类似于并行一样,平行世界。根据所有结果选择最好的一种,并根据这种选择进行下一步的操作。

还可以将其分为:
(1)基于概率:通过分析所处的环境,进行分析,计算出下一步为所有行为的概率。然后选取概率较好的那个,采取行动。不一定是概率最大的。例如:Policy Gradients
(2)基于价值:通过分析所处环境,进行分析,计算出下一步所有动作的价值,然后选取价值最大的那个,采取行动 。不能用于连续动作的决策。例如:Q Learning,Sarsa
(3)结合两种方法的优点:Actor-Critic,既会基于概率进行动作 选择,也会根据做出的动作,给出价值。

还还可以分为:
(1)回合更新:比如说在游戏中,每打完一局游戏之后再进行更新。例如:基础版本的Policy Gradients,monte-carlo learning

(2)单步更新:比如在游戏中每走一步就需要更新参数,这样能够边玩边学。例如:Q Learning,Sarsa、升级版Policy Gradients

还还还可以分为:
(1)在线学习(on-policy):就是在一个游戏中,亲自去体验和学习。例如:sarsa、sarsa(λ)
(2)离线学习(off-policy):只需要观看别人玩的记录,自己去总结经验,从而学习。例如:Q Learning、Deep Q Network

四、Q Learning 算法理解(基础)

马尔科夫决策问题 Markov decision problem

简单的理解为,在当前状态下 s,进行一个行为 a,去到下一个状态 s‘
所以我们定义几个变量(以走迷宫为例):

  • State S;//状态,当前的位置状态
  • model T(s,a,s’)//模型(当前状态,行为,下一状态)
  • action A(上,下,左,右);//行为(行动)
  • reward R(s), R(s, a), R(s, a, s');//反馈,进入某个状态下的奖励机制
  • find best policy Π(s) => a;//寻找当前状态下,下一步的行为

其中这个model T可以是一个概率问题,可理解为在s 和a 的条件下,转变为状态s‘ 的概率。

上述的定义可以理解为:

(1)状态 S

假如我们的迷宫是一个 10 * 10 的矩阵,那我们就可以使用 0-99 来表示当前的状态信息。

(2)行为 A

在迷宫中我们就会出现上下左右四种走法,我们可以使用 0-3 表示每一个行为。

(3)奖励 R

R(s),s表示进入的状态;
可以分为:
reward = -1,碰到障碍物或者走出地图;
reward = 1,走到了终点;

(4)模型 T

T(s,a,s’),模型(当前状态,行为,下一状态)
例如:从一个格子走下一步,进入四个方向的概率就会计算出来,比如说,计算得出0.9, 0.1, 0.1, 0.1。那么就会朝0.9
的方向走。

接下来就要进入到 Q Learning 算法 的学习,继续学习算法。
算法详解:https://www.jianshu.com/p/e93eb8b70f35

相关文章

  • 0、什么是强化学习?

    一、什么是强化学习 在我们生活中强化学习最出名的无疑就是:阿尔法 go、阿尔法 zero了。他们采用了强化学习的算...

  • 基础

    什么是强化学习? 强化学习是机器学习的一个分支。 机器学习分为监督学习,无监督学习,强化学习。 强化学习简单来说,...

  • UD机器学习 - C6 强化学习

    0 Abstract 先介绍强化学习前沿和背景,再介绍强化学习基本设置和定义,再介绍强化学习通用解决框架和方案,然...

  • 2019年上半年收集到的人工智能强化学习干货文章

    2019年上半年收集到的人工智能强化学习干货文章 从0到1-强化学习篇 关于人工智能中强化学习的扫盲 强化学习简介...

  • 从0到1-强化学习篇

    0x01 强化学习在从0到1中已经介绍了基本的思想——从0到1:学安全的你不该懂点AI?,现在再详细介绍下。 强化...

  • 基于Python的深度学习 刘哲宁

    深度强化学习 1 强化学习是一种什么样的方法 强化学习作为一个序列决策(Sequential Decision M...

  • 强化学习(Reinforcement Learning)中的Q-

    1. 什么是强化学习 其他许多机器学习算法中学习器都是学得怎样做,而强化学习(Reinforcement Lear...

  • 强化学习——Q-learning

    一、什么是Q_learning Q_learning是强化学习中的一个决策算法,如果你还不知道什么是强化学习,可以...

  • 强化学习-什么是DQN

    提示:阅读本系列文章需要有神经网络基础,了解反向传播和梯度下降原理 发现很多博客文章对DQN的描述不是很好理解。本...

  • 深度强化学习(1) 什么是深度强化学习?

    本文主要内容来源于 Berkeley CS285 Deep Reinforcement Learning[http...

网友评论

      本文标题:0、什么是强化学习?

      本文链接:https://www.haomeiwen.com/subject/prdlprtx.html