天天看点

4.卷积神经网络-第一周 卷积神经网络

Core:学习搭建卷积神经网络并将其应用于计算机视觉识别。

1.1 计算机视觉

产生了新的产品和应用。

不只能处理小图,而且能处理大图,为此需要进行卷积运算。

1.2 边缘检测示例

卷积运算是卷积神经网络最基本的组成部分。

4.卷积神经网络-第一周 卷积神经网络

如何在图像中检测这些边缘?

kernel = filter

vertical edge detection

4.卷积神经网络-第一周 卷积神经网络

数学中,*是卷积。但在编程语言中,用函数来表示卷积。如tf.nn.conv2d来实现卷积运算。

由于图片太小,所以检测到的高亮区比较宽。

1.3 更多边缘检测内容

区分正边和负边。即由亮到暗,由暗到亮。也就是边缘的过渡。

4.卷积神经网络-第一周 卷积神经网络

通过反向传播学习这9个w参数,可以得到不只可以检测水平和竖直方向的filter,检测的方向也就更加多元化,较手工设定的filter而言,检测边缘的效果也越好了。

通过使用不同的滤波器,可以找出水平和垂直的边缘。

sobel滤波器的优点:

增加了中间一行元素的权重,使结果的robust更好。

1.4 Padding

不用padding的缺点:

每次做卷积操作,图像会缩小。

落在边缘的像素在输出中采用较少,丢掉图像边缘的许多信息。

4.卷积神经网络-第一周 卷积神经网络

filter往往是奇数的原因:

若filter是偶数,则只能使用一些不对称填充,只有filter是奇数,same卷积才能有自然的填充。

filter是奇数的话,可以有一个中心点,便于指出过滤器的位置。

1.5 卷积步长

如果设置stride为1,前后两次卷积部分存在重叠。如果设置pad=(kernel_size-1)/2,则运算后,宽度和高度不变。

4.卷积神经网络-第一周 卷积神经网络

如果商不是一个整数怎么办?

答:向下取整。

4.卷积神经网络-第一周 卷积神经网络
4.卷积神经网络-第一周 卷积神经网络

互相关(cross-correlation)和卷积(convolution)的技术性建议:

根据教材的不同(数学和信号):

数学教科书中是这样的:

卷积的定义是做元素乘积求和之前,首先要做的是把filter沿水平和垂直轴翻转。然后使用这个翻转后的矩阵。

4.卷积神经网络-第一周 卷积神经网络

从技术上讲,前面视频中所做的操作有时被称为互相关而不是卷积。但在深度学习文献中,按照惯例,叫做卷积操作。

总结一下,按照机器学习的惯例,通常不进行翻转操作。从技术上来说,可能叫互相关更好,但是大部分文献都叫做卷积运算(不需要用这些翻转)。

以上所有的是关于矩阵(二维图像)的卷积。

1.6 卷积中“卷”的体现之处

如何对立体进行卷积?使卷积变得更加强大。在三维立体上做卷积。

4.卷积神经网络-第一周 卷积神经网络

图片和filter的维度相同(3维),但最终的得数不是三维的(4*4),而是二维输出。

4.卷积神经网络-第一周 卷积神经网络

检测垂直边界的过滤器,但只对红色通道有用。

4.卷积神经网络-第一周 卷积神经网络

检测任意颜色通道的边界

4.卷积神经网络-第一周 卷积神经网络

参数不同,可以得到不同的特征检测器。

为检测各种边缘,可同时用多个过滤器,把输出堆叠,可输出立方体。

4.卷积神经网络-第一周 卷积神经网络

深度=通道(chanel)

1.7 单层卷积网络

如何构建卷积神经网络的卷积层?某一卷积层的工作原理。

4.卷积神经网络-第一周 卷积神经网络

神经网络中的一层。

4.卷积神经网络-第一周 卷积神经网络

图中有两个滤波器,就是有两个特征。

参数与输入图像大小无关。280

4.卷积神经网络-第一周 卷积神经网络

偏差:

每个过滤器都有一个偏差参数,它是一个实数。偏差在代码中表示为一个1*1*1*nc[l]的四维向量或四维张量。

4.卷积神经网络-第一周 卷积神经网络

1.8 简单卷积网络示例

注意下图中卷积层的维度。为图片提取的特征在最后出现7*7*40=1960。可平滑或展开成1960个单元,平滑处理后,输出一个向量,后接logistic还是softmax回归单元,视任务而定。

4.卷积神经网络-第一周 卷积神经网络

卷积网络中层的类型。

4.卷积神经网络-第一周 卷积神经网络

1.9 池化层

作用:缩减模型大小,提高计算速度,同时提高所提取特征的鲁棒性。

max pooling

4.卷积神经网络-第一周 卷积神经网络

特点:有一组超级参数,但是并没有参数需要学习。

average pooling:平均池化,不太常用。但也有例外,深度神经网络深度很深时,可以用平均池化来分解规模为7*7*1000的网络的表示层。在整个空间内求平均值,得到1*1*1000.

f=2,s=2,相当于表示层的高度和宽度缩减一半,

4.卷积神经网络-第一周 卷积神经网络

当用max pooling时,很少会用到padding,但也有例外。

用pooling,输入信道与输出信道个数相同,因为对每个信道都做了池化。

4.卷积神经网络-第一周 卷积神经网络

需要注意的是,池化过程中没有要学习的参数。So,执行反向传播时,没有参数适用于池化。池化是一种静态属性,没有什么需要学习的。

1.10 卷积神经网络示例

哈哈,引入了FC层。

卷积层layer:带权重的层

4.卷积神经网络-第一周 卷积神经网络

尽量自己不要设置超参数,而是查看文献中别人采用了哪些超参数。选一个在别人任务中效果很好的架构,可能会适用于自己的程序。

4.卷积神经网络-第一周 卷积神经网络

随着网络的加深,激活值会变小,但是如果激活值下降太快,也会影响网络性能。

参数

4.卷积神经网络-第一周 卷积神经网络

1.11 为什么使用卷积?

和只用全连接层相比,卷积层的两个主要优势是:参数共享和稀疏连接。

4.卷积神经网络-第一周 卷积神经网络

继续阅读