《深度学习》 第9章 卷积网络

《深度学习》 第9章 卷积网络

卷积网络是指那些至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。

卷积网络

连续形式的卷积运算:
s ( t ) = x ( a ) w ( t 1 ) d a = ( x w ) ( t ) s(t) = \int x(a)w(t-1)da = (x * w)(t)

x x 通常称为输入, w w 通常称为核函数,输出通常称为特征映射。

离散形式的卷积运算:
s ( t ) = a = x ( a ) w ( t a ) s(t) = \sum_{a=-\infty}^{\infty} x(a)w(t-a)

许多神经网络库会实现一个相关的函数,称为互相关函数(cross-correlation),和卷积运算几乎一样但是并没有对核进行翻转:
S ( i , j ) = ( I K ) ( i , j ) = m n I ( i + m , j + n ) K ( m , n ) S(i,j) = (I*K)(i,j) = \sum_m \sum_n I(i+m, j+n)K(m,n)

离散卷积可以看做矩阵的乘法。单变量离散卷积对应Toeplitz矩阵,二维卷积对应双重分块循环矩阵

动机

卷积运算通过三个重要的思想来帮助改进机器学习系统: 稀疏交互(sparse interactions)、 参数共享(parameter sharing)、 等变表示(equivariant representa-tions)。另外,卷积提供了一种处理大小可变的输入的方法。

稀疏交互是使核大小远小于输入的大小来达到的。这意味着我们需要存储的参数更少,不仅减少了模型的存储需求,而且提高了它的统计效率。这也意味着为了得到输出我们只需要更少的计算量。这些效率上的提高往往是很显著的。

参数共享是指在一个模型的多个函数中使用相同的参数。

对于卷积,参数共享的特殊形式使得神经网络层具有对平移等变的性质。如果一个函数满足输入改变,输出也以同样的方式改变这一性质,我们就说它是等变 (equivariant) 的。

池化

卷积网络中一个典型层包含三级。在第一级中,这一层并行地计算多个卷积产生一组线性激活响应。在第二级中,每一个线性激活响应将会通过一个非线性的激活函数,例如整流线性激活函数。这一级有时也被称为探测级(detector stage)。在第三级中,我们使用池化函数(pooling function)来进一步调整这一层的输出。

扫描二维码关注公众号,回复: 5305936 查看本文章

最大池化函数给出相邻矩形区域内的最大值。

不管采用什么样的池化函数,当输入作出少量平移时,池化能够帮助输入的表示近似不变(invariant)。对于平移的不变性是指当我们对输入进行少量平移时,经过池化函数后的大多数输出并不会发生改变

局部平移不变性是一个很有用的性质,尤其是当我们关心某个特征是否出现而不关心它出现的具体位置时。

使用池化可以看作是增加了一个无限强的先验:这一层学得的函数必须具有对少量平移的不变性。当这个假设成立时,池化可以极大地提高网络的统计效率。

因为池化综合了全部邻居的反馈,这使得池化单元少于探测单元成为可能,我们可以通过综合池化区域的 k k 个像素的统计特征而不是单个像素来实现。

在很多任务中,池化对于处理不同大小的输入具有重要作用。

三种典型卷积网络:

  • 处理固定大小的图像的卷积网络。在卷积层和池化层几层交替之后,卷积特征映射的张量被重新变形以展平空间维度。网络的其余部分是一个普通的前馈网络分类器
  • 处理大小可变的图像的卷积网络,但仍保持全连接的部分。该网络使用具有可变大小但是数量固定的池的池化操作,以便向网络的全连接部分提供固定大小的向量。
  • 没有任何全连接权重层的卷积网络。相对的,最后的卷积层为每个类输出一个特征映射。该模型可能会用来学习每个类出现在每个空间位置的可能性的映射。将特征映射进行平均得到的单个值,提供了顶部softmax分类器的变量。

卷积与池化作为一种无限强的先验

先验概率分布是一个模型参数的概率分布,它刻画了在我们看到数据之前我们认为什么样的模型是合理的信念。

先验被认为是强或者弱取决于先验中概率密度的集中程度。

一个无限强的先验需要对一些参数的概率置零并且完全禁止对这些参数赋值,无论数据对于这些参数的值给出了多大的支持。

卷积网络这个无限强的先验是说一个隐藏单元的权重必须和它邻居的权重相同,但可以在空间上移动。这个先验也要求除了那些处在隐藏单元的小的空间连续的接受域内的权重以外,其余的权重都为零。

一个关键的洞察是卷积和池化可能导致欠拟合。

另一个关键洞察是当我们比较卷积模型的统计学习表现时,只能以基准中的其他卷积模型作为比较的对象。

基本卷积函数的变体

首先,当我们提到神经网络中的卷积时,我们通常是指由多个并行卷积组成的运算。

另外,输入通常也不仅仅是实值的网格,而是由一系列观测数据的向量构成的网格。

假定我们有一个 4 4 维的核张量 K K ,它的每一个元素是 K i , j , k , l K_{i,j,k,l} ,表示输出中处于通道 i i 的一个单元和输入中处于通道 j j 中的一个单元的连接强度,并且在输出单元和输入单元之间有 k k l l 列的偏置。

下采样在输出的每个方向上每间隔 s 个像素进行采样

有三种零填充设定的情况值得注意。

  • 第一种是无论怎样都不使用零填充的极端情况,并且卷积核只允许访问那些图像中能够完全包含整个核的位置。称为有效(valid)卷积
  • 第二种特殊的情况是只进行足够的零填充来保持输出和输入具有相同的大小。称为相同(same)卷积。
  • 进行了足够多的零填充使得每个像素在每个方向上恰好被访问了 k k 次,称为全(full)卷积

局部连接层

平铺卷积(tiled convolution)对卷积层和局部连接层进行了折衷。这里并不是对每一个空间位置的权重集合进行学习,我们学习一组核使得当我们在空间移动时它们可以循环利用。

Z i , j , k = l , m , n V l , j + m 1 , k + n 1 K i , l , m , n , j % t + 1 , k % t + 1 Z_{i,j,k} = \sum_{l,m,n} V_{l,j+m-1,k+n-1}K_{i,l,m,n,j\%t+1,k\%t+1}

每当我们在输出中右移一个像素后,我们使用一个不同的核。这意味着,与局部连接层类似,输出中的相邻单元具有不同的参数。与局部连接层不同的是,在我们遍历所有可用的 t t 个核之后,我们循环回到了第一个核。如果两个输出单元间隔 t t 个步长的倍数,则它们共享参数。

局部连接层与平铺卷积层都和最大池化有一些有趣的关联:这些层的探测单元都是由不同的过滤器驱动的。如果这些过滤器能够学会探测相同隐含特征的不同变换形式,那么最大池化的单元对于学得的变换就具有不变性。卷积层对于平移具有内置的不变性。

这三种运算——卷积、从输出到权重的反向传播和从输出到输入的反向传播——对于训练任意深度的前馈卷积网络,以及训练带有(基于卷积的转置的)重构函数的卷积网络,这三种运算都足以计算它们所需的所有梯度。

结构化输出

卷积神经网络可以用于输出高维的结构化对象,而不仅仅是预测分类任务的类标签或回归任务的实数值。通常这个对象只是一个张量,由标准卷积层产生。

数据类型

卷积网络的一个优点是它们还可以处理具有可变的空间尺度的输入。

使用卷积处理可变尺寸的输入,仅对输入是因为包含对同种事物的不同量的观察(时间上不同长度的记录,空间上不同宽度的观察等)而导致的尺寸变化这种情况才有意义。

高效的卷积算法

当一个d维的核可以表示成d个向量(每一维一个向量)的外积时,该核被称为可分离的(separable)。当核可分离时,朴素的卷积是低效的。

随机或无监督的特征

有三种基本策略可以不通过监督训练而得到卷积核。

  • 简单地随机初始化它们。
  • 手动设计它们,例如设置每个核在一个特定的方向或尺度来检测边缘。
  • 使用无监督的标准来学习核。

随机过滤器经常在卷积网络中表现得出乎意料得好,由卷积和随后的池化组成的层,当赋予随机权重时,自然地变得具有频率选择性和平移不变性。这提供了一种廉价的方法来选择卷积网络的结构:首先通过仅训练最后一层来评估几个卷积网络结构的性能,然后选择最好的结构并使用更昂贵的方法来训练整个网络。

一个中间方法是学习特征,但是使用那种不需要在每个梯度计算步骤中都进行完整的前向和反向传播的方法。与多层感知机一样,我们使用贪心逐层预训练

卷积网络的神经科学基础

卷积网络层被设计为描述V1(初级视觉皮层)的三个性质:

  1. V1可以进行空间映射。卷积网络通过用二维映射定义特征的方式来描述该特征。
  2. V1包含许多简单细胞。卷积网络的检测器单元被设计为模拟简单细胞的这些性质。
  3. V1还包括许多复杂细胞。这启发了卷积网络的池化单元。其不变形激发了卷积网络中的一些跨通道池化策略,例如maxout单元

当我们穿过大脑的多个解剖层时,我们最终找到了响应一些特定概念的细胞,并且这些细胞对输入的很多种变换都具有不变性。这些细胞被昵称为"祖母细胞"

哺乳动物视觉系统的一些未解答的基本问题:

  • 人眼大部分是非常低的分辨率
  • 人类视觉系统集成了许多其他感觉
  • 人类视觉系统不仅仅用于识别对象
  • 即使像V1这样简单的大脑区域也受到来自较高级别的反馈的严重影响
  • 虽然前馈IT(颞下皮质)放电频率刻画了于卷积网络特征很多相同的信息,但是仍不清楚中间计算的相似程度。

反向相关向我们表明,大多数的V1细胞具有由Gabor函数所描述的权重

许多机器学习算法在应用于自然图像时,会学习那些用来检测边缘或边缘的特定颜色的特征。这些特征检测器使人联想到已知存在于初级视觉皮层中的Gabor函数。

卷积网络于深度学习的历史

利用现代硬件,大型全连接的网络在许多任务上也表现得很合理,即使使用过去那些全连接网络被认为不能工作得很好的数据集和当时流行的激活函数时,现在也能执行得很好。心理可能是神经网络成功的主要阻碍(实践者没有期望神经网络有效,所以他们没有认真努力地使用神经网络)。

猜你喜欢

转载自blog.csdn.net/Tifa_Best/article/details/85238191