深度学习

该笔记源于微信公众号:计算机视觉life。

机器学习的分支,使用多个层次的**非线性信息处理和抽象**,用于**有监督或者无监督**的特征学习、表示、分类和模式识别。

		§ 第一代人工神经网络:简单的感知神经层组成(只能进行简单而有限的计算)
	
		§ 第二代:反向传播(BP),根据错误率更新神经元的权重,利用支持向量(SVM浮出水面,一时间段超过ANN。
	
		§ 同时,为了克服反向传播的局限,人们提出了受限的玻尔兹曼机(RBM),学习更加容易。
	
		§ 同时,其他技术与神经网络也出现了(前馈神经网络(FNN)、(卷积神经网络CNN、循环神经网络RNN、以及深层信念网络、自编码器)

1.深度学的方法

• 深度监督学习:数据已被标记、分类器或者数值预测情况。
	○ LeCun等人(2015)等人提出的对监督学习方法以及深层结构形成给出精简解释。
	○ Deng 和Yu(2014)提到许多采用监督学习以及缓和学习的深度学习网络,并做出解释(深度堆栈网络(DSN)及其变体。
	○ Schnidthuber(2014)研究涵盖所有神经网络,从早期神经网络到最近成功的卷积神经网络(CNN)、循环神经网络(RNN)、长期记忆(LSTM)以及改进。
	
• 深度强化学习:使用奖惩烯烃预测学习模型的下一步。(用于游戏与机器人,解决平常得到决策问题。)
	○ Schmidthuber(2014)描述了强化学习(RL)中深度学习的进展,以及前馈神经网络(FNN)和循环神经网络(RNN)在RL中的应用。
	
	○ Li(2017)讨论了深度强化学习(Deep Reinforcement Learning,DRL)、其构架(如:Deep Q-Network,DQN)以在各个领域的应用。
	
	○  Mnih等人(2015)提出了一种使用深度神经网络(deep neural network,DNN)的DRL构架。

3. 深度神经网络

深度神经网络:
	○ 主要由神经元与连接组成;
	○ 深度神经网络:中间隐含很多隐藏层(用于计算复杂函数、从输入中提取特征)
	○ bengio(2009)解释深度结构的神经网络(卷积神经网络(CNN)、自编码器(AE)等变体。
	○ Deng 与Yu(2014)介绍神经网络架构(AE变体)
	○ Goodfellow等(2016)对深度前馈网络、卷积网络、递归网络及其改进进行介绍和技巧性讲解
	○ Schmidhuber(2014)提到神经网络从早期到最近成功技术的完整历史。
• 深度自编码器
	自编码器(AE):神经网络(NN)中的输入即为输入。AE采用原始属兔,编码为压缩表示,然后解码仪重建输入
		§ 变分自动编码器(VAE):可以算作解码器。建立在标准神经网络上,可以通过随机梯度下降训练(Doersch,2016)
		
		§ 多层降噪自编码器:早期的自编码器(AE)中,编码器的维度比输入比较小(窄)。在多层自编码器(SDAE)中,比输入层宽(Deng and Yu,2014)
		
		§ 变换自编码器:深度自动编码器(DAE)可以转换可变的,也就是从多层非线性处理中的特征可以根据学习者的需要改变。变换自编码器(TAE)即可以使用输入向量,也可以使用目标输出向量来应用转换不变属性,将代码引导到期望的方向(Deng and Yu,20114).
• 深度神经卷积网络
		§ 四种基本思想构成了卷积神经网络(CNN),即:局部连接、共享权重、池化和多层使用。CNN的第一部分由卷积层与池化层构成,后一部分主要是全连接层。卷积层监测特征的局部连接、池层将相似的特征合并为一个。CNN在卷积层中使用卷积而不是矩阵乘法。
		
		§ Krizhevsky等人(2012)提出了一种深度卷积网络(CNN)架构,也称为AlexNet,这是深度学习(Deep learning ,DL)的一个重大突破。网络由5个卷积层个3个全连接层组成。该架构采用图形处理单元(GPU)进行卷积运算,采用线性整流函数(ReLU)作为激活函数,用Dropout来减少过拟合。
		
		§ landola等人(2016)提出一个**线性CNN架构**,叫做[SqueezeNet]。
		
		§ Szegedy等人(2014)提出一种**深度CNN架构**(Inceptio,Dai等人(2017)提出对Inception—ResNet进行改进。
		
		§ Redmon等人(2015)提出**YOYO(You Only Look Once)的CNN构架**(用于均匀和实时目标检测。
		
		§ Zeiler 和Fergus(2013)提出一种**CNN内部激活可视化**的方法。
		
		§ Gehring 等人(2017)提出一种用于**序列学习CNN构架**.
		
		§ Bansal等人(2017)提出PixlNet,使用**像素表示**。
		
		§ Goodfellow等人(2016)解释CNN基本构架以及思想。
		
		§ Gu等人(2015)对CNN最新进展、CNN多种变体、CNN的构架、正则化方法以及功能以及在各个领域的应用进行了很好的概述。
	
	○ 深度最大池化卷积神经网络(MPCNN):主要用于卷积核最大池化进行操作(数字化图像处理中。由三种层组成:
		§ (卷积层用于获取输入图像并生成特征图,
		§ 应用非线性激活函数,最大池层向下采样,保持子区域的最大值。
		§ 全连接层进行线性乘法。(输入层之后的周期性使用卷积核混合池化,后是全连接层。
	○ 极深的卷积神经网络
		§ Simonyan 和Zisserman(2014)提出非常深层的卷积神经网络(VDCNN)架构(VGG Net):使用非常小的卷积滤波器,深度达到16-19层。
		
		§ Conneau等人(2016)提出了另一种文本分类的VDCNN架构,使用最小卷机与池化。(声称VDCCNN架构是第一个文本处理中使用,字符级别上起作用,由29个卷积层组成.

4.网络中的网络

		§ Lin等人(2013)提出了网络中的网络(Network In Network,NIN):NIN以具有复杂结构的微神经网络替代传统的卷积神经网络(CNN)卷积层。使用多层感知器(MLPConv)处理微神经网络和全局平均池化层,而不是全连接层。深度NIN架构可以由NIN结构多重叠加组成。
• 基于区域的卷积神经网络
	○ Gershick等人(2014)提出了基于区域的卷积神经网络(R-CNN),使用区域进行识别。通过区域进行定位与分割目标。架构的三个模块:1)定义了候选区域的集合类别独立区域建议,2)从区域中提取特征的大型卷积神经网络(CNN),3)以及一组特定的线性支持向量机(SVM)。
	
		§ Fast R-CNN:Grishick(2015)提出快速的基于区域的卷积神经网络(Fast R-CNN):利用R-CNN能够快速生成结果。Fast R-CNN由卷积层与池化层、区域建议层和一系列全连接层组成。
		
		§ Faster R-CNN:Ren等人提出更快的基于区域的卷积神经网络(Faster R-CNN):使用区域建设神经网络(Region Proposal Network,RPN)进行实时目标检测。
		
		§ Mask R-CNN:何恺明(2017)提出基于区域的掩模卷积网络(Mask R-CNN)实例目标检测。拓展了R-CNN架构,并使用一个额外的分支用于预测目标掩模。
		
		§ Multi-Expert R-CNN:Lee等人(2017)提出基于区域的多专家卷积神经网络(ME R-CNN),利用Fast R-CNN 架构。从选择性和想进行的搜索中生成兴趣区域(Rol)也使用per-Rol网络。每个专家都是来自Fast R-CNN的全连接层的相同的构架。

5. 深度残差网络

	He等人(2015)提出残差网络(ReNet)由152层组成。ResNet具有较低的误差,并且容易通过残差学习进行训练。更深层次的ResNet可以得到更好的的性能。
		
		§ ResNet in ResNet :Targ等人(2016)在ResNet in ResNet (RIR)中提出将ResNets 和标准卷积神经网络(CNN)结个婚到双层流构架中。
		
		§ ResNeXt : Xie 等人(2016)提出了ResNXt 利用ResNet 重复使用分割-转换-合并策略。
• 胶囊网络
	○ Sabour 等人(2017)提出了胶囊网络(CapsNet),包含两个卷积层和一个全连接层架构。通常包含多个卷积层,胶囊层通常位于末端,CapsNet使用胶囊层而不是神经元。激活较低级的胶囊作出预测,统一预测之后,更高级的胶囊变得活跃,在这些胶囊层中,只用一种协议路由机制。Hinton之后提出看EM路由利用期望最大化(EM)算法对CapsNet进行改进。
• 循环神经网络
	适用于序列输入(语音文本和生成序列),一个重复的隐藏单元在时间展开式可以被认为具有相同的权重的非常深的前馈网络。由于梯度消失和维度爆炸问题。由于RNN曾经训练很难,有人提出了改进意见。
		§ Goodfellow 等人(2016)详尽分析了循环神经网络和递归神经网络和构架细节,以及相关的门控和记忆网络。
		
		§ Karpathy 等人(2015)使用字符集语言模型来分析可视化预测,表征训练动态、RNN及其变体(LSTM)的错误无类型等。
		
		§ J'ozefowicz(2016)探讨了RNN模型和语言模型的局限性。
		§ RNN-EM:Peng 和Yao (2015)提出了外部记忆(RNN-EM)改善RNN记忆功能。
		§ GF-RNN:Chung等(2015)提出了门控反馈递归神经网络(GF-RNN),通过将多个递归层与全局门控单元叠加拓展标准的RNN。
		§ Quasi-RNN :Bradbury等人(2016)提出用于神经序列建模和沿时间步的并行应用的准循环神经网络(QRNN)。
• 记忆网络
		§ Weston 等人(2015)提出了用于QA任务的动态记忆网络(DMN)、DMN有四个模块:输入、输出特征映射、泛化、输出特征映射和响应组成。
		
		§ Kumar等人(2015)提出了用于QA任务的动态记忆网络(DMN)。具有四个模块:输入、问题、输出,情景记忆、输出。
• 增强神经网络
Olah 和Carter(2016)很好地展示了注意力和增强循环神经网络,即神经图灵机(NTM)、注意力接口,神经编码器和自适应计算时间。通常使用额外的属性(逻辑函数以及标准的神经网络架构。
		§ 神经图灵机:Grave等人(2014)提出了神经图灵机(NTM)架构,有神经网络控制器和记忆库组成。NTM通常与外部记忆库组合。
		
		§ 神经GPU:Kaiser和Sutskever(2015)提出了神经GPU解决了NTM的并行问题。
		
		§ 神经随机存取机:Kurach等人(2015(提出了神经随机取款机,使用外部的可变大小的随机存取存储器。
		
		§ 神经编程器-解释器:Reed 和 de Freitas(2015)提出了可学习的神经编程器-解释器(NPI)。包括周期性内核、程序内存和特定有领域的编码器。
		
• 长短期记忆网络:
		§ Hochreiter和Schnidhuber(1997)提出了长短期记忆(Long short-Short-Term Memory,LSTM ),克服了循环神经网络(RNN)的误差回流问题。LSTM基于循环网络和基于梯度的学习方法,LSTM引入自循环产生路径,使梯度能够流动。
		
		§ Greff等人(2017)对标准LSTM和8个 LSTM变体进行了大规模分析,分别用于语音识别、手写识别和复调音乐建模,LSTM的8个变种没有显著改善,只有标准的LSTM表现良好。
		
		§ Shi 等人(2016b)提出了深度长期记忆网络(DLSTM),一个单元的堆栈,用于特征映射学习表示。
		
		§ 批-归一化LSTM:Coijmans等人(2016)提出批-归一化(BN-LSTM),对递归神经网络的隐藏状态使用批-归一化。
		
		§ Piexl RNN : van den Oord等人(2016b)提出像素递归像素神经网络(Pixel-RNN),有12个二维LSTM层组成。
		
		§ 双向LSTM:W''ollmer等人(2010)提出双向LSTM(BLSTM)的循环网络与动态贝叶斯网络(BDN)一起用于上下文敏感关键字检测。
		
		§ Variational Bi-LSTM:Shabanian等人(2017)提出变分双向LSTM(Variation Bi-LSTM)是双向LSTM体系结构的变体使用变分自编码器(VAE)LSTM之间穿件一个信息交流通道,学习更好的表征。
		
• 谷歌神经机器翻译:Wu等人(2016)提出名为谷歌神经及其翻译(GNMT)自动翻译系统,结合编码器网络、解码器网络和注意力网络,遵循共同的序列(sequence-to-sequence)的学习框架。
		
• Fader Network:Lample等人(2017)提出了Fader网络,这是一种新型的编码器-解码器构架,通过改变属性值来生成真实的输入输出图像变化。

• 超网络:Ha等人(2016)提出超网络(Hyper Network)为其他的神经网络生成权值,静态超网络卷积网络,用于循环网络的动态网络。
• Hightway Networks: Srivastava等人(2015):高速路网络(Hightway Network),通过门控单元来学习管理信息。跨多个层次的信息流。
	○ Recurrent Hightway Networks:Zilly等(2017)提出循环高速网络,拓展了长期记忆(LATM)架构RHN在周期性过渡中使用了Highway层。
	○ Highway LSTM RNN :Zhang 等人(2016):在相邻层的内存单元之间拓展了具有封闭方向的连接(即Highway的深度的LSTM网络。
	
• 长期循环 CNN: Donahue 等人(2014),提出长期循环卷积网络(LRCN),使用CNN进行输入,使用LSTM进行递归序列建模、生成预测 。
• 深度深度SVM:Zhang (2015)提出深度神经SVM (DNSVM).t,它以支持向量机(Support VectorMachine,

• 卷积残差记忆网络:Moniz 和Pai(2016)提出了卷积残差记忆网络,奖以及机制并入卷积神经网络(CNN)。用长短记忆机制来增强卷积残差网络。

• 分形网络: Larsson等人(2016)提出分形网络 FrantalNet 作为残差网络作为替代方案。可训练超深度的神经网络而不需要残差学习,分形是简单的拓展规则生成的重复架构。
• WaveNet : Van den Oord 等人(2016):用于产原始音频饿深度神经网络WaveNet,由一堆卷积层和softmax 分布层组成,用于输出。
	○ Rethage等人(2017)提出了一个WaveNet模型用于音频去噪。
• 指针网络:Vinyals等人(2017)提出指针网络(Prt-Nets),通过一种称为[指针]的Softmax概率分布来解决表征变量字典的问题。

6.深度生成模型

其余的深度构架,使用深度神经网络类似的多个抽象层和表示层,称为深度生成模型(deep generate Models,DGM)。Bengio(2009)解释了深层架构(Boltzman machine)(BM)和 (Restricted Boltzman Machines(RBM)等机器变体。

Goodfellow 等人(2016)详细解释了深度生成模型,(如受限的玻尔兹曼机及其变种、深度玻尔兹曼机、深度信念网络(DBN)、定向生成随机网络等。

Maaloe等人(2016)提出辅助深层生成网络(Auxiliary Deep Generative Model),拓展了具有辅助变量的深层生成模型。辅助变量利用随机层和跳过连接生成变分部分。

• 玻尔兹曼机:学习任意概率 分布的连接主义方法,使用最大似然元组进行学习。

• 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM),是马尔科夫随机场的一种特殊类型(包含一层随机隐藏单元(潜变量和一层可观测变量)。Hinton和Salahutdinov(2011)提出一种利用首次按玻尔兹曼机(RBM)进行文档处理的深度生成模型。

• 深度信念网络(Deep Belief Networks,DBN)是一个具有多个潜在二元或者真实变量层的生成模型。Ranzato等人(2011)利用深度信念网络(Deep Belief networks)建立了深度生成模型进行图像识别。

• 深度朗伯网络(Deep Lambertian Netwroks,DLN):Tang等人(2012)提出,多层次的生成网络模型,其中潜在的变量是反照率、表面法和光源。DLNis是朗伯反射率和高斯受限玻尔兹曼机和深度信念网络的结合。

• 生成对抗网络(Generate Adversarial Nets,GAN):Goodfellow 等人(2014)提出,通过对抗过程来评估生成模型。
	○ Denton等人(2015)提出深度生成网络模型(DGM),拉普拉斯生成对抗网络(LAPGAN)使用对抗网络(GAN)方法。在拉普拉斯金字塔框架中使用卷积网络。
• 循环支持向量机(RSVM):利用循环神经网络(RNN)作为输入序列中提取特征,利用标准支持向量机(SVM)进行序列级目标识别。
• 
• 训练优化技术
正则化和优化度神经网络(DNN)
• Dropout: Srivastava(2014)提出,以防止神经网络过拟合。Dropout是一种神经网络模型平均正则化方法,通过增加噪声到期隐藏单元。训练过程中,从神经网络中随机抽取单元和连接。Dropout可以用于像RBM(深度受限玻尔兹曼机)图形模型中,可以用在任何类型的神经网络。最近提出关于Dropout的改进层是Fraternal Dropout,用于循环神经网络(RNN)。

• Maxout:Goodfellow 等人(2013)提出Maxout,一种新的激活函数,用于Dropout,其输出层是一组输入的最大值,有利于Dropout的模型平均。

• Zoneout:Kruege等人(2016)提出循环神经网络(RNN)的正则化方法Zoneout。在训练中随机使用噪音。类似于Dropout,但保留了隐藏单元而不是丢弃。
• 深度残差学习:He等人(2015)提出深度残差学习框架,该框架被称为低训练误差的ResNet。
• 批归一化:Loffe和Szegedy(20150提出批归一化,通过减少内部协变量为来加速深度神经网络的方法。loffe(2017)提出批重归一化,拓展了以前的方法。
• Distillation:Hinton等人(2015)提出将知识从高度正则化模型的集合(神经网络)转化压缩为小模型的方法。

• 层归一化:Ba等人(2016)提出层归一化,特备是针对RNN的深度神经网络加速训练,解决了批归一化的不足。
	• 
**• 深度学习框架**
• 大多的学习框架基于python语言构建的,Theano、Tensorflow、PyTorch、Pybrain、Caffer、Blocks and Fuel

**• 深度学习应用**
• 自深度学习以来,DL方法一监督、非监督、半监督或者强化学习的形式被广泛应用有各个领域。
	○ 图像分类与识别
	○ 视频分类
	○ 序列生成
	○ 缺陷分类
	○ 文本、声音、图像与视频处理
	○ 文本分类
	○ 语音处理
	○ 语音识别和口语理解
	○ 文本到语音的生成
	○ 句子分类
	○ 句子建模
	○ 词汇处理、预选择
	○ 文档和句子处理
	○ 生成图像文字说明
	○ 照片风格迁移
	○ 自然图像流形
	○ 图像着色
	○ 图像问答
	○ 生成纹理和风格化图像
	○ 视觉识别和描述
	○ 目标识别
	○ 文档处理
	○ 人物动作合成和编辑
	○ 歌曲合成
	○ 身份识别
	○ 分类和可视化动作捕捉序列
	○ 手写生成和预测
	○ 自动化和机器翻译
	○ 命名实体识别
	○ 移动视觉
	○ 对话智能体
	○ 调用遗传变异
	○ 癌症检测
	○ 硬件加速
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐