解释为什么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 的地位,上个学期在一门 ...
随机推荐
- [Swift通天遁地]七、数据与安全-(1)XML文档的创建和解析
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 微信小程序商品详情 + 评论功能实现
这是一个商品展示并能进行评论和答复的功能页面, 遇到的问题有: 分享功能没有办法将json数据写在地址中,只能传id来进行获取 这里必须新加一个状态用来判断是否显示x回复@x,因为我以前的判断这个依据 ...
- Eclipse中Axis2发布WebService
介绍:Axis是apache下一个开源的webservice开发组件. l 开发工具下载: 1. eclipse的Java EE版本.下载地址:http://www.eclipse.org/dow ...
- Coursera公开课-Machine_learing:编程作业
第二周编程作业:Linear Regression 分为单一变量和多变量,假想函数为:hθ(x)=θ0+θ1x1+θ2x2+θ3x3+⋯+θnxn.明显已经包含单一变量的情况,所以完成多变量可以一并解 ...
- iOS - UITableView 单选功能实现
#import <UIKit/UIKit.h> @interface TestCell : UITableViewCell @property(nonatomic,copy)NSStrin ...
- 定制UVM Messages(参考)
UVM的Messages机制有些时候很繁琐,很多时候希望能够在UVM messages的基础上做一些个人化的订制,这里给出来一个找到的例子作为参考. my_macros.sv: `define ...
- 整合springboot,angular2,可以前后台交互数据
改造了一下angular2官方文档中的hero项目,让其可以进行后台的交互, https://github.com/DACHUYIN 源码在上面...博客就不写了....
- Apache服务器防范DoS
Apache服务器对拒绝服务攻击的防范主要通过软件Apache DoS Evasive Maneuvers Module 来实现.它是一款mod_access的替代软件,可以对抗DoS攻击.该软件可 ...
- CNN-CV识别简史2012-2017:从 AlexNet、ResNet 到 Mask RCNN
原文:计算机视觉识别简史:从 AlexNet.ResNet 到 Mask RCNN 总是找不到原文,标记一下. 一切从这里开始:现代物体识别随着ConvNets的发展而发展,这一切始于2 ...
- hdu,1028,整数拆分的理解
#include"iostream"using namespace std;int main() { int n,i,j,k; int c[122],temp[122]; //c[ ...