吴恩达深度学习网课 通俗版笔记——(04.卷积神经网络)第一周 卷积神经网络
卷积神经网络1.1 计算机视觉计算机视觉是深度学习中的一个分支领域,主要是对图片进行处理。在对图片进行处理时,输入的特征往往都是像素值,如果图片很大则会造成参数非常多,那么学习起来相当复杂而且容易过拟合,因此引出卷积运算。1.2 边缘检测示例该节讲了如果进行卷积运算,以及垂直边缘检测的概念。图片像素矩阵和一个方阵(称为过滤器)进行卷积运算,实际上就是将方阵在大矩阵上不断移动,对应元素...
卷积神经网络
1.1 计算机视觉
计算机视觉是深度学习中的一个分支领域,主要是对图片进行处理。在对图片进行处理时,输入的特征往往都是像素值,如果图片很大则会造成参数非常多,那么学习起来相当复杂而且容易过拟合,因此引出卷积运算。
1.2 边缘检测示例
该节讲了如果进行卷积运算,以及垂直边缘检测的概念。
垂直边缘通俗地说就是一张图片里,垂直方向的一些线条、轮廓等等。
图片像素矩阵和一个方阵(称为过滤器)进行卷积运算,实际上就是将方阵在大矩阵上不断移动,对应元素相乘后再累和得到最终结果对应元素值。矩阵化为颜色值后中间的分割区就为垂直边缘。
该节知道卷积运算如何算的就行了。
1.3 更多边缘检测内容
边缘检测中有正边和负边的概念,正边就是由亮到暗,负边就是由暗到亮
有垂直边缘(左亮右暗),就有水平边缘(上亮下暗)。
过滤器还有其他类型,例如sobel过滤器加大了中间参数的权重,其鲁棒性更好。
过滤器的元素值可以被当成参数通过反向传播学习得到。
1.4 Padding
之前谈到的卷积运算有两个明显缺点:一是会将图片缩小;二是对于图片边缘利用不够。
Padding就是在原始图片边缘再加一个边缘,保证图片不会缩小以及边缘利用足够。
两种卷积方式:
- Valid卷积——普通的卷积运算
- Same卷积——加边缘的卷积运算
f是过滤器维度,p是边缘层数,当p=(f-1)/2时,可以保证图片不缩小,因此通常过滤器维度都选择奇数。
1.5 卷积步长
卷积步长就是在卷积运算时,过滤器移动多少格。
给定原始矩阵和过滤器矩阵维度n和f,padding大小p,卷积步长stride大小s,则目标矩阵的维数如图中公式所示,下取整。
卷积运算在数学上也叫做互相关运算,在执行元素乘之前先进行一个翻转操作,我们实际使用中不需要。
1.6 卷积为何有效
这节标题应该是立方体卷积。
立方体卷积和二维图像其实是一样的,过滤器也使用三维的,依然是按照设定步长在原图的立方体矩阵中不断移动,对应元素相乘并累和。最后一个维度通常称为通道。(常见的是RGB图像,可以单独检测某一通道也可以同时检测,主要看过滤器怎么设置)
如果要检测多个特征就使用多个过滤器,把各个输出结果堆叠起来,输出结果的维度等于过滤器个数
1.7 单层卷积网络
一次卷积相当于正向传播的一次计算:
- 原始图片——输入特征a
- 过滤器——参数W
- 输出结果——W*a
最后对输出结果再加上偏差,并用激活函数激活,实现把大图片卷积为小图片。
卷积计算中的一些符号表示如下:
1.8 简单卷积网络示例
该节给出卷积层的工作过程示例,首先给定输入的图片特征,确定高度n_h、宽度n_w、通道数n_c,以及过滤器大小f、步长s、padding大小p、过滤器个数 ,通过计算公式可得知输出结果的维度。
依此过程进行下一层的传递。
卷积神经网络通常由3个层组成:卷积层、池化层、全连接层
1.9 池化层
池化层的工作方式有两种:最大池化,平均池化。
最大池化就是选定超级参数f和s后(通常取f=2,s=2),用小过滤器矩阵在原矩阵中移动,取每块的最大值填入输出矩阵。
平均池化同上,只是计算的时候求每一块的平均值。
池化层没有参数需要学习,其过程是一个静态属性,手动设置好超参数f和s即可。
1.10 卷积神经网络示例
该节给出了一个综合的卷积神经网络例子,给出了整体架构。
由于池化层没有参数需要学习,通常取一个卷积层和一个池化层作为神经网络的一层,其中的各项超级参数一般根据文献中性能较好的组合选取。
最后将池化层输出特征展开,进入全连接层(类似反向传播中的隐藏层计算过程),最后再输出最终结果。
下面是一个整体过程的参数列表。(208怎么算的?过滤器5x5共25个参数,加上偏置共26个参数,一共8个过滤器,因此一共208个参数)
1.11 为什么使用卷积?
卷积层具有两个优点:参数共享、稀疏连接。
- 参数共享:一个特征检测器可以用于图片的各个部分,即用一个过滤器在图片上移动获取特征
- 稀疏连接:输出结果的每一个值都取决于输入的一小部分数值,不受图片其他像素值影响
整合到一起,卷积之后过程类似反向传播算法。
更多推荐
所有评论(0)