李宏毅机器学习笔记16(Reinforcement Learning)

Reinforcement Learning

1、什么是强化学习

2、如何实现强化学习(方法)

  Policy-based:(learn a actor)  代表算法:Policy-Gradient

  Value-based:(learn a critic)   代表算法:Deep-Q-Learning

  Actor-Critic:   代表算法:A3C

1、什么是强化学习

  寻找一个function:

  输入:观察到的环境状态

  输出:action

  目标:最大化累计回报(reward

                

    1、强化学习的应用:

              

   

     2、强化学习与监督学习的对比:

    

    在监督学习时,机器在向“老师”学习。我们就是机器的老师:我们告诉机器,我给你一个输入,你就该给我对应的这个输出,我说hello,你就应该回复我Hi!

    在强化学习中,机器在向“评价”学习。机器自己学习,我们没告诉他应该具体什么,只给它输出的结果打分,它在一次次的结果中,被批评的过程中自己总结经验。

    举个很著名的例子:AlphaGo——它就是在和监督学习强化学习中被训练的。首先,它向棋谱学习,也就是说告诉它应该做什么,应该怎么下,这是固定的套路(监督学习);其次,到了后期,它的水平很高之后,它开始向对手学习,这个“对手”可以是另一台机器,也可以是人类棋手,它在一次次比赛结果中总结经验(强化学习)。

             

     3、强化学习的难点

  •    “规划未来”的能力(只开火,不左右)
  •    “探索世界”的能力(只左右,不开火)

   

    

2、如何实现强化学习(方法)

  

   强化学习本质上找到最优的策略使累计回报函数最大

  Policy-based:     直接基于策略进行建模,输入当前状态,直接输出执行动作

  Value-based:      输入当前状态,通过值函数来输出每个动作的价值(reward),再根据reward进一步执行动作

            

                                    

  Policy-based:(learn a actor)  代表算法:Policy-Gradient

    

    第一步:建立模型(actor是一个neural network)

  •   假设策略是随机性的:  输出的action是一个概率
  •        用神经网络的好处:  不需要生成包含所有画面的table

      

    第二步: 评价模型

  •    让一个actor去玩很多次游戏,计算每一次得到的R,找到最大的R
  •    由于游戏具有随机性,拿同一个actor去多玩几次R都会不一样,所以我们应该求得是R的期望值

             

    第三步:选一个最好的function

    

  Value-based:(learn a critic)   代表算法:Deep-Q-Learning

  Actor-Critic:   代表算法:A3C

原文地址:https://www.cnblogs.com/xxlad/p/11412279.html