4-1 卷积神经网络

吴恩达《神经网络和深度学习》课程笔记


1. 计算机视觉应用的问题

  1. 图像分类
    例如,给定一张图片,判断图片上是不是猫。

  2. 目标识别
    例如,自动驾驶时要分辨出图像中的车辆、行人、道路等等。

  3. 图像分割迁移

2. Padding

如果不 padding 会存在的问题?

  1. 输出的图像比原图像小。
  2. 边缘信息丢失。因为在边缘的刑诉只能参与很少次数的卷积运算,而中间的像素可以参与叫多次数的卷积运算。

3. 卷积

卷积:先把 kernel 做水平和垂直的翻转。
互相关:不翻转。

我们平时做的操作更准确应该称为互相关,但是机器学习中通常也把它直接成为卷积。

二维卷积:

image:n × n
filter:f × f
padding:p
stride(步长):s

得到的输出图像:(n+2p-f)/s+1 × (n+2p-f)/s+1
(向下取整)

三维卷积:图像有多通道的情况

image:n × n × nc
filter:f × f × nc

得到的输出图像:(n-f+1) × (n-f+1) × nc'

其中,nc' 为滤波器的个数,例如一个检测水平边缘的滤波器,一个检测垂直边缘的滤波器。而且,在做三维卷积时(例如滤波器为 3 × 3 × 3 的),是把27个乘积相加,而不是一个通道一个通道的做。

4. 一层CNN的操作过程

4-1 卷积神经网络_第1张图片

输入图像就相当于一般神经网络中的 X,卷积核相当于 W,卷积操作相当于W[l]A[l-1]。在做完卷积后同样要加上偏移 b 以及激活函数。最后将得到的图像作为不同的通道,拼在一起。

4-1 卷积神经网络_第2张图片

5. 池化层和全连接层

池化层有最大支池化和均值池化,有点像图像的最大值滤波和均值滤波,但是步长可以设定为大于1的值。

最大值池化用到的时候较多。池化层没有参数。

全连接层就相当于一般神经网络中的一层。

一般来说,构建一个神经网络的套路是这样的:
Conv——Pool——Conv——Pool——Fc——Fc——Fc——softmax

其中,卷积层参数较少,池化层没有参数,全连接层参数很多。
(老师计算卷积层参数的时候是用卷积核大小(f*f)加偏移参数的个数(+1)再乘以滤波器个数,而没有乘以输入图像的通道数。不知道是不是写错了,等看看后面的应用再说吧)

6. 为什么使用卷积

参数共享
滤波器的提取到的图片特征,对图片的一部分试用的同时,也有对图片的其他部分适用。

连接的稀疏性
每个输出值只与其邻域内的输入值有关。


Coursera的助学金还没有申请下来,好想做作业啊~~~

4-1 卷积神经网络_第3张图片

你可能感兴趣的:(4-1 卷积神经网络)