什么是强化学习?
强化学习并不是某一种特定的算法,而是一类算法的统称。如果用来做对比的话,他跟监督学习,无监督学习 是类似的,是一种统称的学习方式
强化学习主要是用来探索未知的,尽量去试错,并寻找最优解的过程。
目前主要应用于游戏和仿真环境。
常见网络模型
通过百度飞浆的课程总共接触了4种常见的网络,都是单智能体的。
首先是Sarsa 和 Q-learning 都是环境相关的网络。
Sarsa是用action可能带来的环境反馈作为reward,来更新Q表格。一般和greedy方法配套,随机尝试。
Q-learning则是on-policy的更新方式,先出action再更细Q表格。
之后是DQN:
引入了神经网络来代替Q表格,好处是神经网络可以代表的东西几乎是无限大的。这样就可以把任何问题都可以放到神经网络里来解决。就是说神经网络可以对无数可能性概况,在训练合理的情况下可以输出我们所需要的数值。这样,RL就可以解决像围棋和游戏这种如果建Q表格会很困难的情况了。
最后是DDPG:
DQN只左右与离散动作,那么如何能让它输出连续的动作呢?加一个策略网络,直接输出动作就行。这是我理解DDPG和DQN的区别。比较粗浅。
实战
最后通过大作业:使用DDPG解决四轴飞行器悬浮任务来强化学习成果,从网络构建,还原业务场景来设置模型优化参数以及对应动作等方面入手。