导读

在之前的一些年里,深度学习已经占领了模式识别领域,之后又横扫了计算机数视觉,之后自然语言处理也慢慢的朝着这个方向开始了它的发展。

但是虽然有这样的结果,我们还是想知道为什么深度学习效果是如此的好呢?

这里讲一些目前我们经常应用的前人在自然语言处理上研究的成果,来说说深层神经网络!在下面,会明确告诉大家深度神经网络如何工作的这么好,为什么会有如此美好的前景!

单隐层神经网络

一个只有一层隐层的神经网络是很普通的:

给定足够多的隐层单元,该单层神经网络就可以拟合几乎所有的函数。

上面这个解释是几乎人人都知道的理论,但也会经常被误解的理论。神经网络也可以被看做是一个查表(lookup table,表这里可以理解为公式总表)的过程。

举一个最简单的例子:感知机(感觉这个要被说烂了O.O),如果输入超过该阈值输出1,否则输出0。

但是要注意的是,输入的值是有限的可能的输入,对于每一个可能的输入,我们可以构造一个隐层的神经元,然后使用隐层神经元和输出神经元的控制连接来控制输出。

所以,单层神经网络很普遍。但是这里关于神经网络的介绍没有什么给人留下对于这个有特别的印象或让人感到激动的情况。其实,神经网络有更加微妙的,很难用言语表达的东西。不仅仅是简单的查表操作。下面进行实例介绍。

Word Embedding

有一个特别有趣的深度学习研究:Word Embedding(词嵌入)。在我看来,Word Embedding是一个特别有趣和有意义的研究,虽然它被Bengio,et al提出来已经是10多年前了。虽然时光已逝,但是Word Embedding向我们展示了为什么深度学习如此的有效!

比如一个Word Embedding:

表示将一些语言的词映射到n维度上,维度的可能范围100-500,但不限于此。比如:

(注:词转向量的函数为:,W是为每一个词赋值一个随机向量,W会为了一些特定任务而学习参数)

举例:判断一个5-grams(长度为5的序列)的词序列是否为有效的。比如我们选择的是:

cat sat on the mat   (很明显为有效的)

随机替换换一个词,一般都为无效的,例如:

cat sat sang the mat   (很明显为无效的,句子读不通)

模型会对该数据进行训练W,得到一个向量表示,之后将结果送给R来进行预测是否有效。如下:

模型流程图为:

为了预测准确,模型需要对W和R学到好的参数。

但是现在这个任务似乎没那么有兴趣了。因为你或许对这个实例好枯燥,不就是可以检测语法错误或者别的什么。但是有趣的不是它的应用,而是它的W!

事实上,这个任务的重点就是学习W。我们也可以做一些别的任务,比如常见的对一个句子序列预测下一个词。但是这些我们不care。下面会对Word Embedding的结果。

一个Word Embedding空间可视化结果:

上述的可视化效果给了我们很直接的感觉:相似的词靠的很近!

另一种方式查看相近词的Embedding是给定一个词,得到和它距离很近的词,比如:

这样很能看出,意思相近的词的词向量也是很相似的。即使替换,一般也没有什么问题:

“a few people sing well” → “a couple people sing well”

确实没什么问题吧。

再比如:

“the wall is blue” →“the wall is red

“the wall is blue” →“the ceilingis red

这就很清楚W的用途了。还比如:

这个或许更加的surprising吧。向这种关系,也有人总结了:

这里你看到了W的很直观的学习结果了吧。Word Embedding只是一个深度学习的实例而已。向这样的实例很多很多。

参考

https://colah.github.io/posts/2014-07-NLP-RNNs-Representations/

想了解Word Embedding如何具体学习的,可以看看之前写的word2vec,链接为:

白话word2vec

NLP基础|中英文词向量评测理论与实践


更多精彩内容,请关注 深度学习自然语言处理 公众号,就是下方啦!跟随小博主,每天进步一丢丢!哈哈!

简单实例讲解为何深度学习有效相关推荐

  1. 简单实例讲解linux的module模块编译步骤

    简单实例讲解linux的module模块编译步骤 (2014-10-24 10:19:17) 标签: module linux 分类:Linux/Unix 本文将直接了当的带你进入linux的模块编译 ...

  2. Android 驱动(8)---简单实例讲解linux的module模块编译步骤

    简单实例讲解linux的module模块编译步骤 原博文地址http://blog.sina.com.cn/s/blog_4ba5b45e0102v25h.html ----------------- ...

  3. 【JEECG技术博文】简单实例讲解JEECG ONLINE表单权限控制(jeecg3.6)

    简单实例讲解JEECG ONLINE表单权限控制(jeecg3.6) 原       文:http://blog.itpub.net/30066956/viewspace-1872409/ 相关博文: ...

  4. 【JEECG技术博文】JEECG 简单实例讲解权限控制

    JEECG简单实例讲解权限控制 请大家点击这里为我们投票,2015博客之星,更多分享敬请期待 博文地址:http://blog.itpub.net/30066956/viewspace-1868754 ...

  5. 让AI简单且强大:深度学习引擎OneFlow技术实践

    https://www.toutiao.com/a6683330972982706702/ 本文内容节选自由msup主办的第七届TOP100summit,北京一流科技有限公司首席科学家袁进辉(老师木) ...

  6. (论文精读)PCANet:一种简单的图像分类的深度学习基线

    PCANet:一种简单的图像分类的深度学习基线 \quad\quad这篇文章主要对论文<PCANet: A Simple Deep Learning Baseline forImage Clas ...

  7. 矩阵的卷积核运算(一个简单小例子的讲解)深度学习

    卷积运算:假设有一个卷积核h,就一般为3*3的矩阵: 有一个待处理矩阵A: h*A的计算过程分为三步 第一步,将卷积核翻转180°,也就是成为了 第二步,将卷积核h的中心对准x的第一个元素,然后对应元 ...

  8. 免费算力提供!这个含YOLOv3算法讲解的深度学习课程来了

    很多学习AI算法的人都很痛苦: 网上有大量的学习资料,质量参差不齐,且不知道该从何学起: 听过两三遍网课,还是不懂什么是卷积神经网络: 好不容易啃完了视频却发现没源码,没法调参跑代码,那还学个啥? 好 ...

  9. HTML5-canvas标签结合简单实例讲解

    关于Canvas的简单介绍 <canvas>元素是HTML5中的新元素,该标签只是图形容器,需要使用脚本语言来绘制图形. 浏览器支持 Internet Explorer 9+, Firef ...

  10. 54页PPT讲解DeepMind深度学习及前沿进展【附下载】

    Deep Learning Indaba 2018 大会在南非斯泰伦博斯举行,由DeepMind主办.本文是由15位专家做的<深度学习: AI革命及其前沿进展>的报告. 下载方式 关注公众 ...

最新文章

  1. J2EE复习(二)XML
  2. Linux安装git和maven的详细过程
  3. 光伏行业需理性看待低价中标 市场竞争是必然选择
  4. Android开发之自动登录功能的实现
  5. CentOS下查看最后登录的用户信息以及LOG记录
  6. 移动医疗未来还有多少红利?
  7. 园区网VLAN应用实例
  8. java sybase存储过程_sybase存储过程-----不定时更新
  9. Samba 3.4.0 发布
  10. c语言中next和prior连在一起,C语言中双向链表和双向循环链表详解
  11. 活动目录的介绍:深入浅出Active Directory系列(一)
  12. spring源码之下载及构建
  13. 射极跟随器实验报告数据处理_射极跟随器实验报告 -
  14. 阿里云服务器centos7上手安装-4 防火墙篇
  15. CarbonData源码浅析一:Create Table
  16. Hills And Valleys
  17. 蓝牙协议栈认证:什么是蓝牙Core Layer的BQB认证要求
  18. 续编-联想原装系统OEM系统联想出厂系统联想原装系统Lenovo ThinkPad ThinkBook出厂预装系统原厂系统
  19. ubuntu16.04上搭建stm32f4开发环境
  20. 《士兵突击》哪些最精彩的话语

热门文章

  1. 通过批处理来运行python程序
  2. jquery.serialize
  3. Windows Phone 8初学者开发—第18部分:在页面间导航
  4. NetBeans Weekly News: #125-Nov 17,2010
  5. laravel 图片上传 intervention/image
  6. 08 Javascript的函数
  7. 一笔期货成交的始末(可能有问题)
  8. LAMP 3.1 mysql的root密码重置
  9. Linux 信号量互斥编程
  10. solr处理oracle中CLOB、BLOB