人工智能算法综述 (3)

虽然不知道最优策略,但是如果我们有一个所有状态所有动作的 记录Q值的表,只要反复通过上面的过程推导就能知道这个大表的所有值,最终就能通过这个大表知道最优策略。

这就是Q-learning 算法的逻辑。

当然Q-learning是不实用的,因为如果state 跟action有非常多,这个表数据量要爆炸的。

所以后续又发展好多算法,我推荐读一下DQN相关的算法。

RL很早很早就有了。

强化学习的历史发展

1956年Bellman提出了动态规划方法。

1977年Werbos提出只适应动态规划算法。

1988年sutton提出时间差分算法。

1992年Watkins 提出Q-learning 算法。

1994年rummery 提出Saras算法。

1996年Bersekas提出解决随机过程中优化控制的神经动态规划方法。

2006年Kocsis提出了置信上限树算法。

2009年kewis提出反馈控制只适应动态规划算法。

2014年silver提出确定性策略梯度(Policy Gradents)算法。

2015年Google-deepmind 提出Deep-Q-Network算法。

因为alphaGo 就是基于RL的,主要用了蒙特卡罗树搜索算法 (MCTS)然后RL这两年又被大神们推进了好多优化。

这里有一篇  

我摘一段放这里说明一下实现RL算法的几种类别:

Model-free:不尝试去理解环境, 环境给什么就是什么,一步一步等待真实世界的反馈, 再根据反馈采取下一步行动。

Model-based:先理解真实世界是怎样的, 并建立一个模型来模拟现实世界的反馈,通过想象来预判断接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略。它比 Model-free 多出了一个虚拟环境,还有想象力。

Policy based:通过感官分析所处的环境, 直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。

Value based:输出的是所有动作的价值, 根据最高价值来选动作,这类方法不能选取连续的动作。

Monte-carlo update:游戏开始后, 要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新行为准则。

Temporal-difference update:在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样就能边玩边学习了。

On-policy:必须本人在场, 并且一定是本人边玩边学习。

Off-policy:可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则。

 RL现阶段比较实用的算法是:

DQN,DDPG, A3C,DPPO 等

这里有一篇deepmind 关于DQN混血的报道 

摘一张图大家看看

人工智能算法综述

 横轴是训练次数,纵轴是超过人类水平百分比,100%就是等同于平均的人类玩游戏的水平,在57款雅达利游戏中的平均表现。

 

今天就先讲这么多,之后我会陆续补充一下算法的综述,感谢各位阅读!

GANs:生成对抗网络(待续)

RNN:循环神经网络(待续)

LSTM:长短期记忆网络(待续)

迁移学习(待续)

 

这两年一些很有趣的开源应用示例,以及使用的算法

CNN :图像识别 人脸识别 风格迁移

RL :alphaGO 游戏代打 机器人控制 阿里商品推荐系统  

GANs:风格迁移 草图生成实体图 猫脸转狗脸  去掉图像遮挡  年龄转移   超分辨率

RNN  LSTM:翻译模型,生成古诗,生成对联,PSD生成HTML代码

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygzdj.html