吴恩达卷积神经网络学习笔记(一)

一.卷积神经网络(一)

1.1 计算机视觉

图片分类和图片识别,目标检测,图片风格迁移

吴恩达卷积神经网络学习笔记(一)_第1张图片

 特征向量的维度

吴恩达卷积神经网络学习笔记(一)_第2张图片

卷积神经网络一般应用于计算机视觉领域,由于有的时候图片的像素点很多,导致神经网络输入特征值的维数很多。

1.2 边缘检测示例

弄清一张照片中的物体,利用电脑进行去识别,垂直边缘检测,水平边缘检测。

吴恩达卷积神经网络学习笔记(一)_第3张图片

如下图所示,原图是一个661的矩阵,卷积核是一个331的矩阵,经过卷积后得到一个441的矩阵。(为了检测图像中的垂直边缘,可以构造一个3*3的矩阵,在共用习惯中,在卷积神经网络的术语中,它被称为过滤器。在论文中,有时候会被称为核)

吴恩达卷积神经网络学习笔记(一)_第4张图片

 计算过程如下:(各方格一一对应,相乘然后进行相加) 

| 3 | 0 | 1 |… … … …| 1 | 0 | -1 |

| 1 | 5 | 8 |…*… . … .| 1 | 0 | -1 | =3+1+2-1-8-2=-5

| 2 | 7 | 2 |… … … …| 1 | 0 | -1 |

此例子与上面相同(垂直边缘的原理)

吴恩达卷积神经网络学习笔记(一)_第5张图片

卷积运算提供了一个比较方便的算法来发现图像中的垂直边缘。

1.3 更多边缘检测例子

垂直边缘检测不仅可以检测垂直方向的边缘,还可以区分该边是从亮到暗(正边)还是从暗到亮(负边)。 

吴恩达卷积神经网络学习笔记(一)_第6张图片

除了之前卷积核中数字组合外还有很多,在做边缘检测的过程中最好将卷积核中的数字作为参数进行学习,这样得到的神经网络效果最好。 

吴恩达卷积神经网络学习笔记(一)_第7张图片

 滤波器的不同,会有不一样的特性

吴恩达卷积神经网络学习笔记(一)_第8张图片

 通过反向传播,Sobel滤波器和Scharr滤波器以及其他滤波器,对于数据的捕捉能力甚至胜过任何手写的滤波器,可以检测出45度、60度或73度,甚至是任何角度的边缘。

1.4 Padding(在边缘是否填充)

如果有n*n个方格,乘以f*f的滤波器,那么将会得到一个(n-f+1)*(n-f+1)的输出,这样的卷积方式,其存在两个缺陷:

一是当一个6*6的图像经过3*3的卷积核卷积后会变成一个4*4的图像,这使图像经过卷积后变小了;

二是原矩阵边缘处只被运算一次,而中心处会被运算多次,导致边缘处大部分信息被丢失了。

吴恩达卷积神经网络学习笔记(一)_第9张图片

不过可以在输出边缘都填充一圈像素点。

下图是两种卷积方式:

Valid卷积是令padding为0,意味着不填充

Same卷积是通过添加padding使卷积前和卷积后图像的大小相同(p=(f-1)/2)。

引入padding后维数的公式为n+2p-f+1。

吴恩达卷积神经网络学习笔记(一)_第10张图片

推荐使用奇数的过滤器,其中n为n*n的图像,p为填充的像素点(可以自定义),f为过滤器(f*f的过滤器),由此出现一个(n+2p-f+1)*(n+2p-f+1)的输出。

1.5 卷积步长stride(filer每次移动的长度)

当步长为2时,每进行一次运算后都要向左或者下移动两个像素点,如下图。 

吴恩达卷积神经网络学习笔记(一)_第11张图片

 有步长的情况下维数的计算公式:

n×n * f×f =(n+2p-f)/s+1 × (n+2p-f)/s+1

吴恩达卷积神经网络学习笔记(一)_第12张图片

镜像操作(mirroring operation):

| 3 | 0 | 1 |                     | 2 | 8 | 1 |

| 1 | 5 | 8 | ========> | 7 | 5 | 0 |

| 2 | 7 | 2 |                     | 2 | 1 | 3 |

沿着对角线进行对称交换数值。

吴恩达卷积神经网络学习笔记(一)_第13张图片

 一般不进行此类操作

在B站看了吴恩达深度学习课程第四课——卷积神经网络的视频,想做个笔记,让这个寒假过得充实一点,嘻嘻,有感兴趣的同学一起来玩呀!

B站视频来源:【中英字幕】吴恩达深度学习课程第四课 — 卷积神经网络_哔哩哔哩_bilibili

你可能感兴趣的:(深度学习,cnn,计算机视觉)