作者:orangeprince
链接:https://www.zhihu.com/question/27689129/answer/39117725
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

关于这个问题,我觉得需要澄清几个概念:
1. 浅层(shallow)的监督学习(supervised learning)
代表性方法:Logistic Regression,Adaboost, Decision Tree等。
这一类方法的输入是data的原始特征,输出是data的label,不存在任何的中间层。

2.浅层无监督学习(unsupervised learning)
代表性方法:Kmeans, PCA, Sparse Coding, RBMs等。
这一类方法的输入是data的原始特征,输出是新的data表达,也不存在中间层。但是由于这类方法的输出并不是针对某些特定的标签或者场景,所以得到的数据表达可以继续被用在其他的监督或者无监督学习的任务中。所以这些方法也可以被分为特征学习(feature learning)或者表达学习(representation learning)的方法。

3.深层无监督学习
代表性方法:Deep Boltzmann Machines, Deep Autoencodes等。
这一类方法可以大概看成是多个浅层无监督学习方法的叠加。所以方法最终的输出同样是data新的特征表达。与此同时,模型中每一层的输出,同样也可以看做是data的特征表达。

4.深度监督学习
代表性法方法:DBN,DNN,CNN等
这些方法的输入是数据的原始特征,最后的输出数据的label。但是与浅层的监督学习方法不同,虽然也是监督模型,但这类方法也会生成很多data的中间层表达或者特征。因此这些中间层的学习或提取也可以看成是一个特特征学习或者表达学习的过程,这是有深度学习的特殊情况决定的。

因此可以总结如下:无监督学习和深度学习的方法都可以看做是特征学习或者表达学习的方法,但是浅层的监督学习不能算是。

那么应该怎么区分无监督学习和深度学习的方法呢,这个似乎没有特别明确的定义,或者也很难去教条的定义。但是非要较真的话,但是从深度学习这个名称来看,首先模型的层数应该达到一定的数量才能算作是深度学习的方法。如果最基本的浅层学习方法看做一个二层的模型,那么kernel SVM和经典的BP网络就可以看成是三层的模型。我想它们还算不了深度学习的方法,至少模型的层数应该超过三层吧。当然,如果仅仅是这样,那么人工去构造多层特征也能算做深度学习了。既然我们讨论的问题都是机器学习范畴,还应该满足特征应该是逐层自动学习而得到的。至于是不是表达学习,我觉得到不用过于强调,因为前面已经讨论过,只要是深度学习,就天生具有表达学习的特性。

下面来看w2v和glove这两个模型吧。算法细节就不讨论了,从我一开始读论文就觉得这两个模型跟深度学习关系不大,反倒更像是两种特殊的矩阵分解算法。从word到vector,并不存在任何的中间表达层,而是直接一步到位得到的。从这个意义上来说,这两个方法并不能称作是深度学习。否则,SVD++,Factorization Machines 这些方法也都能算作是deep learning了。反倒是最近一些利用RNN和CNN的多层神经网络对文本进行学习的方法是真正的deep learning方法。

那为什么很多人都把他们和deep learning扯到一起呢?我觉得有几个原因:
1. word2vec是之前神经网络语言模型的简化。而那个神经网络语言模型看起来似乎更像是一个“深度”的学习模型,不过仔细分析算法本身,最核心的特征学习其实只有两层。更何况word2vec又对这个模型做了很大的简化。

2. word2vec是一个特征学习的方法,然后直接把特征学习等同到深度学习。这个前面已经多次讨论过,深度学习方法应该是特征学习方法的一个子集。就像说人类是能直立行走的动物,但是直立行走的动物未必就一定是人类。

3. deep learning这个概念最近很火,可以借机炒作一把。

其实到底什么叫deep learning并不是那么重要,无非是一个名字的问题。大家理解算法本身才是最重要的。但是另外一方面,只有名正才能言顺,才能避免个人带来一些理解上的偏差。记得以前我曾经面试过一个学生,在他的简历里面曾经提到自己曾经从事了deep learning的研究工作。最后我发现,他所谓的deep learning,就是用kmeans对特征进行聚类和汇总,然后再进行分类。在他理解,这个方法属于特征或者表达学习的范畴,所以也属于deep learning的范畴。但我想他所做的工作和真正的deep learning还是有很大的差别。而类似这种归类方式,对于其他人,特别是一些对深度学习领域不太熟悉的人,还是会带来很大的误导。

解释为什么word2vec也被称作deep learning的更多相关文章

  1. Word2Vec之Deep Learning in NLP (一)词向量和语言模型

    转自licstar,真心觉得不错,可惜自己有些东西没有看懂 这篇博客是我看了半年的论文后,自己对 Deep Learning 在 NLP 领域中应用的理解和总结,在此分享.其中必然有局限性,欢迎各种交 ...

  2. (Stanford CS224d) Deep Learning and NLP课程笔记(二):word2vec

    本节课将开始学习Deep NLP的基础--词向量模型. 背景 word vector是一种在计算机中表达word meaning的方式.在Webster词典中,关于meaning有三种定义: the ...

  3. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  4. 机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)

    转载:http://dataunion.org/8463.html?utm_source=tuicool&utm_medium=referral <Brief History of Ma ...

  5. 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  6. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  7. Deep Learning(深度学习)学习笔记整理

    申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表 ...

  8. 【转载】Deep Learning(深度学习)学习笔记整理

    http://blog.csdn.net/zouxy09/article/details/8775360 一.概述 Artificial Intelligence,也就是人工智能,就像长生不老和星际漫 ...

  9. Deep Learning and Shallow Learning

    Deep Learning and Shallow Learning 由于 Deep Learning 现在如火如荼的势头,在各种领域逐渐占据 state-of-the-art 的地位,上个学期在一门 ...

随机推荐

  1. Akka源码分析-FSM

    akka还有一个不常使用.但我觉得比较方便的一个模块,那就是FSM(有限状态机).我们知道了akka中Actor模型的具体实现之后,就会发现,Akka的actor可以非常方便的实现FSM.其实在akk ...

  2. 实例化flask的参数及对app的配置

    Flask 是一个非常灵活且短小精干的web框架 , 那么灵活性从什么地方体现呢? 有一个神奇的东西叫 Flask配置 , 这个东西怎么用呢? 它能给我们带来怎么样的方便呢? 首先展示一下: from ...

  3. Zookeeper概念学习系列之zookeeper的角色

    详细,见如下图 1.领导者(leader) : 负责进行投票的发起和决议,更新系统状态. 2.学习者(learner): 包括跟随者(follower)和观察者(observer). 跟随者(foll ...

  4. JAVA中list,set,map与数组之间的转换详解

    package test; import java.util.*; /** * Created by ming */ public class Test { public static void ma ...

  5. IIS 503 错误

    今天早上乘公交的时候,网站运维群里直接炸了,网站打不开,503错误.然后就各种@我,吓得我手机都要扔了,然后马不停蹄的赶往公司去查看错误. 我首先在IIS上浏览网页,想试图在服务器上显现出详细错误,这 ...

  6. 如何下载 Nginx (windows 版本)并且简单的使用

    官网地址:http://nginx.org/ 进到官网 我这里下载的是 稳定版的 windows版本. 开始我们的简单测试 步骤一:找到nginx的压缩包,(随意找个地方)解压 步骤二:进入conf文 ...

  7. 前端-Node.js思维导图笔记

    看不清的朋友右键保存或者新窗口打开哦!喜欢我可以关注我,还有更多前端思维导图笔记

  8. 慕课网中网页定位导航中js相关问题总结

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...

  9. php中的抽象方法和抽象类

    1.什么是抽象方法?    我们在类里面定义的没有方法提的方法就是抽象方法.所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时方 ...

  10. html5——3D案例(立方体)

    立方体:父盒子规定了3d呈现属性,立方体做旋转运动 移动顺序:1.每个盒子都先移动100px,然后再做相应的旋转  2.只有这样立方体的几何中心点与父盒子的几何中心点是一样的 <!DOCTYPE ...