神经语言学中的卷积神经网络

英文原文

当人们提到卷积神经网络(CNNs), 一般是围绕计算机视觉。图像分类以及计算机视觉系统核心的重要突破的原因之一就是卷积神经网络,例如Facebook自动照片加tag的功能啊,自动驾驶车辆等。

最近呢,我们也尝试用CNN去解决神经语言学(NLP)中的问题,并且获得了一些有趣的结论。理解CNN在NLP中的作用是比较艰难的,但是它在计算机视觉中的作用就更容易理解一些,所以呢,在本文中我们先从计算机视觉中出发谈一谈,慢慢再过度到NLP的问题中去~

什么是卷积神经网络

对我来说,最容易理解卷积的办法是把它理解成一个滑动的窗口函数,就像是一个矩阵一样。虽然很拗口,但是看起来很顺畅(译者:翻译这句话确实挺蛋疼的,应该翻译成,如下图,自行领悟):

Convolution with 3×3 Filter. Source: http://deeplearning.stanford.edu/wiki/index.php/Feature_extraction_using_convolution

让我们发挥想象力,左边的矩阵代表一个黑白图。每个方格对应一个像素,0表示黑色,1表示白色(通常来说应该是一个值在0到255之间的灰度图)。滑动的窗口被称为一个内核过滤器(译者:有那么点滤波器的感觉)或者特征检测器(译者:用于特征提取)

现在,我们用一个3×3的过滤器,将它的值与原矩阵中的值相乘,然后求和。为了得到右边的矩阵,我们需要将大矩阵的每一个3×3子矩阵做一次操作。

你可能在想你这样做能干什么,下面有两个例子

模糊处理

使像素与周围像素值平均后导致图像模糊

边缘检测

对像素与周围像素值做差后标注出了边界

为了更好地理解这个问题,先想想在一个平滑的图像上,一块像素点和周围的几个像素点相同的时候,会发生什么:那些增量会消失,每个像素的最终值将会是0,也就是黑色。(就是没有对比度了)。如果那有很强烈的锐利的边界,例如从白色到黑色,那你就会得到强烈的反差,从而得到白色。

The GIMP manual has a few other examples。(译者:如锐化啊、边缘加强之类的)。如果想了解得更多的话,建议你们看看这个Chris Olah’s post on the topic.

什么是卷积神经网络

你现在已经知道了什么是卷积了,那么什么是卷积神经网络呢?简单说来,CNN就是用好几层使用非线性激活函数(如,ReLutanh)的卷积得到答案的神经网络。

在传统的前馈神经网络中,我们将每一层的输出和下一层的输入相互连接,这也被称为完全连接层或仿射层。但是CNN中并不是这样。相反,我们使用卷积在输入层中计算输出。这就导致了局部连接,一个输出值连接到部分的输入(译者:利用层间局部空间相关性将相邻每一层的神经元节点只与和它相近的上层神经元节点连接)。

每一层都需要不同的过滤器,通常是成千上万的,就类似上文提到的那样,然后将它们的结果合并起来。那还有一个叫做池(pooling layer)或者二次抽样层(subsampling layers)的东西,下次再说吧。

在训练阶段中,CNN能够依赖训练集自动改善它过滤器中的值。举个例子,在图像分类问题中,CNN能够在第一层时,用原始像素中识别出边界,然后在第二层用边缘去检测简单的形状,然后再用这些形状来识别高级的图像,如更高层的人脸形状。最后一层就是用高级的图像来进行分类。

在计算方面有两个值得注意的东西:局部不变性(Location Invariance)组合性(Compositionality)

假设你要分别图像上有木有大象。

  1. 因为你的过滤器将扫描整个图像,所以并不用太在意大象到底在哪儿。在现实中,pooling也使得你的图像在平移、旋转、缩放的时候保持不变(后者更多)。
  2. 组合性(局部组合性),每个过滤器获取了低层次的图片的一部分,组合起来成了高层次图片。

这就是为什么CNN在计算机视觉上表现地如此给力。在从像素建边,从边到确立形状,从形状建立更加复杂的物体过程中,CNN会给人一个直观的感受。

TO BE CONTINUE.

时间: 2024-10-14 15:27:44

神经语言学中的卷积神经网络的相关文章

理解NLP中的卷积神经网络(CNN)

此篇文章是Denny Britz关于CNN在NLP中应用的理解,他本人也曾在Google Brain项目中参与多项关于NLP的项目. · 翻译不周到的地方请大家见谅. 阅读完本文大概需要7分钟左右的时间,如果您有收获,请点赞关注 :) 一.理解NLP中的卷积神经网络(CNN) 现在当我们听到神经网络(CNN)的时候,一般都会想到它在计算机视觉上的应用,尤其是CNN使图像分类取得了巨大突破,而且从Facebook的图像自动标注到自动驾驶汽车系统,CNN已经成为了核心. 最近,将CNN应用于NLP也

深度学习卷积神经网络大事件一览

深度学习(DeepLearning)尤其是卷积神经网络(CNN)作为近几年来模式识别中的研究重点,受到人们越来越多的关注,相关的参考文献也是层出不穷,连续几年都占据了CVPR的半壁江山,但是万变不离其宗,那些在深度学习发展过程中起到至关重要的推动作用的经典文献依然值得回味,这里依据时间线索,对CNN发展过程中出现的一些经典文献稍作总结,方便大家在研究CNN时追本溯源,在汲取最新成果的同时不忘经典. 首先这里给出CNN在发展过程中的一些具有里程碑意义的事件和文献: 对于CNN最早可以追溯到1986

卷积神经网络Lenet-5实现-深入浅出

卷积神经网络算法是n年前就有的算法,只是近年来因为深度学习相关算法为多层网络的训练提供了新方法,然后现在电脑的计算能力已非当年的那种计算水平,同时现在的训练数据很多,于是神经网络的相关算法又重新火了起来,因此卷积神经网络就又活了起来. 在开始前,我们需要明确的是网上讲的卷积神经网络的相关教程一般指的是神经网络的前向传导过程,反向传播都是用梯度下降法进行训练,大部分深度学习库,都已经把反向求导的功能给封装好了,如果想要深入学习反向求导,就需要自己慢慢学了. 因为卷积神经网络的经典模型是:Lenet

卷积神经网络Lenet-5实现

卷积神经网络Lenet-5实现 原文地址:http://blog.csdn.net/hjimce/article/details/47323463 作者:hjimce 卷积神经网络算法是n年前就有的算法,只是近年来因为深度学习相关算法为多层网络的训练提供了新方法,然后现在电脑的计算能力已非当年的那种计算水平,同时现在的训练数据很多,于是神经网络的相关算法又重新火了起来,因此卷积神经网络就又活了起来,再开始前,我们需要明确的是网上讲的卷积神经网络的相关教程一般指的是神经网络的前向传导过程,反向传播

卷积神经网络(CNN)模型结构

卷积神经网络(CNN)模型结构 转载:http://www.cnblogs.com/pinard/p/6483207.html 看到的一片不错的文章,先转过来留着,怕以后博主删了.哈哈哈 在前面我们讲述了DNN的模型与前向反向传播算法.而在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一.CNN广泛的应用于图像识别,当然现在也应用于NLP等其他领域,本文我们就对CNN的模型结构做一个总结. 在学习CNN前,推荐大家

深度学习:Keras入门(二)之卷积神经网络(CNN)

说明:这篇文章需要有一些相关的基础知识,否则看起来可能比较吃力. 1.卷积与神经元 1.1 什么是卷积? 简单来说,卷积(或内积)就是一种先把对应位置相乘然后再把结果相加的运算.(具体含义或者数学公式可以查阅相关资料) 如下图就表示卷积的运算过程: (图1) 卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,并且降低噪音. 1.2 激活函数 这里以常用的激活函数sigmoid为例: 把上述的计算结果269带入此公式,得出f(x)=1 1.3 神经元 如图是一个人工神经元的模型: (

深度学习之卷积神经网络(CNN)学习

1.卷积神经网络中卷积的核心意义是什么?每一组卷集合 权重是一个抽特征的滤波器, 从卷集核的角度抽取特征 2.卷积神经网络很好的特性参数共享机制每一个神经元固定一组a x b x c(图像的通道数) 的参数w ,因此每一层网络的参数是 a x b x c x depth(神经元个数):a x b 代表卷集核比如(3 x 3):相比全连接的DNN 参数 w x h x c x depth 降低很多:例如:4 x 4 x 3 x 10(CNN)  418 x 418 x 3 x 10(DNN) 3.

TensorFlow 中的卷积网络

TensorFlow 中的卷积网络 是时候看一下 TensorFlow 中的卷积神经网络的例子了. 网络的结构跟经典的 CNNs 结构一样,是卷积层,最大池化层和全链接层的混合. 这里你看到的代码与你在 TensorFlow 深度神经网络的代码类似,我们按 CNN 重新组织了结构. 如那一节一样,这里你将会学习如何分解一行一行的代码.你还可以下载代码自己运行. 感谢 Aymeric Damien 提供了这节课的原始 TensorFlow 模型. 现在开看下! 数据集 你从之前的课程中见过这节课的

卷积神经网络-解释1

[翻译] 神经网络的直观解释 2017/07/27 17:36 这篇文章原地址为An Intuitive Explanation of Convolutional Neural Networks,卷积神经网络的讲解非常通俗易懂. 什么是卷积神经网络?为什么它们很重要? 卷积神经网络(ConvNets 或者 CNNs)属于神经网络的范畴,已经在诸如图像识别和分类的领域证明了其高效的能力.卷积神经网络可以成功识别人脸.物体和交通信号,从而为机器人和自动驾驶汽车提供视力. 在上图中,卷积神经网络可以识