来自微博@唐杰THU
一个学生帮忙整理的DeepLearning模型最近若干年的重要进展。有4条脉络,整理很不错。分享一下。
Track1 cv/tensor:
1943年出现雏形,1958年研究认知的心理学家Frank发明了感知机,当时掀起一股热潮。后来MarvinMinsky(人工智能大师)和SeymourPapert发现感知机的缺陷:不能处理异或回路、计算能力不足以处理大型神经网络。停滞!
Track2 生成模型
传统的生成模型是要预测联合概率分布P(x,y)。
rbm这个模型其实是一个基于能量的模型,1986年的时候就有,他在2006年的时候重新拿出来作为一个生成模型,并且将其堆叠成为deepbelief network,使用逐层贪婪或者wake-sleep的方法训练,不过这个模型效果也一般现在已经没什么人提了。但是从此开始hinton等人开始使用深度学习重新包装神经网络。
Auto-Encoder也是上个世纪80年代hinton就提出的模型,此时由于计算能力的进步也重新登上舞台。bengio等人又搞了denoiseAuto-Encoder。
Maxwelling等人使用神经网络训练一个有一层隐变量的图模型,由于使用了变分推断,并且最后长得跟auto-encoder有点像,被称为Variationalauto-encoder。此模型中可以通过
隐变量的分布采样,经过后面的decoder网络直接生成样本。
GAN是2014年提出的非常火的模型,他是一个隐的生成模型,通过一个判别器和生成器的对抗训练,直接使用神经网络G隐式建模样本整体的概率分布,每次运行相当于从分布中采样。
DCGAN是一个相当好的卷积神经网络实现,WGAN是通过维尔斯特拉斯距离替换原来的JS散度来度量分布之间的相似性的工作,使得训练稳定。PGGAN逐层增大网络,生成机器逼真的人脸。 Track3 sequence learning
1982年出现的hopfieldnetwork有了递归网络的思想。
1997年JürgenSchmidhuber发明LSTM,并做了一系列的工作。
但是更有影响力的是2013年还是hinton组使用RNN做的语音识别工作,比传统方法高出一大截。
文本方面bengio在svm最火的时期提出了一种基于神经网络的语言模型,后来google提出的word2vec也有一些反向传播的思想。在机器翻译等任务上逐渐出现了以RNN为基础的seq2seq模型,通过一个encoder把一句话的语义信息压成向量再通过decoder输出,当然更多的要和attention的方法结合。
后来前几年大家发现使用以字符为单位的CNN模型在很多语言任务也有不俗的表现,而且时空消耗更少。self-attention实际上就是采取一种结构去同时考虑同一序列局部和全局的信息,google有一篇耸人听闻的attentionis all you need的文章。 Track4 deep reinforcementlearning
这个领域最出名的是deepmind,这里列出的DavidSilver是一直研究rl的高管。
q-learning是很有名的传统rl算法,deepq-learning将原来的q值表用神经网络代替,做了一个打砖块的任务很有名。后来有测试很多游戏,发在Nature。这个思路有一些进展doubledueling,主要是Qlearning的权重更新时序上。
DeepMind的其他工作DDPG、A3C也非常有名,他们是基于policygradient和神经网络结合的变种(但是我实在是没时间去研究)
一个应用是AlphaGo大家都知道,里面其实用了rl的方法也有传统的蒙特卡洛搜索技巧。AlphaZero 是他们搞了一个用alphago框架打其他棋类游戏的游戏,吊打。
END.