理解深度学习

1、现状:

深度学习现在非常热,各种会议都要和这个沾点边。百度大脑,谷歌大脑计划搞的都是这个。在一些领域取得了非常不错的效果,如图片识别,语音识别,在安全领域甚至还有识别加密的协议等。如图片,语音领域实验室准确率都超过了90%。

2、深度学习的本质

一个典型的机器学习样例如上,从开始的通过传感器(例如CMOS)来获得数据。然后经过预处理、特征提取、特征选择,再到推理、预测或者识别。最后一个部分,也就是机器学习的部分,绝大部分的工作是在这方面做的,也存在很多的paper和研究。

而中间的三部分,概括起来就是特征表达。良好的特征表达,对最终算法的准确性起了非常关键的作用,而且系统主要的计算和测试工作都耗在这一大部分。但,这块实际中一般都是人工完成的。靠人工提取特征。

然而,手工地选取特征是一件非常费力、启发式(需要专业知识)的方法,能不能选取好很大程度上靠经验和运气,而且它的调节需要大量的时间。既然手工选取特征不太好,那么能不能自动地学习一些特征呢?答案是能!Deep Learning就是用来干这个事情的,看它的一个别名UnsupervisedFeature Learning,就可以顾名思义了,Unsupervised的意思就是不要人参与特征的选取过程。

深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。

3、深度学习和传统神经网络的关系

Deep learning本身算是machine learning的一个分支,简单可以理解为neural network的发展。大约二三十年前,neural network曾经是ML领域特别火热的一个方向,但是后来确慢慢淡出了,原因包括以下几个方面:

1)比较容易过拟合,参数比较难tune,而且需要不少trick;

2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;

所以中间有大约20多年的时间,神经网络被关注很少,这段时间基本上是SVM和boosting算法的天下。但是,一个痴心的老先生Hinton,他坚持了下来,并最终(和其它人一起Bengio、Yann.lecun等)提成了一个实际可行的deep learning框架。

Deep learning与传统的神经网络之间有相同的地方也有很多不同。

二者的相同在于deep learning采用了神经网络相似的分层结构,系统由包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个logistic regression模型;这种分层结构,是比较接近人类大脑的结构的。

而为了克服神经网络训练中的问题,DL采用了与神经网络很不同的训练机制。传统神经网络中,采用的是back propagation的方式进行,简单来讲就是采用迭代的算法来训练整个网络,随机设定初值,计算当前网络的输出,然后根据当前输出和label之间的差去改变前面各层的参数,直到收敛(整体是一个梯度下降法)。而deep learning整体上是一个layer-wise的训练机制。这样做的原因是因为,如果采用back propagation的机制,对于一个deep network(7层以上),残差传播到最前面的层已经变得太小,出现所谓的gradient diffusion(梯度扩散)。

5、总结

深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法。换句话来说,深度学习算法自动的提取分类需要的低层次或者高层次特征。高层次特征,一是指该特征可以分级(层次)地依赖其他特征,例如:对于机器视觉,深度学习算法从原始图像去学习得到它的一个低层次表达,例如边缘检测器,小波滤波器等,然后在这些低层次表达的基础上再建立表达,例如这些低层次表达的线性或者非线性组合,然后重复这个过程,最后得到一个高层次的表达。

Deep learning能够得到更好地表示数据的feature,同时由于模型的层次、参数很多,capacity足够,因此,模型有能力表示大规模数据,所以对于图像、语音这种特征不明显(需要手工设计且很多没有直观物理含义)的问题,能够在大规模训练数据上取得更好的效果。此外,从模式识别特征和分类器的角度,deep learning框架将feature和分类器结合到一个框架中,用数据去学习feature,在使用中减少了手工设计feature的巨大工作量(这是目前工业界工程师付出努力最多的方面),因此,不仅仅效果可以更好,而且,使用起来也有很多方便之处,因此,是十分值得关注的一套框架,每个做ML的人都应该关注了解一下。

当然,deep learning本身也不是完美的,也不是解决世间任何ML问题的利器,不应该被放大到一个无所不能的程度。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2015-11-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

分享总结 | 叶志豪:介绍强化学习及其在 NLP 上的应用

雷锋网 AI 研习社按:当 AlphaGO 横扫之后,越来越多的学者意识到强化学习在人工智能领域所扮演的重要角色。同时随着深度学习的发展,应用深度学习,很多自然...

803
来自专栏AI研习社

基于 Keras 对深度学习模型进行微调的全面指南 Part 1

我将借鉴自己的经验,列出微调背后的基本原理,所涉及的技术,及最后也是最重要的,在本文第二部分中将分步详尽阐述如何在 Keras 中对卷积神经网络模型进行微调。

341
来自专栏大数据文摘

选择困难症?一文通解如何选择最合适的机器学习算法

1704
来自专栏腾讯大数据的专栏

揭开大数据测试的神秘面纱

一、前言 在大数据时代,数据挖掘,人工智能,机器学习这一系列高大上的技术应运而生,针对这一系列高大上的系统,测试同学如何参与其中,做好质量把控呢?与我们熟悉的测...

1816
来自专栏机器之心

深度 | 卷积神经网络十五问:CNN与生物视觉系统的研究探索

和我近期的大多数博文一样,我写这篇文章的起因是近期一个 Twitter 讨论,具体是关于如何将深度卷积神经网络(CNN)的组件与大脑联系起来。但是,这里的大多数...

790
来自专栏AI科技评论

总结 | 叶志豪:介绍强化学习及其在 NLP 上的应用

AI 科技评论按:当 AlphaGO 横扫之后,越来越多的学者意识到强化学习在人工智能领域所扮演的重要角色。同时随着深度学习的发展,应用深度学习,很多自然语言的...

1033
来自专栏AI科技评论

如何评价Google最新发布的增强型风格迁移算法?

Google最新发布了一种新的迁移网络(来自其论文《A Learned Representation for Artistic Style》)同时学习多种风格的...

3559
来自专栏人工智能头条

深度学习性能提升的诀窍

2026
来自专栏量子位

一文解读聚类中的两种流行算法

原作:Anuja Nagpal 谢阳 编译自 Medium 量子位 出品 | 公众号 QbitAI 在这篇文章中,Nagpal以简明易懂的语言解释了无监督学习中...

3536
来自专栏林欣哲

10分钟看懂Batch Normalization的好处

Batch normalization是一个用于优化训练神经网络的技巧。具备有以下几个优点 1. 训练的更快 因为在每一轮训练中的前向传播和反响传播的额外计算会...

3466

扫描关注云+社区