美文网首页
2018-08-05 红心大战和自动驾驶AI的学习笔记

2018-08-05 红心大战和自动驾驶AI的学习笔记

作者: 杨廣xiang | 来源:发表于2018-08-05 12:51 被阅读0次

几年前,深度学习刚兴起时,应该是2015年,当时,学着用MXNET搭建卷积网络去识别数字,得到的结果相当的让我震惊。让我震惊的原因在于:
代码是如此的简洁。如同数学界推崇简洁清晰的证明一样,我们也一样欣赏用简洁的算法去解决工程上的问题。 正如张益唐的论文就比怀尔斯的证明漂亮的的多。
神经网络这样一个黑盒系统,可以解决图像识别这个很难的问题,而我们无法用一步一步的方式,清楚的看到神经网络系统是如何求解的。这很违和啊!
虽然,因为其它的事情,没有深入学习DL了,但对DL的强大实力,算是有了一个很深的印象。
接着,AlphaGo出现。从一开始,我就坚定的认为,这次机器必胜。果然,AlphaGo取得意料之中的胜利后,下一代版本Master,全面碾压人类选手。然而,当柯洁在赛中痛哭,那个时刻,我也感受到了那一丝丝的落寞和无奈。
人类也许如同恐龙一样,只是进化树中的一个分支。人工智能才是进化树上最兴旺的那个新芽。人类终将毁灭,AI必胜。

最近,有两道AI的任务,一个是红心大战,一个是小车自动驾驶。
后者,搞过数字识别,所以,这个任务很快搞定。使用nVidia设计好的DCNN网络,把tensorflow环境一搭,自己手工跑出一些训练数据,练一练,AI就可以自己跑圈了。
这里的几个关键点:
数据量要足够。训练网络,就像小孩子学习一样,给一遍正确的知识,小孩子是记不住的,会有遗忘的,也就是训练出来的网络并不足够逼近。因为训练网络本质是递度下降,数据不足,下降的不足,网络没有足够的逼近我们所要的函数。所以,即使数据是很精确的,但量不足也是不行的。至少要20000帧。
每一帧应该去掉其中的无效信息。比如,远处的景物。
每一帧应该做一些变形,形成新的数据。
这个任务就轻松搞定。

另一个任务是红心大战。
本质上,红心大战是信息缺失的博弈性的游戏。理论上,这类型的任务,使用DL技术是不可能得到完美解的。例如,DeepStack,就是打德州的那个AI算法。它仅是在公共牌亮出后,才使用训练好的网络去计算近似解。在公共牌没有亮出来前,信息是不足的,神经网络本质是高维函数,是确定解的。不可能用于博弈。这也是为什么在热身任务中,我司各个队伍的程序,本质都是 rule-based,只是披个AI的皮(当前,广义上讲,rule-based 也算AI了)。我也披了这个皮。
对于红心大战游戏,它的信息也是不足的,应该也是需要一定的 rule-based 来帮助。如果应用DL,最适合的应该是DQN。
DQN来源于 Q-Learning 。 后者于1989年提出,92年被证明是收敛的。收敛是很重要的事情。不收敛,这事就没法玩儿了。Q-Learning理论上有效,但在近三十年前(唉,都是三十年前了),以当时的计算力,应该没有办法应用,就算是今天,这个算法也不适合大规模的问题。所以,搞了个DQN。用神经网络来近似维度超高的Q表。
但DQN,也是适用于完美信息的游戏。
网上有一个公开代码的项目,使用的是POMDP算法,用了一下,好像能力很强。要是这个行,也就不用什么DQN了。虽然DQN还挺好玩的。

DQN从2015提出后,也是有一系列的迭代和演进。Double DQN ; 利用S和A合并为Q值;后者是还是最近的大会的最佳论文。想法超简单,效果却超好。

image.png

相关文章

网友评论

      本文标题:2018-08-05 红心大战和自动驾驶AI的学习笔记

      本文链接:https://www.haomeiwen.com/subject/hfwweftx.html