深度学习有哪些好玩的且易于实现的论文

 我来答
百度网友34215c2f
2016-12-27 · TA获得超过7625个赞
知道小有建树答主
回答量:992
采纳率:93%
帮助的人:173万
展开全部
0. GitHub - Rochester-NRT/RocAlphaGo: An independent, student-led replication of DeepMind's 2016 Nature publication, "Mastering the game of Go with deep neural networks and tree search" (Nature 529, 484-489, 28 Jan 2016), details of which can be found on their website https://deepmind.com/publications.html.
这个项目火遍大江南北啊,就是第三方根据AlphaGo的论文给出的实现。最近工作太忙没空去看具体细节,底层用的是keras,具体的细节大家可以看看paper。另外今天发现了一个不错的slide: http://www.slideshare.net/ShaneSeungwhanMoon/how-alphago-works
当初和李世石大战的时候有很多”专家“都出来讲过这篇paper,包括在下……简单来说,AlphaGo的架构和传统的围棋AI相比并没有传统的创新,传统的机器博弈的架构包括三部分:
主体:AlphaBeta树
走子策略:某一步走哪最好
局面静态评估:当前谁更厉害
每当对方走出一步棋,我方就开始用走子策略判断一批优秀的候选着法,然后我们开始YY对方,针对我方的每一着,给对方选出一批优秀的着法进行对抗,以深入分析我方走子的可行性。然而由于棋局的复杂性,我们无法演绎到比赛结束,于是到达一定深度后,我们对当前的局势进行估计,然后根据这个分数反推回去,得到我们最好的招数,也就是下棋人常说的”下棋要多看几步“。
那么AlphaGo的厉害之处就在于,它把其中的第二、三项换成了CNN,CNN一来我们就得到了两个好处:1)它有强大的非线性映射能力,算出来的招数很厉害;2)CNN的深度学习能力使得搞围棋不用像过去搞围棋的人一样得花大量时间学围棋了!这点也是当初DeepMind在介绍Atari时说过的,一招CNN,搞定无数领域的难题。曾几何时,我们做博弈的写评估函数,都得对某种棋有很深的认识,基本上得做到业余中的佼佼者;现在有了CNN,你还是可以成为佼佼者,但是这方面的作用明显没有过去那么有用了。

1. GitHub - jisungk/deepjazz: Deep learning driven jazz generation using Keras & Theano!
这个是用LSTM写jazz风格的旋律,也是蛮厉害的!跑起来很容易,库用的是Theano,python人民的老朋友!相对比较简单。
[我准备最近把它啃下来把一些细节分享到这里!]
首先是music21这个库,一个很强大的为音乐人士准备的库(我以前怎么没发现这个库,真心很赞!)

2. 最近AlphaGo太火了,于是乎推荐一个增强学习玩Flappy Bird的代码:
GitHub - yenchenlin1994/DeepLearningFlappyBird: Flappy Bird hack using Deep Reinforcement Learning (Deep Q-learning).
亲测有效,很有意思,相信它足够好玩,也能激发大家的兴趣
由于我之前用keras和caffe多一些,所以对tensorflow了解不多,这里贴个中文的文档供大家参考源代码:
TensorFlow官方文档中文版_TensorFlow中文教程_TensorFlow开发中文手册[PDF]下载
[这里补上小鸟的一些代码总结]
flappy bird的程序主题上有两个部分,一部分可以算作“预测”,就是根据模型指示具体的操作,一部分是“学习”,就是根据对局的信息调整模型。
整个项目的根基就是这个游戏本身,在增强学习中可以看作是“Environment”,也就是能接收Action并反馈Next State和Reward的。作者使用了别人写好的现成的程序,不过还是在此基础上做了一定的修改,使游戏能够返回这两个信息。对于Next State,则是下一个时刻的图画信息,对于Reward,主要就是能分了,穿过一对管子得一分,死掉得负分。
预测部分:作者采用了E&E的策略,除了以模型进行判定之外,还以一定概率随机操作。
学习部分:当数据集收集到一定数量后开始学习,对于非完结的状态,要根据Bellman Equation进行Return的计算(Return和Reward有一定的差别)。然后将(state,action,return)扔给模型学习。
模型:CNN,具体的参数README讲得很清楚。
总体来看这就是一个模仿Atari实现的项目,不过他一板一眼地把把Atari的经验借鉴了过来,也做到不错的智能效果,所以值得一赞。
我仔细地看了关于这个项目的介绍,发现他的思想和Deep Mind的另一个增强学习的项目很相近,那就是Atari游戏。我找到了一个Github项目,没有亲测,后面有时间会做一下实验:
GitHub - kuz/DeepMind-Atari-Deep-Q-Learner: The original code from the DeepMind article + my tweaks
两个项目都是用CNN代替增强学习中的state-action-table,项目中的state就是当前的图像(4帧),action就是用户的操作(Flappy Bird就是点一下,昨天和同事聊同事还在说真正游戏里每点一下的轻重是有区别的,我想这个AI应该没有考虑这一点),由于这个空间十分大,我们用CNN来表示它,而学习的关键,也就是把这个表(模型)学习出来。

3.深度学习的在github有一个合集:
GitHub - kjw0612/awesome-deep-vision: A curated list of deep learning resources for computer vision
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式