深度学习史上最全总结(文末有福利)

合集下载

深度学习概述

深度学习概述

深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。

同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分.不同的学习框架下建立的学习模型很是不同.例如,卷积神经网络(Convolutional neural networks,简称CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(Deep Belief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。

目录1简介2基础概念▪深度▪解决问题3核心思想4例题5转折点6成功应用1简介深度学习的概念源于人工神经网络的研究。

含多隐层的多层感知器就是一种深度学习结构。

深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

[2]深度学习的概念由Hinton等人于2006年提出。

基于深信度网(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。

此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。

[2]2基础概念深度:从一个输入中产生一个输出所涉及的计算可以通过一个流向图(flow graph)来表示:流向图是一种能够表示计算的图,在这种图中每一个节点表示一个基本的计算并且一个计算深度学习的值(计算的结果被应用到这个节点的孩子节点的值)。

考虑这样一个计算集合,它可以被允许在每一个节点和可能的图结构中,并定义了一个函数族。

输入节点没有孩子,输出节点没有父亲。

这种流向图的一个特别属性是深度(depth):从一个输入到一个输出的最长路径的长度。

传统的前馈神经网络能够被看做拥有等于层数的深度(比如对于输出层为隐层数加1)。

SVMs有深度2(一个对应于核输出或者特征空间,另一个对应于所产生输出的线性混合)。

吴恩达深度学习专项课程的信息图deeplearning.ai课程总结

吴恩达深度学习专项课程的信息图deeplearning.ai课程总结

吴恩达深度学习专项课程的信息图deeplearning.ai课程总结深度学习基础1 深度学习基本概念监督学习:所有输入数据都有确定的对应输出数据,在各种网络架构中,输入数据和输出数据的节点层都位于网络的两端,训练过程就是不断地调整它们之间的网络连接权重。

左上:列出了各种不同网络架构的监督学习,比如标准的神经网络(NN)可用于训练房子特征和房价之间的函数,卷积神经网络(CNN)可用于训练图像和类别之间的函数,循环神经网络(RNN)可用于训练语音和文本之间的函数。

左下:分别展示了NN、CNN 和RNN 的简化架构。

这三种架构的前向过程各不相同,NN 使用的是权重矩阵(连接)和节点值相乘并陆续传播至下一层节点的方式;CNN 使用矩形卷积核在图像输入上依次进行卷积操作、滑动,得到下一层输入的方式;RNN 记忆或遗忘先前时间步的信息以为当前计算过程提供长期记忆。

右上:NN 可以处理结构化数据(表格、数据库等)和非结构化数据(图像、音频等)。

右下:深度学习能发展起来主要是由于大数据的出现,神经网络的训练需要大量的数据;而大数据本身也反过来促进了更大型网络的出现。

深度学习研究的一大突破是新型激活函数的出现,用ReLU 函数替换sigmoid 函数可以在反向传播中保持快速的梯度下降过程,sigmoid 函数在正无穷处和负无穷处会出现趋于零的导数,这正是梯度消失导致训练缓慢甚至失败的主要原因。

要研究深度学习,需要学会「idea—代码—实验—idea」的良性循环。

2 logistic 回归左上:logistic 回归主要用于二分类问题,如图中所示,logistic 回归可以求解一张图像是不是猫的问题,其中图像是输入(x),猫(1)或非猫(0)是输出。

我们可以将logistic 回归看成将两组数据点分离的问题,如果仅有线性回归(激活函数为线性),则对于非线性。

深度学习介绍 ppt课件

深度学习介绍 ppt课件
从数学的角度来说,稀疏编码是一种多维数据描述方法,数据 经稀疏编码后仅有少数分量同时处于明显激活状态。在实际应 用中,稀疏编码有如下几个优点:稀疏编码方案存储能力大, 具有联想记忆能力,并且计算简便;使自然信号的结构更加清 晰;事实上,这一简单的自编码神经网络通常可以学习出一个 跟主成分分析(PCA)结果非常相似的输入数据的低维表示。
2016年10月,NVIDIA 发布了新版本的通用并行计算架构库:统一计算设备架构(Compute Unified Device Architecture,CUDA)8.0,以及深度学习专用GPU 加速库:cuDNN 5.0;
2016年11月,在2016全球超级计算机大会(SC16)上,AMD 宣布推出新版Radeon开放计算平台
求误差梯度
求期望和实际 的偏差E
计算隐含层 单元误差
E满足要求?
Y
N
达到最大训练次数?
N Y
结束
BP算法流程
13
主要问题
主要问题
训练过程易陷入局部极小值,从而得不到全局最优解; 计算量大,训练次数多,使得学习效率低,收敛速度慢; 对于隐含层个数和隐含层神经元节点的个数选择,至今还没有一个具体的定论,缺乏理论指导; 训练时,学习新样本有遗忘旧样本的趋势
常用改进方法
添加动量项,Dropout等规则化算法等; 采用改进的梯度下降法,使用硬件辅助计算; RNN,LSTM等改进模型和神经元。
2020/12/27
14
主要内容
现状
神经网络
深度学习
介绍 常见模型
• Stacked Auto-Encoder • Convolutional Neural Network • Deep Belief Network

深度学习常用名词解析

深度学习常用名词解析

深度学习常用名词解析深度学习:英文DL(Deep Learning),指多层的人工神经网络和训练它的方法。

一层大量的神经网络会把大量的矩阵数字作为输入,通过非线性激活方法获取权重,再产生另一个数据集和作为输出。

Epoch:在模型训练的时候含义是训练集中的所有样本训练完一次。

这里的一指的是:当一个完整的数据集通过了神经网络一次并且返回了一次。

如果Epoch过少会欠拟合,反之Epoch过多会过拟合.1个epoch=iteration数×batchsize数举个例子:训练集有1000个样本,batchsize=10。

训练完整个样本集需要:100次iteration,1次epoch。

为什么要使用多个epoch?当一个 epoch 对于计算机而言太庞大的时候,就需要把它分成多个小块。

在神经网络中传递完整的数据集一次是不够的,而且我们需要将完整的数据集在同样的神经网络中传递多次。

但是请记住,我们使用的是有限的数据集,并且我们使用一个迭代过程即梯度下降,优化学习过程和图示。

因此仅仅更新权重一次或者说使用一个 epoch 是不够的。

随着 epoch 数量增加,神经网络中的权重的更新次数也增加,曲线从欠拟合变得过拟合。

Iteration:翻译为迭代。

迭代是重复反馈的动作,神经网络中我们希望通过迭代,进行多次的训练以达到所需的目标或结果。

1个iteration=1个正向通过+1个反向通过=使用batchsize个样本训练一次。

每次迭代的结果将作为下一次迭代的初始值。

Batchsize:转化为批量大小。

简单来说,批量大小将决定我们每次训练的样本数量(参数变化受机器性能限制,电脑配置差的话不能设置太大)。

记住公式:1个iteration=使用batchsize个样本训练一次。

在深度学习中,一般采用SGD训练(随机梯度下降),即每次训练在训练集中取batchsize个样本训练;(1)经验总结:Batch_Size的正确选择是为了在内存效率和内存容量之间寻找最佳平衡相对于正常数据集,如果Batch_Size过小,训练数据就会非常难收敛,从而导underfitting。

深度学习概述

深度学习概述

深度学习概述神经⽹络定义⽬前,关于神经⽹络的定义尚不统⼀,按美国神经⽹络学家Hecht Nielsen 的观点,神经⽹络的定义是:“神经⽹络是由多个⾮常简单的处理单元彼此按某种⽅式相互连接⽽形成的计算机系统,该系统靠其状态对外部输息”。

综合神经⽹络的来源﹑特点和各种解释,它可简单地表述为:⼈⼯神经⽹络是⼀种旨在模仿⼈脑结构及其功能的信息处理系统。

⼈⼯神经⽹络(简称神经⽹络):是由⼈⼯神经元互连组成的⽹络,它是从微观结构和功能上对⼈脑的抽象、简化,是模拟⼈类智能的⼀条重要途径,反映了⼈脑功能的若⼲基本特征,如并⾏信息处理、学习、联想、深度学习⼀般指深度神经⽹络,这⾥的深度指神经⽹络的层数(较多)。

深度学习⾥程碑单层感知器基本结构上⾯的感知器,相当于⼀个分类器,它使⽤⾼维的X向量作为输⼊,在⾼维空间对输⼊的样本进⾏⼆分类:当W^T X>0时,o=1,相当于样本被归类为其中⼀类。

否则,o=-1,相当于样本被归类为另⼀类。

这两类的边是⼀个⾼维超平⾯。

分割点分割直线分割平⾯分割超平⾯Ax+B=0Ax+By+C=0Ax+By+Cz+D=0W^T X+b=0感知器的训练法则感知器的训练法则:对于每⼀个训练样例<X,t>使⽤当前的权值计算感知器输出o;对于每⼀个权值做如下的更新:其中,X为输⼊向量,t为⽬标值,o为感知器当前权值下的输出,η为学习率,x_i和ω_i为向量X和W的第i个元素。

当训练样例线性可分时,反复使⽤上⾯的⽅法,经过有限次训练,感知器将收敛到能正确分类所有训练样例的分类器。

在训练样例线性不可分时,训练很可能⽆法收敛。

因此,⼈们设计了另⼀个法则来克服这个不⾜,称为delta法则。

它使⽤梯度下降(Gradient Descent)的⽅法在假设空间中所有可能的权向量,寻找到最佳拟合训练样梯度下降与损失函数l对于多元函数o=f(x)=f(x_0,x_1,…,x_n ),其在X^′=〖[〖x_0〗^′,〖x_1〗^′,…,〖x_n〗^′]' ' 〗^T处的梯度为:梯度向量的⽅向,指向函数增长最快的⽅向。

深度学习技术基础知识文档

深度学习技术基础知识文档

深度学习技术基础知识文档第一章:深度学习概述1.1 什么是深度学习•深度学习是一种基于人工神经网络的机器学习方法,通过使用多层神经网络来实现复杂的数据处理和分析。

它可以学习数据的高级抽象特征和模式,实现对数据的精确识别和预测。

1.2 深度学习的核心原理•深度学习的核心原理包括:反向传播算法、激活函数、优化算法等。

这些原理使得深度学习网络可以学习数据的高级抽象特征和模式。

第二章:主要方法介绍2.1 卷积神经网络(CNN)•CNN是一种基于卷积和池化操作的神经网络,主要用于图像识别和分类。

它可以学习图像的局部特征和全局特征,实现对图像的精确识别和分类。

2.2 循环神经网络(RNN)•RNN是一种基于递归和循环连接的神经网络,主要用于序列数据的处理和分析。

它可以学习序列数据的时序特征和依赖关系,实现对序列数据的精确识别和预测。

2.3 长短时记忆网络(LSTM)•LSTM是一种基于门控循环单元的神经网络,主要用于序列数据的处理和分析。

它可以学习序列数据的长期依赖关系和时序特征,实现对序列数据的精确识别和预测。

第三章:应用领域3.1 自然语言处理(NLP)•NLP是人工智能的一个分支,主要研究如何使计算机理解和处理人类语言。

深度学习在NLP中的应用包括:文本分类、情感分析、机器翻译等。

3.2 计算机视觉(CV)•CV是人工智能的一个分支,主要研究如何使计算机理解和处理图像和视频。

深度学习在CV中的应用包括:图像识别、目标检测、图像生成等。

第四章:伦理考量4.1 数据隐私保护•数据隐私保护是深度学习应用中的一个重要伦理问题。

我们需要确保数据的隐私和安全,避免数据的滥用和泄露。

4.2 AI偏见和公平性•AI偏见和公平性是深度学习应用中的一个重要伦理问题。

我们需要确保AI系统的公平性和无偏见,避免AI系统的歧视和偏见。

第五章:结论•深度学习是一种强大的机器学习方法,可以实现对数据的精确识别和预测。

通过了解深度学习的核心原理和主要方法,我们可以更好地应用深度学习技术来解决实际问题。

深度学习基础知识解读

深度学习基础知识解读

深度学习基础知识解读第一章深度学习的背景和概念1.1 人工智能与机器学习的发展历程1.2 深度学习的定义和特点1.3 深度学习与传统机器学习的区别第二章神经网络及其基本原理2.1 人脑神经系统简介2.2 人工神经网络概述2.3 基本神经网络的结构和运行机制2.4 优化算法:梯度下降和反向传播第三章深度学习常用的网络结构3.1 卷积神经网络(CNN)3.1.1 卷积和池化层的原理3.1.2 LeNet-5网络结构解析3.1.3 AlexNet网络结构解析3.2 循环神经网络(RNN)3.2.1 循环单元(RNN unit)的原理3.2.2 长短时记忆网络(LSTM)的结构和应用 3.2.3 双向循环神经网络第四章深度学习的主要应用领域4.1 计算机视觉4.1.1 图像分类和目标检测4.1.2 图像分割和语义分割4.2 自然语言处理4.2.1 语言模型和文本生成4.2.2 机器翻译4.2.3 文本分类和情感分析4.3 语音识别和合成4.3.1 语音识别原理与技术4.3.2 语音合成原理与技术4.4 推荐系统4.4.1 基于内容的推荐4.4.2 协同过滤推荐4.4.3 深度学习在推荐系统中的应用第五章深度学习的训练和优化技巧5.1 数据预处理5.1.1 数据清洗和归一化处理5.1.2 数据增强技术5.2 正则化技术5.2.1 L1和L2正则化5.2.2 Dropout正则化5.2.3 批归一化(Batch Normalization) 5.3 学习率调整策略5.3.1 学习率衰减5.3.2 动量方法5.3.3 自适应学习算法(Adam)第六章深度学习的挑战和未来发展趋势6.1 深度学习存在的问题和挑战6.1.1 数据需求和标注困难6.1.2 模型的复杂性和计算资源要求6.2 深度学习的未来趋势6.2.1 模型压缩和轻量化网络6.2.2 自迁移学习和跨域学习6.2.3 强化学习和深度强化学习通过本文,我们深入解读了深度学习的基础知识。

带你了解深度学习的基本概念

带你了解深度学习的基本概念

带你了解深度学习的基本概念第一章:引言深度学习(Deep Learning)是一种人工智能(Artificial Intelligence)技术,其灵感来源于人类神经系统的运作方式。

深度学习通过构建和训练神经网络来实现模式识别和决策推理等任务。

本文将带你了解深度学习的基本概念,以及其在不同领域的应用。

第二章:神经网络的基础神经网络是深度学习的核心工具。

神经网络由多个层次(Layer)组成,每个层次由多个神经元(Neuron)构成。

神经元通过接收输入信号,并通过激活函数将信号传递给下一层次的神经元。

神经网络的训练过程就是通过调整权重和偏置来使网络的输出尽可能接近于期望输出。

第三章:深度学习的前向传播深度学习的前向传播是指将输入数据通过神经网络从输入层传递到输出层的过程。

每个神经元会根据输入数据和权重计算出一个值,并通过激活函数激活该值。

这个过程一直持续到输出层,最终产生网络的预测结果。

第四章:深度学习的反向传播深度学习的反向传播是指通过损失函数和梯度下降法来调整神经网络的权重和偏置的过程。

首先,通过计算损失函数来衡量网络预测结果与真实值之间的差距。

然后,根据梯度下降法的原理,从输出层开始,逐层计算每个神经元对损失函数的偏导数,并根据该偏导数来更新权重和偏置。

第五章:卷积神经网络(CNN)卷积神经网络是深度学习中常用的一种网络结构。

相比于传统的神经网络,卷积神经网络在处理具有空间结构的输入数据时更加高效。

卷积神经网络通过卷积层和池化层来提取输入数据的空间特征,并通过全连接层进行最终的分类或回归任务。

第六章:循环神经网络(RNN)循环神经网络是另一种常用的深度学习网络结构,主要用于处理序列数据和具有时间依赖性的数据。

循环神经网络通过将神经网络的输出结果作为下一个时间步的输入,从而能够对序列数据进行建模和预测。

循环神经网络的一个重要变种是长短时记忆网络(LSTM),它通过引入门控机制来解决序列数据的长期依赖问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深度学习(Deep Learning),这是一个在近几年火遍各个领域的词汇,似乎所有的算法只要跟它扯上关系,瞬间就显得高大上起来。但其实,从2006年Hinton在Science上的论文算起,深度学习发展至今才不到十年。

在这短短几年时间里,深度学习颠覆了语音识别、图像分类、文本理解等众多领域的算法设计思路,渐渐形成了一种从训练数据出发,经过一个端到端(end-to-end)的模型,然后直接输出得到最终结果的一种新模式。这不仅让一切变得更加简单,而且由于深度学习中的每一层都可以为了最终的任务来调整自己,最终实现各层之间的通力合作,因而可以大大提高任务的准确度。随着大数据时代的到来以及GPU等各种更加强大的计算设备的发展,深度学习如虎添翼,可以充分利用各种海量数据(标注数据、弱标注数据或者仅仅数据本身),完全自动地学习到抽象的知识表达,即把原始数据浓缩成某种知识。

当然,深度学习不见得是最完美的框架,离最终所谓的智能也还差得很远,而且目前还基本没有理论上的有效性解释。但是,无论如何,深度学习之风已经势不可挡!

深度学习本质上其实就是多层神经网络,而神经网络这个东西几十年前大家就开始研究了。我们知道,神经网络的一层,其实就是一个线性变换加上一个简单的非线性操作,而多层神经网络其实就是多个简单的非线性函数的复合。一层、两层的网络用途比较有限,往往很难刻画输入与输出之间的复杂关系。但是深层的网络,历史上又一直无法进行有效训练。这大概是因为有以下三个难点难以突破:

优化方面 (1)优化策略的核心就是梯度下降法,但对于一个深层的网络,它的函数的梯度也非常复杂。于是,误差反向传播算法就经常在参数初始值选择不当的时候产生梯度消失或者梯度爆炸现象,导致优化无法正常进行。 (2)深层网络由于是高度非线性的,有着太多的局部极值,很难保证能够得到一个可以接受的好的解。数据方面 早期,各种数据集往往都非常小,经常是几百几千的规模。人们都侧重于解决如何在小数据情形下的算法过拟合问题,典型的就是SVM。这时候,复杂的多层神经网络根本用不上,他们在数据量不足的情况下会过拟合的非常严重。计算能力方面 深度学习的经典模型卷积神经网络(CNN)其实在上世纪八九十年代就出现了,而且其中LeNet-5模型在简单的手写体识别问题上已经取得了很大的成功。但是当时的计算能力无法支持更大规模的网络,而LeNet-5在复杂物体识别上的表现也并不好,所以影响了人们对这一系列算法的进一步研究。

由于以上种种原因,神经网络一度曾经非常低调。直到2006年,著名的学者Geoffrey Hinton在Science上发表了一篇论文,给出了训练深层网络的新思路。大概想法是先分层进行预训练,然后把预训练的结果当成模型参数的初始值,再从头进行正常的训练过程。这个想法现在看起来很简单,但对于全连型的深层网络来说却是非常有效的。

关于语音识别 2009年,Hinton把深层神经网络介绍给做语音识别的学者们。然后2010年,语音识别就产生了巨大突破。本质上是把传统的混合高斯模型(GMM)替换成了深度神经网络(DNN)模型,但相对识别错误率一下降低20%多,这个改进幅度超过了过去很多年的总和。这里的关键是把原来模型中通过GMM建模的手工特征换成了通过DNN进行更加复杂的特征学习。在此之后,在深度学习框架下,人们还在不断利用更好的模型和更多的训练数据进一步改进结果。现在语音识别已经真正变得比较成熟,并且被广泛商用,且目前所有的商用语音识别算法没有一个不是基于深度学习的。

关于视觉问题 人们初步看到了深度网络的优势,但还是有很多人质疑它。语音识别是成功了,那么图像分类呢?2012年之前,深度学习好像还是只能处理像MNIST手写体分类这样的简单任务。说来也巧,这时候正举行了两届ImageNet比赛。这是一个比手写体分类复杂得多的图像分类任务,总共有100万张图片,分辨率300x300左右,1000个类别。前两届的冠军采用的都是传统人工设计特征然后学习分类器的思路。第一届是2010年,当时冠军的准确率(top 5精度)是71.8%,而2011年是74.3%。由于Hinton经常被其它研究人员“嘲讽”说深度学习在图像领域没有用,于是2012年,Hinton和他的学生Alex等人参赛,把准确率一下提高到84.7%。

当然,他们的成功借助了ImageNet这个足够大的数据集,借助了GPU的强大计算能力,借助了比较深层的CNN网络,借助了随机梯度下降(SGD)和Dropout等优化技巧,借助了训练数据扩充策略(Data Augmentation)。但无论如何,他们靠着深度学习震惊了机器学习领域,从此大量的研究人员开始进入这个领域,一发不可收拾。2013年是89%,2014年是93.4%,截止到现在(2015年5月份),ImageNet数据集的精度已经达到了95%以上,某种程度上跟人的分辨能力相当了。

不仅仅是图像分类,在更广泛的视觉问题上,深度学习都产生了重大影响。简要列举几个如下:

• 人脸识别——LFW数据库上的结果,从最早的90%左右的正确率,一路被研究人员刷到了99.5%以上。人脸相关的应用受此影响,也越来越多。 • 通用物体检测——ImageNet上的检测任务结果,MAP从最早的0.3左右,一路提高到0.66,感觉提高空间还有不少。 • 图像分割——现在深度学习已经可以做到输入是一张图片,输出就是逐个像素分割后的结果,中间也不需要任何预处理,并且精度远超非深度学习的结果。 • 光学字符识别——这里指一般意义的字符序列识别。这个问题的传统做法也是非常复杂的,需要进行字符分割,各种预处理,然后单个字符预测完成后如何拼成完整输出等等。深度学习的做法也是端到端的,输入是图片形式的文字,输出直接就是识别结果了,简单、方便还更准确。所以,现在很多简单点的验证码,想作为图灵测试,分辨人还是robot的话,已经没太大用处了。 • 玩游戏——DeepMind团队的杰作。基于深度学习和强化学习(Reinforcement Learning),计算机已经可以自己学习玩一些简单游戏了,整个过程不需要任何人的干预。对于打砖块这样的简单游戏,甚至已经超过了普通玩家的水平。

简单总结一下视觉的部分。我们经常在媒体上看到深度学习在某领域又超过人的水平了。还有些乐观的人说,深度学习可以处理所有人的视觉在0.1秒内可以解决的问题。这些或许言过其实,不过毫无疑问体现了深度学习带给人们的强烈震撼!

关于文本理解 除了语音和图像之外,另一个机器学习的重要前沿阵地就是文本理解了,深度学习的大量研究人员都集中于此。这里简单介绍三点。 关于文本,一个很重要的工作是词向量(word2vec)。词向量是指通过对大量文本的学习(不需要标注),根据前后文自动学习到每个词的语义,然后把每个词映射为一个紧凑的实数向量形式的表达,而且具有很多好的性质,比如vec(中国)减去vec(北京)约等于vec(英国)减去vec(伦敦)。这里强调一句,这种向量化的紧凑表达形式在深度学习中是非常重要和普适的。任何抽象的知识都可以建模成这种紧凑的向量形式。类似的还有很多扩展性工作,比如,人们研究如何把一句话映射为一个向量,甚至把一段文字映射为一个向量。文本的各个词之间是有顺序的,而传统做法总是采用词袋模型忽略掉这些顺序。为了更好的挖掘和利用这个性质,人们渐渐倾向于采用递归神经网络(RNN)来描述它。RNN也不是什么新鲜事物,其实就是允许节点之间的连接有环的存在。不过就像我们之前说的,大数据、GPU、优化、深度学习在其它领域的突破等等又给它带来了新的活力。RNN做文本理解的大概思路是,按顺序处理一段话的每个单词,在它看到后面内容的时候,它的某些参数里还保留着对前面看到过的信息的“整合和抽象”。没错,它是有一定的记忆功能的,而且不需要人为告诉它应该记住什么,它会从训练数据中自然的进行学习,然后记忆在“环”里。可以想像,RNN的结构比普通神经网络复杂,而且优化过程更加困难,但目前已经有了BPTT、LSTM等很多解决方案,在这方面有着很多的相关工作,总体来看,结果让人觉得很有希望。最近产生了深度图灵机(DeepTuring Machine)。它简单来说就是RNN加上一块专门用于记忆的部分。这是个更加一般化的计算模式,和图灵机计算能力等价。它的记忆体其实就是一个实数矩阵。呵呵,我们又一次见到了这种连续的紧凑向量或者矩阵的表达形式。它可以记录信息而且方便梯度传递,经常被研究人员拿来各种建模,是构建端到端的模型,进行统一优化的利器。

深度学习工具(福利) 说了这么多,大家可能还是云里雾里。毕竟各种模型都有很多细节,而且还有很多的所谓“trick”,甚至深度学习也曾经因此而戏称为是一种“艺术”而不是“科学”。

所以下面列举几个工具包,并配上一点非常简单的说明,方便大家进行实战演练。 1. 首先你最好要有个能支持cuda的GPU,否则纯CPU是很慢的,尤其是处理图像的问题。 2. Theano(基于Python), http://deeplearning.net/tutorial/系列教材就是基于Theano工具的。它的最大优点是支持自动符号求导,避免了初学者很害怕的BP推导,有很多扩展包,比如keras等,支持各类模型。其实列举这一个就够了。因为,如果仔细的话,你会在这个网站看到无数的深度学习相关工作链接,足够慢慢扩展到深度学习的所有前沿研究和工具了。

相关文档
最新文档