卷积神经网络初探索

卷积神经网络

当处理图像时,全连接的前馈神经网络会存在以下两个问题:

图像不能太大。比如,输入图像大小为 100 × 100 ×3(即图像高度为 100, 宽度为 100,3 个颜色通道 RGB)。在全连接前馈神经网络中,第一个隐藏 层的每个神经元到输入层都有 100 ∗ 100 ∗ 3 = 30, 000 个相互独立的连接, 每个连接都对应一个权重参数。随着隐藏层神经元数量的增多,参数的规 模也会极具增加。这会导致整个神经网络的训练效率会非常低,也很容易出现过拟合。

难以处理图像不变性。自然图像中的物体都具有局部不变性特征,比如在 尺度缩放、平移、旋转等操作不影响人们对它的正确识别。而全连接的前馈神经网络很难提取这些特征,一般需要进行数据增强来提高性能。

卷积神经网络(Convolutional Neural Networks,CNN)是受生物学上感受野(Receptive Field)的机制而提出的一种前馈神经网络。

感受野主要是指听觉、视觉等神经系统中一些神经元的特性,即神经元只 接受其所支配的刺激区域内的信号。在视觉神经系统中,视觉皮层中的神经细胞的输出依赖于视网膜上的光感受器。视网膜上的光感受器受刺激兴奋时,将神经冲动信号传到视觉皮层,但不是所有视觉皮层中的神经元都会接受这些信号。一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元。David Hubel和Torsten Wiesel在1959年发现,在猫的初级视觉皮层中存在两种细胞:简单细胞和复杂细胞,这两种细胞承担不同层次的视觉感知功能 [Hubel and Wiesel, 1959, 1962]。简单细胞的感受野是狭长型的,每个简单细胞只对感受野中特定角度(orientation)的光带敏感,而复杂细胞对于感受野中以特定方向(direction)移动的某种角度(orientation)的光带敏感。

受此启发,1980年,KunihikoFukushima(福岛邦彦)提出了一种带卷积和 子采样操作的多层神经网络:新知机(Neocognitron)[Fukushima, 1980]。但当时还没有反向传播算法,新知机采用了无监督学习的方式来训练。Yann LeCun 在1989年将反向传播算法引入了卷积神经网络[LeCun et al., 1989],并在手写体数字识别上取得了很大的成功[LeCun et al., 1998]。

目前的卷积神经网络一般采用交替使用卷积层和最大值池化层,然后在顶端使用多层全连接的前馈神经网络。训练过程使用反向传播算法。卷积神经网络有三个结构上的特性:局部连接,权重共享以及次采样。这些特性使得卷积神经网络具有一定程度上的平移、缩放和扭曲不变性。和前馈神经网络相比,卷积神经网络的参数更少。在图像识别任务上,基于卷积神经网络模型的准确率也远远超出了一般的神经网络模型。

卷积

卷积,也叫摺积,是分析数学中一种重要的运算。我们这里只考虑离散序

列的情况。

一维场合

一维卷积经常用在信号处理中。给定一个输入信号序列 xt , t = 1, · · ·, n,和

滤波器 ft , t = 1, · · · , m,一般情况下滤波器的长度 m 远小于信号序列长度 n。

卷积的输出为:

当滤波器ft = 1/n时,卷积相当于信号序列的移动平均。

卷积的结果按输出长度不同可以分为三类:

• 窄卷积:输出长度n−m + 1,不补零。

• 宽卷积:输出长度n+m−1,对于不在[1,n]范围之外的xt用零补齐(zero-

padding)。(Padding=m-1)

• 等长卷积:输出长度n,对于不在[1,n]范围之外的xt用零补齐(zero-

padding)。(Padding=(m-1)/2)

在这里除了特别声明,我们一般说的卷积默认为窄卷积

两维场合

两维卷积经常用在图像处理中。给定一个图像xij, 1 ≤ i ≤ M, 1 ≤ j ≤N,

和滤波器 fij, 1 ≤ i ≤ m, 1 ≤ j ≤ n,一般m

卷积的输出为:

在图像处理中,常用的均值滤波(mean filter)就是当前位置的像素值设为滤波器窗口中所有像素的平均值,也就是 fuv= 1 /mn。

卷积层:用卷积来代替全连接

在全连接前馈神经网络中,如果第 l 层有 nl个神经元,第 l−1 层有 n(l−1)个神经元,连接边有n(l)×n(l−1)个,也就是权重矩阵有n(l)×n(l−1)个参数。 当 m 和 n 都很大时,权重矩阵的参数非常多,训练的效率会非常低。

如果采用卷积来代替全连接,第l层的每一个神经元都只和第l−1层的一 个局部窗口内的神经元相连,构成一个局部连接网络。第 l 层的第 i 个神经元的 输入定义为:

从公式5.5可以看出,w(l)对于所有的神经元都是相同的。这也是卷积层的 另外一个特性是权值共享。这样,在卷积层里,我们只需要m+ 1个参数。另 外,第l + 1层的神经元个数不是任意选择的,而是满足n(l+1)= n(l)−m + 1。

上面是一维的卷积层,下面我们来看下两维的情况。在图像处理中,图像是以二维矩阵的形式输入到神经网络中,因此我们需要二维卷积。假设 x(l)∈

R(wl×hl)和x(l−1)∈R(wl−1×hl−1)分别是第l层和第l−1层的神经元活性。X(l)的每一个元素为:

其中,W(l)Ru×v为两维的滤波器,B 为偏置矩阵。第 l−1 层的神经元个数为

(wl×hl),并且wl=wl−1−u+1,hl=hl−1−v+1。 也可以写为:

为了增强卷积层的表示能力,我们可以使用 K 组不同的滤波器来得到 K 组输出。每一组输出都共享一个滤波器。如果我们把滤波器看成一个特征提取器, 每一组输出都可以看成是输入图像经过一个特征抽取后得到的特征。因此,在卷积神经网络中每一组输出也叫作一组特征映射(Feature Map)。

不失一般性,我们假设第l−1层的特征映射组数为nl−1,每组特征映射的 大小为 ml−1= wl−1× hl−1。第 l−1 层的总神经元数:nl−1× ml−1。第 l 层的 特征映射组数为nl。如果假设第l层的每一组特征映射X(l,k)的输入为第l−1 层的所有组特征映射。

第l层的第k组特征映射X(l,k)为:

其中,W(l,k,p)表示第 l−1 层的第 p 组特征向量到第 l 层的第 k 组特征映射所需的滤波器。

第 l 层的每一组特征映射都需要 nl−1个滤波器以及一个偏置 b。假设每个滤波器的大小为u × v,那么共需要nl× nl−1× (u × v) + nl。

这样,我们在第 l + 1 层就得到nl 组特征映射,每一组特征映射的大小为 ml= wl−1−u + 1 × hl−1−v + 1,总的神经元个数为nl× ml。图5.2给出了公式5.8的可视化映射关系。

连接表公式 (5.8) 中,第 l−1 层的所有特征映射都经过滤波器得到一个第 l 层 的一组特征映射X(l,k)。也就是说,第l层的每一组特征映射都依赖于第l−1层 的所有特征映射,相当于不同层的特征映射之间是全连接的关系。实际上,这种全连接关系不是必须的。我们可以让第 l 层的每一组特征映射都依赖于前一层的少数几组特征映射。这样,我们定义一个连接表T 来描述不同层的特征映 射之间的连接关系。如果第 l 层的第 k 组特征映射依赖于前一层的第 p 组特征映射,则Tp,k= 1,否则为0。

这样,假如连接表T 的非零个数为K,每个滤波器的大小为u × v,那么共需要K ×(u×v)+nl参数。

卷积层的作用是提取一个局部区域的特征,每一个滤波器相当于一个特征 提取器。图5.3给出了两维卷积层示例。

作者:邱锡鹏 犀语科技首席科学家复旦大学计算机学院,副教授

主要研究方向:深度学习、自然语言处理、自动问答系统以及表示学习。在ACL、EMNLP、IJCAI等计算机学会A类期刊、会议上发表40余篇学术论文。开源自然语言处理工具FudanNLP项目负责人,主要开发者。

本文来自企鹅号 - 犀语科技媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习原理

深度学习——目标检测(2)Fast-RCNNFASTER RCNNRCNN网络的演进

前言:RCNN虽然能进行目标检测,但检测的精确度,尤其是速度方面太慢了,没秒才0.03帧。在RCNN基础上做了改进就有了FAST RCNN和FASTER RCN...

11620
来自专栏机器学习算法原理与实践

Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派,它的特...

25330
来自专栏机器学习算法原理与实践

深度神经网络(DNN)的正则化

    和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考虑泛化,这里我们就对DNN的正则化方法做一个总结。

8810
来自专栏机器学习算法与Python学习

神经网络

神经网络 来源:UFLDL教程 本文为神经网络综合系列的第一篇,通过学习,你也将实现多个功能学习/深度学习算法,能看到它们为你工作,并学习如何应用/适应这些想法...

39770
来自专栏数说工作室

【分类战车SVM】第三话:最大间隔分类器

分类战车SVM (第三话:最大间隔分类器) 查看本《分类战车SVM》系列的内容: 第一话:开题话 第二话:线性分类 第三话:最大间隔分类器 第四话:拉格朗日对偶...

431100
来自专栏LhWorld哥陪你聊算法

【机器学习】--GBDT算法从初始到应用

提升是一种机器学习技术,可以用于回归和分类的问题,它每一步产生弱预测模型(如决策树),并加权累加到总模型中;如果每一步的弱预测模型的生成都是依据损失函数的梯度方...

27520
来自专栏瓜大三哥

径向基神经网络

1985年,Powell提出了多变量插值的径向基函数(Radical Basis Function,RBF)方法。1988年,Moody和Darken提出了一种...

385100
来自专栏应兆康的专栏

机器学习概念:梯度下降

机器学习中大部分都是优化问题,大多数的优化问题都可以使用梯度下降/上升法处理,所以,搞清楚梯度算法就非常重要

60190
来自专栏人工智能LeadAI

基于深度卷积神经网络进行人脸识别的原理是什么?

我这里简单讲下OpenFace中实现人脸识别的pipeline,这个pipeline可以看做是使用深度卷积网络处理人脸问题的一个基本框架,很有学习价值。 它的...

46180
来自专栏weixuqin 的专栏

深度学习之 TensorFlow(四):卷积神经网络

37070

扫码关注云+社区

领取腾讯云代金券