一文读懂深度学习模型近年来重要进展(附梳理图)

简介:

唐杰老师学生帮忙整理的Deep Learning模型最近若干年的重要进展。有4条脉络,整理很不错。分享一下。

track1 cv/tensor

1943年出现雏形,1958年研究认知的心理学家Frank发明了感知机,当时掀起一股热潮。后来Marvin Minsky(人工智能大师)和Seymour Papert发现感知机的缺陷:不能处理异或回路、计算能力不足以处理大型神经网络。停滞!

1986年hinton正式地提出反向传播训练MLP,尽管之前有人实际上这么做。

1979年,Fukushima 提出Neocognitron,有了卷积和池化的思想。

1998年,以Yann LeCun为首的研究人员实现了一个七层的卷积神经网络LeNet-5以识别手写数字。

后来svm兴起,这些方法没有很受重视。

2012年,Hinton组的AlexNet在ImageNet上以巨大优势夺冠,兴起深度学习的热潮。其实Alexnet是一个设计精巧的CNN,加上relu、dropout等技巧,并且更大。

这条思路被后人发展,出现了vgg、GooLenet等。

2016年,青年计算机视觉科学家何恺明在层次之间加入跳跃连接,Resnet极大增加了网络深度,效果有很大提升。一个将这个思路继续发展下去的是去年cvpr best paper densenet。

cv领域的特定任务出现了各种各样的模型(Mask-RCNN等),这里不一一介绍。

2017年,hinton认为反省传播和传统神经网络有缺陷,提出Capsule Net。但是目前在cifar等数据集上效果一半,这个思路还需要继续验证和发展。

track2 生成模型

传统的生成模型是要预测联合概率分布P(x,y)。

rbm这个模型其实是一个基于能量的模型,1986年的时候就有,他在2006年的时候重新拿出来作为一个生成模型,并且将其堆叠成为deep belief network,使用逐层贪婪或者wake-sleep的方法训练,不过这个模型效果也一般现在已经没什么人提了。但是从此开始hinton等人开始使用深度学习重新包装神经网络。

Auto-Encoder也是上个世纪80年代hinton就提出的模型,此时由于计算能力的进步也重新登上舞台。bengio等人又搞了denoise Auto-Encoder。

Max welling等人使用神经网络训练一个有一层隐变量的图模型,由于使用了变分推断,并且最后长得跟auto-encoder有点像,被称为Variational auto-encoder。此模型中可以通过隐变量的分布采样,经过后面的decoder网络直接生成样本。

GAN是2014年提出的非常火的模型,他是一个隐的生成模型,通过一个判别器和生成器的对抗训练,直接使用神经网络G隐式建模样本整体的概率分布,每次运行相当于从分布中采样。

DCGAN是一个相当好的卷积神经网络实现,WGAN是通过维尔斯特拉斯距离替换原来的JS散度来度量分布之间的相似性的工作,使得训练稳定。PGGAN逐层增大网络,生成机器逼真的人脸。

track3 sequence learning

1982年出现的hopfield network有了递归网络的思想。1997年Jürgen Schmidhuber发明LSTM,并做了一系列的工作。但是更有影响力的是2013年还是hinton组使用RNN做的语音识别工作,比传统方法高出一大截。

文本方面bengio在svm最火的时期提出了一种基于神经网络的语言模型,后来google提出的word2vec也有一些反向传播的思想。在机器翻译等任务上逐渐出现了以RNN为基础的seq2seq模型,通过一个encoder把一句话的语义信息压成向量再通过decoder输出,当然更多的要和attention的方法结合。

后来前几年大家发现使用以字符为单位的CNN模型在很多语言任务也有不俗的表现,而且时空消耗更少。self-attention实际上就是采取一种结构去同时考虑同一序列局部和全局的信息,google有一篇耸人听闻的attention is all you need的文章。

track4:deep reinforcement learning

这个领域最出名的是deep mind,这里列出的David Silver是一直研究rl的高管。

q-learning是很有名的传统rl算法,deep q-learning将原来的q值表用神经网络代替,做了一个打砖块的任务很有名。后来有测试很多游戏,发在Nature。这个思路有一些进展double dueling,主要是Qlearning的权重更新时序上。

DeepMind的其他工作DDPG、A3C也非常有名,他们是基于policy gradient和神经网络结合的变种(但是我实在是没时间去研究)。

一个应用是AlphaGo大家都知道,里面其实用了rl的方法也有传统的蒙特卡洛搜索技巧。Alpha Zero 是他们搞了一个用alphago框架打其他棋类游戏的游戏,吊打。

a91efb2582688daf202e6ff2d6cd0e323986ab09




原文发布时间为:2018-04-4

本文作者:丁铭,唐杰

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”微信公众号

相关文章
|
10天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
104 59
|
5天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品市场预测的深度学习模型
使用Python实现智能食品市场预测的深度学习模型
32 5
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的Transformer模型
探索深度学习中的Transformer模型
13 1
|
7天前
|
机器学习/深度学习 算法 开发者
探索深度学习中的优化器选择对模型性能的影响
在深度学习领域,优化器的选择对于模型训练的效果具有决定性作用。本文通过对比分析不同优化器的工作原理及其在实际应用中的表现,探讨了如何根据具体任务选择合适的优化器以提高模型性能。文章首先概述了几种常见的优化算法,包括梯度下降法、随机梯度下降法(SGD)、动量法、AdaGrad、RMSProp和Adam等;然后,通过实验验证了这些优化器在不同数据集上训练神经网络时的效率与准确性差异;最后,提出了一些基于经验的规则帮助开发者更好地做出选择。
|
7天前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
23 2
|
6天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
21 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
6天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
25 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
11天前
|
机器学习/深度学习 数据采集 数据库
使用Python实现智能食品营养分析的深度学习模型
使用Python实现智能食品营养分析的深度学习模型
38 6
|
8天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品储存管理的深度学习模型
使用Python实现智能食品储存管理的深度学习模型
24 2
|
9天前
|
机器学习/深度学习 算法
深度学习中的模型优化策略
【10月更文挑战第35天】在深度学习的海洋中,模型优化是那把能够引领我们抵达知识彼岸的桨。本文将从梯度下降法出发,逐步深入到动量、自适应学习率等高级技巧,最后通过一个实际代码案例,展示如何应用这些策略以提升模型性能。