Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深度学习入门与自然语言理解

深度学习入门与自然语言理解

作者头像
Marky Lumin
发布于 2018-01-25 09:30:50
发布于 2018-01-25 09:30:50
1.4K0
举报
文章被收录于专栏:刘明的小酒馆刘明的小酒馆

小序

深度学习机器学习领域的一个分支,也可以说是该领域近些年来的最大突破之一。

在了解深度学习之前,我们应当回顾一下历史,同时也搞明白当前最火爆的几个概念到底有着什么样的关系。

AI,ML,DL

这些年来随着科技的发展和国家政策的推进,人工智能、机器学习还有深度学习这几个词就不断充斥于耳,但是这些概念却常常被我们所混淆。

简单的来讲,我们可以认为 AI > ML > DL,也就是说他们之间是包含关系:

  • 人工智能(AI)是计算机科学的一个重要研究领域,拥有许多的分支,例如专家系统、进化计算、计算机视觉等等。重点在于,如何使用计算机构建复杂的、能够拥有与人类智慧相同本质的东西。
  • 机器学习(ML)是实现人工智能的一种方法,或者说一种思路。ML之所以能够在人工智能领域鹤立鸡群,主要是因为它和普通的弱人工智能实现不同,可以使得机器拥有一定的“自适应”能力。
代码语言:txt
AI代码解释
复制
机器学习的主要思路是,用算法来对大量的数据进行解析、从中提取特征并学习(称这个过程为“训练”),然后对真实的世界进行预测和判断。
代码语言:txt
AI代码解释
复制
目前机器学习方法的大分类主要有监督学习、半监督学习、无监督学习、集成学习、强化学习和深度学习。传统的算法包括决策树、聚类、贝叶斯分类等等。
  • 深度学习(DL)是一种实现机器学习的技术。近几年该领域发展迅速,带动机器学习领域向许多不同的新领域发展(无人车、图像识别、自然语言理解等)。当然这也并不意味着深度学习就比其他的学习方式优秀,它只是在特定情况和特定领域下能展现出巨大的优势,并且实现了一定的通用性而已。

CNN

看完了这些概念,我们就进入深度学习领域一窥究竟。首先要说明的是,深度学习是基于人工神经网络的,这是一种由人脑结构启发而来的网络结构,而今天要介绍的CNN(卷积神经网络)正是其中应用最为广泛的一种,目前在计算机视觉、自然语言理解等领域都是首选的训练网络。

首先先说一下什么是人工神经网络,你可以类比人类的神经元,就是许许多多的神经元组成了我们复杂的神经系统。神经网络也是一样,它由许许多多的人工神经元(简单的说就是有一个输入,一个输出的单元)组成,上层的神经元的输出连接到下层神经元的输入,这样多层的连接最终就形成了一个复杂的网络。

你也可以把它抽象地想成一个非常非常复杂的函数,拥有许多许多(数以万计的)参数,我们说训练网络,就是在调整这些参数(当然,怎么调整的人类自己心里也没数,全靠机器自己学习),直到它的输出尽可能地拟合我们想要的结果为之,这也是我们常把深度学习比喻成黑箱的原因之一。

好了,现在我们正式的开始讲解CNN网络,看看神经网络究竟是如何工作的:

卷积

既然是要讲卷积神经网络,我们就必须先知道什么是卷积。先想象一个矩阵,以其中的某一个元素为中心,然后和它相邻的所有元素进行某种运算(比如求和),然后移动(滑动)这个中心,直到把整个矩阵都覆盖一遍,我们得到的最终结果的和就是一个卷积。

这么干说真是太抽象了,不如直接看这个图来的实在:

这个矩阵很可能就代表了一个灰度图像,每个元素就是一个像素,数字代表着这个像素的灰度值(一般在0~255)。这个滑动的窗口又被叫做内核或是特征检测器,大小可以变化。当窗口在整个矩阵里滑动了一遍之后所得到的所有结果的和,就是我们对这个矩阵所求的卷积。

卷积的应用
  1. 计算每个像素和其相邻像素的平均值可以模糊化一张图片。
  2. 计算像素和其相邻元素的差值可以进行边缘检测。
代码语言:txt
AI代码解释
复制
因为边缘往往是灰度(或者说RGB)变化最明显的地方,所以相邻元素间差值比较大的地方往往就是边缘。如下图
代码语言:txt
AI代码解释
复制
![](http://of1deuret.bkt.clouddn.com/18-1-11/12025490.jpg)

卷积神经网络

卷积神经网络基本上就是几层使用非线性激活函数(比如ReLU和tanh)的卷积来得到结果的神经网络。

在传统的反馈型神经网络中,我们把每个神经元的输入分别连接到另外的神经元的输出上,这个被称为全连接层。但在CNN中,我们把输入层的卷积当做输出,这就意味着,我们是把许多个神经元的输出(一个矩阵的卷积)连接到了一个神经元的输入上。

每一层的筛都不同,往往他们把成百上千个元素结合计算得到一个结果,浓缩给下一层。

需要留意的是,CNN中,不同的卷积层之间并不是直接相连的,他们中间夹着一个称为池化层(Pooling)的特殊的处理层,用于进行结果的规范化(后面详解)。

在训练的过程当中,CNN会自动地根据你的目的来学习每一层筛的作用(计算方法)。举个例子,在一个图像识别的CNN中,第一层可能进行边缘检测,然后在第二层用这些边缘作为数据来推断简单的形状,最后在更高的层里,用这些形状来推断更高级的特性(比如人脸检测),最后一层则是使用这些高级特性来进行分类的分类器。

下面是一个典型的CNN网络的结构:

在计算过程中有两点需要特别重视的:定位不变性复合性。我们假设要检测一张图片里有没有大象,因为你的窗口总是要滑动过整个图像,所以并不必在意大象会出现在图像的哪个位置,在实际训练中,池化层可以保持数据的一致性,让你不用担心转换、旋转或是缩放这样的操作影响数据本身。而每个筛都提供了一种使用本层数据表示高层数据的方法(映射),这就提供了复合性(多个数据复合成一个数据)。这就是CNN在计算机视觉中表现优异的原因:这和你本能认知图像的过程是一样的,从点构建轮廓,再从轮廓抽取形状,最后从形状中提取更多复杂的对象。

NLP与CNN

我们说了很多CNN在计算机视觉方面的应用(这也是它最擅长的领域),现在我们看看NLP又是如何与CNN挂钩的。

在语言理解这个领域,矩阵的单元不再是图像的像素,而是以矩阵形式表示的句子和文档。矩阵的每一行相当于一个符号(文法中的token),通常会是一个单词,但也可以是一个字母。

这样,每一行就是一个表示单词的向量。一般这个向量可以用或者的方式转换得到,当然也可能是将单词索引到词汇表里的实数向量。一个有10个单词的句子,我们使用一个100维的向量来表示每个词的话,就会得到一个10*100的矩阵,这就是我们在NLP里的“图像”了。

有关如何用向量表示单词,可以参考此文章

在视觉处理中,我们的筛往往是在一张图片上四处滑动,但是NLP中,我们用的筛一般和矩阵同宽,因此它只需要上下滑动,至于高度,通常为2-5个词。综合上述,一个用于NLP的CNN网络可能像下面这样:

跟视觉处理中很不一样的是,你并不会在意单词会在句子的什么地方出现,而相邻的单词之间也不一定有语义的联系(这跟图片是不一样的)。在很多语言中,一个短语的组合可以被拆分成很多新的词,复合并不明显。显然,单词是以某种方式组合的,比如一个形容词修饰名词,但这在更高的层次里到底“意味”着什么并不像在视觉处理上那么显而易见。

根据上面分析的,看起来CNN并不能很好的去适应NLP的任务,相比之下递归神经网络(RNN)要更加直观一点,它和我们处理语言的过程(至少是我们所认为的)很相似:从左到右地读取一个序列。不过这并不意味着CNN就没有用了,有些模型还是能够起到一定作用的。CNN适用于具有局部相关性的样本,语言是满足这一条件的。

使用CNN的一个很大的目的是因为它很快,在GPU的加速下,卷积的计算更加迅速。比起n元语法,CNN在表达上也更有效一些。当词汇量变的巨大时,计算超过三元的语法的代价就会变得昂贵起来。卷积能够很好的自动学习表达,而不用获取整个词汇表。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深度学习综述:Hinton、Yann LeCun和Bengio经典重读
翻译 | kevin,刘志远 审校 | 李成华 【编者按】深度学习三巨头Geoffrey Hinton、Yann LeCun和Yoshua Bengio对AI领域的贡献无人不知、无人不晓。本文是《Nature》杂志为纪念人工智能60周年而专门推出的深度学习综述,也是Hinton、LeCun和Bengio三位大神首次合写同一篇文章。该综述在深度学习领域的重要性不言而喻,可以说是所有人入门深度学习的必读作品。 本文上半部分深入浅出介绍深度学习的基本原理和核心优势,下半部分则详解CNN、分布式特征表示、RNN及其
用户1737318
2018/06/05
6840
深度学习入门指南:初学者必看!
本文介绍了深度学习的基本概念、发展历程、应用领域以及未来前景。通过简要介绍深度学习技术,探讨了其在计算机视觉、自然语言处理等领域的应用,并展望了深度学习未来的发展方向。
全球人工智能
2017/10/30
1.2K0
深度学习入门指南:初学者必看!
CNN笔记:通俗理解卷积神经网络
2012年我在北京组织过8期machine learning读书会,那时“机器学习”非常火,很多人都对其抱有巨大的热情。当我2013年再次来到北京时,有一个词似乎比“机器学习”更火,那就是“深度学习”。
全栈程序员站长
2022/09/07
5100
CNN笔记:通俗理解卷积神经网络
【干货笔记】22张精炼图笔记,深度学习专项学习必备
来源丨https://blog.csdn.net/sophia_11/article/details/103005821
lujohn3li
2020/03/02
6640
【干货笔记】22张精炼图笔记,深度学习专项学习必备
深度学习、神经网络与卷积神经网络:研究及应用
在如今的网络时代,错综复杂的大数据和网络环境,让传统信息处理理论、人工智能与人工神经网络都面临巨大的挑战。近些年,深度学习逐渐走进人们的视线,通过深度学习解决若干问题的案例越来越多。一些传统的图像处理技术也可以通过深度学习来获得更优异的效果,比如去噪、超分辨率和跟踪算法等。为了跟上时代的步伐,必须对深度学习与神经网络技术有所学习和研究。
算法进阶
2024/04/12
5950
深度学习、神经网络与卷积神经网络:研究及应用
CNN vs.RNN vs.ANN——浅析深度学习中的三种神经网络
这是一个值得思考的问题。机器学习算法并不缺乏,那么为什么数据科学家会倾向于深度学习算法呢?神经网络提供了传统机器学习算法不具备的功能吗?
人工智能小咖
2020/02/20
6.8K0
深度学习架构的对比分析
深度学习的概念源于人工神经网络的研究,含有多个隐藏层的多层感知器是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示,以表征数据的类别或特征。它能够发现数据的分布式特征表示。深度学习是机器学习的一种,而机器学习是实现人工智能的必经之路。
半吊子全栈工匠
2023/09/02
9700
深度学习架构的对比分析
深度学习-LeCun、Bengio和Hinton的联合综述(下)
【编者按】三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在深度学习领域的地位无人不知。为纪念人工智能提出60周年,最新的《Nature》杂志专门开辟了一个“人工智能 + 机器人”专题 ,发表多篇相关论文,其中包括了Yann LeCun、Yoshua Bengio和Geoffrey Hinton首次合作的这篇综述文章“Deep Learning”。本文为该综述文章中文译文的下半部分,详细介绍了CNN、分布式特征表示、RNN及其不同的应用,并对深度学习技术的未来发展进行展
用户1737318
2018/06/05
6230
[深度学习概念]·理解NLP的卷积神经网络
当我们听说卷积神经网络(CNN)时,我们通常会想到计算机视觉。CNN负责图像分类方面的重大突破,是目前大多数计算机视觉系统的核心,从Facebook的自动照片标签到自动驾驶汽车。
小宋是呢
2019/06/27
1.4K0
[深度学习概念]·理解NLP的卷积神经网络
基于大数据与深度学习的自然语言对话
作者:李航、吕正东、尚利锋 前言 我们在日常生活中经常使用自然语言对话系统,比如苹果Siri。现在的对话系统多数只能做单轮对话,可以帮助用户完成一些简单的任务,如问天气,查股票(如果做多轮对话,也是在单轮对话的基础上加一些简单处理)。实现这些自然语言对话系统的基本技术可以分为两大类,基于规则的和基于数据的。你也许想知道对话系统的基本原理是怎样的?特别是如何用数据驱动的方式构建一个对话系统? 最近基于数据的自然语言对话技术取得了突破性的进展。我们发现,利用深度学习和大数据,可以很容易地构建一个单
用户1737318
2018/06/06
7680
卷积神经网络处理自然语言
当我们听到卷积神经网络(Convolutional Neural Network, CNNs)时,往往会联想到计算机视觉。CNNs在图像分类领域做出了巨大贡献,也是当今绝大多数计算机视觉系统的核心技术,从Facebook的图像自动标签到自动驾驶汽车都在使用。 最近我们开始在自然语言处理(Natural Language Processing)领域应用CNNs,并取得了一些引人注目的成果。我将在本文中归纳什么是CNNs,怎样将它们应用于NLP。CNNs背后的直觉知识在计算机视觉的用例里更容易被理解,因此我就先
CSDN技术头条
2018/02/11
9480
卷积神经网络处理自然语言
达观数据深度学习资料之卷积神经网络(上篇)
达观数据深度学习资料之卷积神经网络 (上篇) 1深度学习背景 深度学习是近十年来人工智能领域取得的最重要的突破之一,通过建立类似于人脑的分层模型结构对输入数据逐级提取从底层到高层的特征从而能很好
达观数据
2018/03/30
8580
AI从业者搞懂---这10种深度学习方法---老婆孩子热炕头
作者:王抒伟 编辑:王抒伟 首先,让我们来看看主要有啥 1 1.机器学习 过去的十年里已经爆炸了。 大伙几乎每天都会在计算机科学计划,行业会议和各大公众号看到机器学习。 对于所有关于机器学习,许多人会把它能做什么和他们希望做什么混为一谈。 从根本上说,机器学习是使用算法从原始数据中提取信息,并以某种类型的模型表示,我们使用这个模型来推断我们尚未建模的其他数据。 2.神经网络 是机器学习的一种模型 他们已经存在了至少50年。 神经网络的基本单元是松散地基于哺乳动物大脑中的生物神经元的节点。 神经元之间的联系
机器学习算法工程师
2018/03/06
8120
AI从业者搞懂---这10种深度学习方法---老婆孩子热炕头
深度学习—1.认识深度学习
通过一张图像来解释人工智能、机器学习。深度学习三者关系。假设让机器模拟人脑,分辨羊,猪,牛三种动物: (1)人工智能就是为机器赋予人的智能,模拟人脑分辨过程; (2)机器学习通过手动特征提取图像特征、设计算法区别特征,最后进行分类,给数据让机器自己学习去进行分辨,但在手动特征提取过程中工程庞大,逻辑复杂非常耗时,依恋经验; (3)深度学习是一种高效的机器学习算法,将特征提取与算法融合到一起让机器学习进行分辨。 三者关系如下图所示:
全栈程序员站长
2021/10/08
9190
塔说 |盘点人工智能从业者必备的10个深度学习方法
导读:近日,软件工程师 James Le 在 Medium 上发表了一篇题为《The 10 Deep Learning Methods AI Practitioners Need to Apply》的文章,从反向传播到最大池化最后到迁移学习,他在文中分享了主要适用于卷积神经网络、循环神经网络和递归神经网络的10大深度学习方法。 过去十年来,人们对机器学习兴趣不减。你几乎每天都会在计算机科学程序、行业会议和华尔街日报上看到机器学习。对于所有关于机器学习的讨论,很多人把机器学习能做什么与希望其做什么混为一谈。从
灯塔大数据
2018/04/03
7490
塔说 |盘点人工智能从业者必备的10个深度学习方法
入门 | 献给新手的深度学习综述
论文:Recent Advances in Deep Learning: An Overview
机器之心
2018/08/21
6120
入门 | 献给新手的深度学习综述
深度学习算法地图
本文是机器学习算法地图的下篇,系统地整理了深度学习算法,整张图的设计风格与机器学习算法地图保持一致。从去年底就开始酝酿深度学习算法地图,然而工程浩大。这张图是SIGAI算法工程师集体智慧的结晶,也是在研发SIGAI核心产品-简单易用的机器学习框架过程中的副产品。由于深度学习的算法变种太多,而且处于高速发展期,因此难免会有疏漏,后续版本将不断完善与优化。
SIGAI学习与实践平台
2019/05/17
1.9K0
【干货】AI 实践者需要掌握的10大深度学习方法:反向传播、迁移学习、梯度下降……
来源:towardsdatascience.com 编译:马文 文强 【新智元导读】本文总结了10个强大的深度学习方法,包括反向传播、随机梯度下降、学习率衰减、Dropout、最大池化、批量归一化、长短时记忆、Skip-gram、连续词袋、迁移学习等,这是AI工程师可以应用于他们的机器学习问题的。 过去10年,人们对机器学习的兴趣激增。几乎每天,你都可以在各种各样的计算机科学课程、行业会议、华尔街日报等等看到有关机器学习的讨论。在所有关于机器学习的讨论中,许多人把机器学习能做的事情和他们希望机器学习做的事
新智元
2018/03/21
6470
【干货】AI 实践者需要掌握的10大深度学习方法:反向传播、迁移学习、梯度下降……
深度学习入门
引言 近几年来人工智能越来越火,大家都已经知道了AlphaGo的威力,然而在其背后,从技术层面来说,深度学习功不可没。那么深度学习到底是什么,其与传统的机器学习之间又有什么样的关联。对于想入坑深度学习的同学,又该从哪些方面入手。这就是本文要回答的问题。 深度学习的提出 先从深度学习的提出开始说起,深度学习的概念是由Hinton在2006年提出,他当时首次提出了深度信念网络(DBN),相比之前,他采用无监督方式逐层训练深层网络,在深层网络训练中取得了跨越式的进展。虽然称为是深度
机器学习算法工程师
2018/03/06
6700
深度学习入门
深度学习知识分享
六、浅层学习(Shallow Learning)和深度学习(Deep Learning)
商业新知
2019/03/22
1K0
深度学习知识分享
推荐阅读
相关推荐
深度学习综述:Hinton、Yann LeCun和Bengio经典重读
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档