更多:深度学习…
人工智能(AI)是一门科学。
机器学习(ML)是目前最主流的人工智能实现方法。
深度学习(DL)则是机器学习(ML)的一个分支,也是当下最流行的机器学习(ML)的一种。
深度学习在机器学习领域是一个很热的概念,经过媒体和大V等炒作,这个概念变得近乎有些神话的感觉,下面让我来慢慢揭开深度学习的神秘面纱。
深度学习(DeepLearning)的概念由Hinton等人于2006年提出。基于深度置信网络(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。
那么究竟什么是深度学习呢?
深度学习(DL)是机器学习中一种基于对数据进行表征学习的方法,是一种能够模拟出人脑的神经结构的机器学习方法。深度学习的概念源于人工神经网络的研究。而人工神经网络ANN(ArTIficial Neural Network)是从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络,简称为神经网络或类神经网络。因此,深度学习又叫深层神经网络DNN(Deep Neural Networks),是从之前的人工神经网络ANN模型发展而来的。
深度学习是机器学习研究中的一个新领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,比如图像,声音和文本等。深度学习,能让计算机具有人一样的智慧,其发展前景必定是无限的。
同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分.不同的学习框架下建立的学习模型很是不同.例如,卷积神经网络(ConvoluTIonalneural networks,简称CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(DeepBelief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。
深度学习所涉及的技术主要有:线性代数、概率和信息论、欠拟合、过拟合、正则化、最大似然估计和贝叶斯统计、随机梯度下降、监督学习和无监督学习、深度前馈网络、代价函数和反向传播、正则化、稀疏编码和dropout、自适应学习算法、卷积神经网络、循环神经网络、递归神经网络、深度神经网络和深度堆叠网络、LSTM长短时记忆、主成分分析、正则自动编码器、表征学习、蒙特卡洛、受限波兹曼机、深度置信网络、softmax回归、决策树和聚类算法、KNN和SVM、生成对抗网络和有向生成网络、机器视觉和图像识别、自然语言处理、语音识别和机器翻译、有限马尔科夫、动态规划、梯度策略算法和增强学习(Q-learning)等等。
讨论深度学习,肯定会讲到“深度(Depth)”一词,“深度”即层数。从一个输入中产生一个输出所涉及的计算可以通过一个流向图(flowgraph)来表示:流向图是一种能够表示计算的图,在这种图中每一个节点表示一个基本的计算以及一个计算的值,计算的结果被应用到这个节点的子节点的值。考虑这样一个计算集合,它可以被允许在每一个节点和可能的图结构中,并定义了一个函数族。输入节点没有父节点,输出节点没有子节点。这种流向图的一个特别属性是深度(depth):从一个输入到一个输出的最长路径的长度。
深度超过8层的神经网络才叫深度学习。含多个隐层的多层学习模型是深度学习的架构。深度学习可以通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
深度学习的”深度“是指从”输入层“到”输出层“所经历层次的数目,即”隐藏层“的层数,层数越多,深度也越深。所以越是复杂的选择问题,越需要深度的层次多。除了层数多外,每层”神经元“-黄色小圆圈的数目也要多。例如,AlphaGo的策略网络是13层,每一层的神经元数量为192个。
深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。多层的好处是可以用较少的参数表示复杂的函数。
深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。深度学习强调了模型结构的深度,突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。
深度学习的训练过程:
1)自下上升非监督学习,从底层开始,一层一层的往顶层训练。采用无标定数据(有标定数据也可)分层训练各层参数,这是一个无监督训练过程,是和传统神经网络区别最大的部分,这个过程可以看作是feature learning过程。
2)自顶向下的监督学习,通过带标签的数据去训练,误差自顶向下传输,对网络进行微调。基于第一步得到的各层参数进一步fine-tune整个多层模型的参数,这一个有监督训练过程。
深度学习的第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。所以深度学习效果好很大程度上归功于第一步的feature learning过程。
对深度学习而言,训练集就是用来求解神经网络的权重的,最后形成模型;而测试集,就是用来验证模型的准确度的。
深度学习领域研究包含:优化(OpTImizaTIon),泛化(Generalization),表达(Representation)以及应用(Applications)。除了应用(Applications)之外每个部分又可以分成实践和理论两个方面。
根据解决问题、应用领域等不同,深度学习有许多不同实现形式:卷积神经网络(ConvolutionalNeural Networks)、深度置信网络(DeepBelief Networks)、受限玻尔兹曼机(RestrictedBoltzmann Machines)、深度玻尔兹曼机(Deep BoltzmannMachines)、递归自动编码器(RecursiveAutoencoders)、深度表达(DeepRepresentation)等。
深度学习的优点:深度学习提出了一种让计算机自动学习出模式特征的方法,并将特征学习融入到了建立模型的过程中,从而减少了人为设计特征造成的不完备性。而目前以深度学习为核心的某些机器学习应用,在满足特定条件的应用场景下,已经达到了超越现有算法的识别或分类性能。
深度学习的缺点:只能提供有限数据量的应用场景下,深度学习算法不能够对数据的规律进行无偏差的估计。为了达到很好的精度,需要大数据支撑。由于深度学习中图模型的复杂化导致算法的时间复杂度急剧提升,为了保证算法的实时性,需要更高的并行编程技巧和更多更好的硬件支持。因此,只有一些经济实力比较强大的科研机构或企业,才能够用深度学习来做一些前沿而实用的应用。
深度学习成功应用于计算机视觉、语音识别、记忆网络、自然语言处理等其他领域。
深度学习是关于自动学习需要建模的数据潜在分布的多层表达的复杂算法。深度学习算法自动的提取分类需要的低层次或者高层次特征。总之,深度学习是用多层次的分析和计算手段,得到结果的一种方法。
结语
目前深度学习的发展引起其他它领域的革命。深度学习的火热得益于各行各业丰富的大数据发展和计算机计算能力的提升,同时也要归功于过去经验。今后深度学习将继续解决各种识别(Recognition)和演绎(Ability to Act)方面的相关问题。当然,机器学习本身也不是完美的,也不是解决世间任何机器学习问题的利器,深度学习目前仍有大量工作需要研究,不应该被放大到一个无所不能的程度。