一. 卷积层前向传播

·典型的卷积神经网络的卷积层

常有三层:卷积层(Conv)+池化层(POOL)+全连接层(FC)。

·卷积层

卷积层
前向传播的一个操作:z[1]=w[1]a[0]+b[1]z^{[1]}=w^{[1]}a^{[0]}+b^{[1]}, a[1]=g(z[1])a^{[1]}=g(z^{[1]})
w[1]w^{[1]}:过滤器(图中3333*3*3的卷积核,有两个)。
a[0]a^{[0]}a[1]a^{[1]}的变化过程:

  1. 执行线性函数:每次对27(3333*3*3)个数操作(相乘再卷积)得到一个数。
  2. 加偏差。
  3. **函数:Relu。
    输入6636*6*3
    输出4424*4*2(选了原始图像的两个特征映射)。

卷积神经网络一个特征:避免过拟合。(原因:参数少。(333+1)2(3*3*3+1)*2

·卷积核
  1. 维度:二维卷积核针对二维输入,三维卷积核则针对三维输入(高,宽,通道数),一般卷积核的通道数与输入数据的通道数是一样的,所以维度上的变化在于卷积核的个数。
  2. 参数:三维卷积核 一般设置4个参数,(高,宽,输入通道数,卷积核个数),其中卷积核个数也就是输出时的第三维,即:输出通道数。
  3. 维度变化:输入三维数据(高, 宽, 通道数c),卷积核(尺寸x * y * c,步长)。其中卷积核尺寸和步长会改变输入的高和宽的维度;而卷积核的个数带来的是第三维的变化。输入数据的通道数,只会影响卷积核的通道数,而输出的第三维只与卷积核个数有关。

二. 卷积层符号

卷积层
ll是卷积层,则:
卷积层

三. 简单的卷积网络

假设有一张图片,想做图片分类或图片识别,把这张图片输入定义为x
然后辨别图片中有没有猫,用0或1表示,这是一个分类问题
卷积层
用了一张比较小的图片,大小是39×39×339×39×3,即nH[0]=nW[0]=39n_H[0] = n_W[0] = 39
nc[0]=3n_c[0] = 3,即 0层的通道数为3

假设第一层用一个3×33×3的过滤器来提取特征
那么f[1]=3f^{[1]}=3,因为过滤器时3×33×3的矩阵,s[1]=1s^{[1]}=1p[1]=0p^{[1]}=0
所以高度和宽度使用 valid 卷积

如果有nc[1]=10n_c[1]=10,10个过滤器
(n+2pf)/s+1=(39+03)/1+1=37(n+2p-f)/s+1=(39+0-3)/1+1=37
神经网络下一层的**值为 37×37×1037×37×10,即 nH[1]=nW[1]=37n_H[1] = n_W[1] = 37
nc[1]=10n_c[1] = 10

假设设还有另外一个卷积层,这次采用的过滤器是5×55×5的矩阵
神经网络下一层的 f=5f = 5,即f[2]=5f^{[2]} = 5
步幅为2,即 s[2]=2s^{[2]}= 2
padding为0,即 p[2]=0p^{[2]}= 0
且有20个过滤器
所以其输出结果会是一张新图像,这次的输出结果为 17×17×2017×17×20
即**值 a[2]a^{[2]} 的维度
因此 nH[2]=nW[2]=17nc[2]=20n_H[2] = n_W[2] = 17,n_c[2] = 20

构建最后一个卷积层,假设过滤器还是5×55×5,步幅为2
f[3]=5s[3]=2f^{[3]} = 5,s^{[3]} = 2
使用了40个过滤器,padding为0,最后结果为7×7×407×7×40
到此,这张39×39×339×39×3的输入图像就处理完毕了
为图片提取了7×7×407×7×40个特征,即1960个特征
这样简单的卷积神经网络的卷积层就完成了

然后对该卷积进行全连接处理
可以将其平滑或展开成1960个单元,输出一个向量
其填充内容是logistic回归单元还是softmax回归单元
完全取决于是想识图片上有没有猫,还是想识别K种不同对象中的一种
y^\hat{y}表示最终神经网络的预测输出

参考:
深度学习笔记(24) 卷积层
百度端到端说话人识别系统 Deep Speaker 详细介绍

相关文章:

  • 2021-05-08
  • 2021-10-17
  • 2021-08-11
  • 2021-11-20
  • 2021-09-18
  • 2021-12-19
  • 2021-06-26
  • 2021-11-25
猜你喜欢
  • 2022-01-02
  • 2021-10-24
相关资源
相似解决方案