理解深度学习

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 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

由一只猫看深度学习面临哪些挑战?

我们要面对的可不仅仅是这样一只蹲在我们面前可爱的小猫,在实际中有着很多的可能性,比如光照强度,遮蔽程度,角度等等,这些就成为了我们深度学习任务的一个极大的挑战。

652
来自专栏AI科技评论

干货 | 阿里巴巴Poster论文:处理多种退化类型的卷积超分辨率

阿里巴巴提出的卷积超分辨率网络可以快速、有效的处理多种图像退化类型,为 SISR 实际应用提供了一种高效、可扩展的解决方案。

1063
来自专栏机器之心

学界 | 香港科技大学提出L2T框架:学习如何迁移学习

3495
来自专栏PPV课数据科学社区

【机器学习】目前机器学习最热门的领域有哪些?

目前机器学习最热门的领域有以下七个: 1.迁移学习Transferlearning 简介:一种学习对另一种学习的影响,它广泛地存在于知识、技能、态度和行为规范的...

3579
来自专栏AI科技大本营的专栏

技术 | 入门机器学习必须知道的6件事,你可未必都了然于心了

翻译 | AI科技大本营(rgznai100) 参与 | shawn 过去两年中,我曾经多次折服于机器学习的魅力。但每当我决定尝试新事物时,经常会不得不重新学习...

3589
来自专栏机器之心

深度 | 学习如何学习的算法:简述元学习研究方向现状

选自TowardsDataScience 作者:Cody Marie Wild 机器之心编译 参与:李诗萌、李泽南 要想实现足够聪明的人工智能,算法必须学会如何...

3565
来自专栏大数据挖掘DT机器学习

用Python进行机器学习小案例

概要 本文是用Python编程语言来进行机器学习小实验的第一篇。主要内容如下: 读入数据并清洗数据 探索理解输入数据的特点 分析如何为学习算法呈现数据 选择正确...

3789
来自专栏AI科技评论

学界 | OpenAI“;巧妙”发现无监督情感神经元,可利用文本检测用户情感

AI科技评论4月7日消息,OpenAI在官网公布了一项最新的研究成果,介绍了一个可以高效学习情感表征的无监督系统,目前能够预测亚马逊评论中的下一个字符。 研究人...

3709
来自专栏SIGAI学习与实践平台

【技术短文】基于深度负相关学习的人群计数方法

同时在本微信公众号中,回复“SIGAI”+日期,如“SIGAI0515”,即可获取本期文章的全文下载地址(仅供个人学习使用,未经允许,不得用于商业目的)。

774
来自专栏云时之间

极大似然公式证明

通过经验风险最小化推导极大似然估计,证明模型是条件概率分布,当损失函数是对数损失函数时,经验风险最小化等价于极大似然估计 ? 字有点丑,多多担待啦(∩ơ ㅅ ơ...

34710

扫码关注云+社区