李宏毅机器学习笔记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

posted @ 2019-08-26 14:18  zr-zhang2019  阅读(673)  评论(0编辑  收藏  举报