cs231n(5) CNN--翻译

CNN

卷积神经网络与先前章节的原始神经网络非常相似:他们有具有权重和偏置值学习能力的神经元组成。每个神经元都接收输入数据,点乘运算然后进行非线性激活函数运算。整个神经网络是一个单一的可导的评分函数:输入原始图像像素,输出类别评分。在神经网络的最后一层有损失函数,我们在有规律的神经网络中发现的所有技巧仍然适用。

那有什么改变呢?CNN架构假设输入是图像,这允许我们在架构中加入特定的属性。这些特性使前向函数的实施更有效,减少了网络中参数的数量。

architecture 概括

就像我们在先前章节中了解到的,神经网络接收输入数据并把它转化为一系列隐含层。每一个隐含层由一系列的神经元组成,每一个神经元与前一层的所有神经元全连接,但是在每一层中神经元相互独立。最后一个全连接层叫做输出层,在分类项目中它呈现为各个类别的分数。

常规的NN在大图像中的效果不是很好。在CIFAR-10中,图像仅仅是32*32*3的尺寸,因此在常规神经网络的第一层隐含层中的一个全连接神经元有32*3*3=3072个权重,这个数值看起来是可以控制的,但是全连接结构不能处理更大的图片了。例如,一张200*200*3的期望图像将导致神经元有120000个权重。更糟糕的是,我们会有很多这样的神经元,因此参数将飞速增加。全连接效率低下,大量参数时也会出现过拟合现象。

神经元的三维排列。CNN在输入都是图像时很有优势,它们以一种合理的方法限制结构。与传统神经网络不同,卷积层的神经元以三维形式排列:width,height,depth.例如,cifar-10的输入图片是32*32*3维度。我们将看到,一层中的神经元仅仅与前一层中的一小部分连接,而不是以全连接的形式链接所有神经元,对于cifar-10来说输出层的维度是1*1*10,因为在CNN结构的最后,我们将把整个图像缩减为表示类别分数的单一向量,向量是在深度方向排列的。

CNN的层:

就像上面描述的那样,简单的CNN由一系列的层按照一定的顺序组成,CNN中的每一层通过使用可微函数将激活数据从一层传递到另一层。CNN结构由三个主要的层组成:卷积层,池化层和全连接层,我们堆叠这些层来组成CNN结构。

example:下面我们将进入更详细的讨论,cifar-10分类器由【INPUT - CONV - RELU - POOL - FC】结构。:

input:(32*32*3)图像的原始像素值,在这个例子中图像的宽度是32,高度是32,和三层颜色通道RGB。

卷积层:卷积层计算神经元的输出,这些神经元被链接到输入层的局部区域。在权值与被连接的输入层区域中进行点乘运算。如果我们使用12个滤波器(也叫作核),得到的输出数据体的维度就是[32x32x12]。

RELU层:对逐个元素进行激活函数操作。例如以0作为门限的max(0,x),本层不改变维度。

POOL层:沿着空间维度进行降采样操作,数据尺寸变为16*16*12.

FC:计算类别评分,数据维度为1*1*10,其中10个数字对应的就是CIFAR-10中10个类别的分类评分值。正如其名,全连接层与传统神经网络一样,每个神经元与前一层中的所有数字连接。

由此看来,卷积神经网络一层一层地将图像从原始像素值变换成最终的分类评分值。其中有的层含有参数,有的没有。具体说来,卷积层和全连接层(CONV/FC)对输入执行变换操作的时候,不仅会用到激活函数,还会用到很多参数(神经元的突触权值和偏差)。而ReLU层和汇聚层则是进行一个固定不变的函数操作。卷积层和全连接层中的参数会随着梯度下降被训练,这样卷积神经网络计算出的分类评分就能和训练集中的每个图像的标签吻合了。

小结:

A ConvNet architecture is a list of Layers that transform the image volume into an output volume

There are a few distinct types of Layers (e.g. CONV/FC/RELU/POOL are by far the most popular)

Each Layer accepts an input 3D volume and transforms it to an output 3D volume through a differentiable function

Each Layer may or may not have parameters (e.g. CONV/FC do, RELU/POOL don’t)

Each Layer may or may not have additional hyperparameters (e.g. CONV/FC/POOL do, RELU doesn’t)

CONV layer:the core of the CNN

conv layer's parameters consist of a set of filters.常见的过滤器(5*5*3),我们在输入数据的宽高上滑动filter,对filter kenerl与输入数据进行点乘运算,这样我们将产生一个空间上的二维激活映射。激活图给出了在每个空间位置处滤波器的反应。直观地来说,网络会让滤波器学习到当它看到某些类型的视觉特征时就激活,具体的视觉特征可能是某些方位上的边界,或者在第一层上某些颜色的斑点,甚至可以是网络更高层上的蜂巢状或者车轮状图案。

我们在深度上堆叠激活图,形成输出数据。

local connectivity:we only connect each neuron to only a local region of the input volume.the spatial extent of this connectivity is a hyperparameter called the receptive field.

感受野:在卷积神经网络CNN中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野receptive field。我们看这段定义非常简单,用数学的语言就是感受野是CNN中的某一层输出结果的一个元素对应输入层的一个映射。再通俗点的解释是,feature map上的一个点对应输入图上的区域。注意这里是输入图,不是原始图。好多博客写的都是原图上的区域,经过一番的资料查找,发现并不是原图。

猜你喜欢

转载自blog.csdn.net/dinry/article/details/81514642
今日推荐