美文网首页
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、什么是强化学习?

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