解释为什么word2vec也被称作deep learning
链接: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的更多相关文章
- Word2Vec之Deep Learning in NLP (一)词向量和语言模型
转自licstar,真心觉得不错,可惜自己有些东西没有看懂 这篇博客是我看了半年的论文后,自己对 Deep Learning 在 NLP 领域中应用的理解和总结,在此分享.其中必然有局限性,欢迎各种交 ...
- (Stanford CS224d) Deep Learning and NLP课程笔记(二):word2vec
本节课将开始学习Deep NLP的基础--词向量模型. 背景 word vector是一种在计算机中表达word meaning的方式.在Webster词典中,关于meaning有三种定义: the ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)
转载:http://dataunion.org/8463.html?utm_source=tuicool&utm_medium=referral <Brief History of Ma ...
- 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- Deep Learning(深度学习)学习笔记整理
申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表 ...
- 【转载】Deep Learning(深度学习)学习笔记整理
http://blog.csdn.net/zouxy09/article/details/8775360 一.概述 Artificial Intelligence,也就是人工智能,就像长生不老和星际漫 ...
- Deep Learning and Shallow Learning
Deep Learning and Shallow Learning 由于 Deep Learning 现在如火如荼的势头,在各种领域逐渐占据 state-of-the-art 的地位,上个学期在一门 ...
随机推荐
- 利用AXIS2传递JSON数据
Axis2是目前比较流行的WebService引擎.WebService被应用在很多不同的场景.例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用.这样可以 ...
- 注解配置AOP切面编程
1.导入先关jar包 2.编写applicationContext.xml,配置开启注解扫描和切面注解扫描 <?xml version="1.0" encoding=&quo ...
- hbuilder中的 http://www.w3.org/TR/html4/loose.dtd
<!-- This is the HTML 4.01 Transitional DTD, which includes presentation attributes and elements ...
- DataFrame入门案例(集团公司对人事信息处理场景)
我用一个集团公司对人事信息处理场景的简单案例,来作为入门,详细分析DataFrame上的各种常用操作,包括集团子公司的职工人事信息的合并,职工的部门相关信息查询.职工信息的统计.关联职工与部门信息的统 ...
- [ SCOI 2009 ] 最长距离
\(\\\) \(Description\) 一个\(N\times M\)的网格图中有一些坏点,图是四联通的. 你至多可以拿走\(K\)个坏点,求拿走后联通的点对中欧几里得距离最大是多少. \(N, ...
- css3 绘制书本
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- html5——3D案例(立体汉字,旋转导航)
1.立体汉字:旋转点left,attr(data-cont)可获取自定义属性值,skewY(倾斜转换)参考地址 2.旋转导航:先移动后旋转,li标签需要延迟执行旋转 注意::hover事件触发自己的: ...
- SQL基本操作——表的创建
通过代码方式创建数据库 create database MyDatabaseNew on primary ( --名字 name='MyDatabaseNew_data', --路径 filename ...
- MySQL主从备份配置
MySQL主从热备配置 两台服务器的MySQL版本都是5.5.41master:192.168.3.119slave:192.168.3.120 MySQL主服务器配置:1.创建用于备份的用户 gra ...
- 用 ilasm 反编译、修改.net dll文件
有些.net dll我们没有源码,如果要修改某些东西,可以用ilasm.exe反编译为il代码,修改后再编译回dll ilasm通常放在以下路径 C:\Windows\Microsoft.NET\Fr ...