B站 听课笔记,讲师:台大教授李宏毅
这篇博客是对强化学习形成基本的了解,后面会深入学习。
一、理解:
感性理解:假如我们现在在打一场仗,那么战争形势是瞬息万变的,指战员需要根据战争形态实时做出决策,有时进攻有时撤退;有时佯攻,有时主攻,这都是为了战争最后的胜利。现在假设战争打赢了,那么指挥员自然而然就强化这场战争中的一系列决策过程,当再次遇到相同的战争形态,那么之前的应对方式就被强化。也许这不是最优解,但是是可行解。强化学习就是学习把仗打赢,而且战利品越多越好。
建模分析:
如图1.1所示,Agent从环境Environment获取一个观测值observation或者是state作为输入,模型π将会采取一个行为Action,然后环境反馈给agent一个奖励值Reward,模型的目标是获取最大的奖励值。
二、强化学习的分类:
1、model_based:policy_based,value_based,A3C
2、Model_free
三、强化学习的特点:
**1、Reward delay:**奖励延迟,就是有些奖励是没有即时奖励的即Rt =0,但是为了整个过程(episode)奖励最大化,这些action又是不可省略的,这就要求我们的agent有远见可以通过考虑累计奖励的方式使agent有远见。
**2、序列决策:**前面的action会影响后面action,即强化学习是一个序列决策过程。这要求我们的agent既要exploration又要exploitation,求稳是从经验学习,求新是为了找到更好的agent。
四、强化学习的实践分析
下面介绍强化学习的三个步骤:
4.1 确定agent的形式
传统的方法是用look-up table,但是穷举是一大困难,如果用神经网络,例如CNN、RNN等来建模,那么就是我们后面要介绍的深度强化学习。以space invade游戏为例,采用CNN来建模如图4.1所示,agent看到pixel,决定是要左移、右移、或者开火,值得注意的是,agent不一定采取probity最大的action,而是以一定的概率take某个action。这也是exploitation的基础。