吴恩达深度学习笔记-卷积神经网络

04.卷积神经网络

 

第一周 卷积神经网络

1.1 计算机视觉

 

 

1.2 边缘检测示例

垂直边缘检测vertical

 

 

 

 

1.3 更多边缘检测内容

边缘过渡

 

水平边缘检测horizontal

 

 

 

 

 

1.4 padding

问题:

  • 卷积后图片缩小;
  • 边缘信息丢失

过滤器(卷积核)一般都为奇数(原因:1、可以对称填充;2、有中心点)

输出行=n+2*p-f+1

Valid卷积:不填充;

Same卷积:填充

要使输出行与输入行相等,即n+2*p-f+1=n

那么填充行p=(f-1)/2

 

 

1.5 卷积步长

输出卷积大小:

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

若不能整除,就向下取整 floor(z)

数学中定义卷积是需要对卷积核进行翻转的。

卷积运算:按照机器学习操作,通常不进行翻转操作,直接对应元素相乘,实际上这个操作叫互相关更好。

 

 

 

1.6 卷积为何有效

卷积核与输入的通道数一致

一个过滤器(卷积核)可以检测到1中特征

通道数:又叫做三位立方体的深度,表示第三个维度的大小。

需要多个过滤器怎么办?

可以用输入与不同的k个卷积核分别相乘,得到k个通道的输出。输出的通道数就等于你检测的特征数。

 

 

 

 

1.7 单层卷积网络

避免过拟合:无论图像多大,参数数量可以是一样多的

 

 

 

1.8 简单卷积网络示例

 

 

1.9 池化层

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

最大化操作的功能:只要任何一个象限内提取到某个特征,都会保留在最大池化的输出里。

最大池化:在过滤器提取特征,保留其最大值。

池化,信道数量相同。即:如果输入是三维立体的,那么输出也是三维立体的。每个信道都单独执行池化计算。

平均池化

最大池化比平均池化更长用。(也有例外:深度很深的神经网络)

一般只用:f(过滤器大小)、s(步幅)(常用f=2、s=2,相当于高度宽度都缩减一半)(也有:f=3、s=2)

一般很少用padding

池化过程中没有需要学习的参数

执行反向传播时,反向传播没有参数适用于最大池化。

池化只是计算神经网络某一层的静态属性。

 

 

 

 

1.10 卷积神经网络的示例

计算神经网络有多少层的时候,只统计具有权重和参数的层。

尽量不要自己设置超级参数,而是要查看文献看看别人才用了哪些超级参数。

选一个在别人任务中效果很好的架构。

随着神经网络深度的加深,高度、宽度通常都会减少,信道数量会增加(过滤器越来越多)。

通常,一个或者多个卷积后面跟一个池化层,然后是几个全连接层(类似单层的神经网络wx+b),最后是是softmax。

神经网络激活值:

如果激活值下降太快,会影响网络性能。

卷积层的参数越来越多,绝大部分参数都在全连接层。

  • 卷积层的参数个数=卷积核(过滤器)nf*nf*nc的个数;
  • 池化层没有参数;
  • 全连接层参数个数=上层激活值大小*本层激活值大小(即:上层输出数*本层输出数)
  • softmax参数个数=上层激活值大小*所求最终结果个数

 

 

 

 

 

你可能感兴趣的:(Python,机器学习)