深度学习笔记(24) 卷积层


1. 卷积层向前传播

一个典型的卷积神经网络的卷积层,而通常有三层:

  • 卷积层 Conv
  • 池化层 POOL
  • 全连接层 FC

首先介绍的是卷积层Conv,从Conv的向前传播开始

在这里插入图片描述
前向传播中一个操作就是 z[1] = W[1]a[0]+b[1],其中 a[0]=x
执行非线性函数得到 a[1] ,即 a[1] =g(z[1])
这里的输入是a[0] ,也就是x,这些过滤器用变量 W[1] 表示

在卷积过程中,对这27个数(3 * 3 * 3)进行操作
其实是27×2,因为用了两个过滤器,取这些数做乘法

实际执行了一个线性函数,输出结果是一个4×4的矩阵
它的作用类似于W[1] a[0],也就是两个4×4矩阵加上偏差

a[0] 到a[1] 的演变过程:
首先执行线性函数,然后所有元素相乘做卷积
运用线性函数再加上偏差,应用激活函数ReLU
这样就通过神经网络的一层把一个6×6×3的维度a[0] 演化为一个4×4×2维度的a[1]
这就是卷积神经网络的一层

示例中有两个过滤器,也就是有两个特征
因此最终得到一个4×4×2的输出
但如果用了10个过滤器
最后会得到一个4×4×10维度的输出图像
因为选取了其中10个特征映射,也就是a[1]

现在有10个过滤器,每一层都是一个3×3×3的矩阵
因此每个过滤器有27个参数,然后加上一个偏差,用参数b表示
现在参数增加到28个,现在有10个,加在一起是28×10,也就是280个参数

不论输入图片有多大,1000×1000也好,5000×5000也好
参数保持不变,始终都是280个
即使这些图片很大,参数却很少
这就是卷积神经网络的一个特征,称为 “避免过拟合


2. 卷积层符号

在这里插入图片描述
这一层是卷积层

在这里插入图片描述


3. 简单的卷积网络

假设有一张图片,想做图片分类或图片识别,把这张图片输入定义为x
然后辨别图片中有没有猫,用0或1表示,这是一个分类问题

在这里插入图片描述
用了一张比较小的图片,大小是 39×39×3,即 nH[0] = nW[0] = 39
而 nc[0] = 3,即 0层的通道数为3

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

如果有 nc[1]=10,10个过滤器
则 (n+2p-f)/s+1=(39+0-3)/1+1=37
神经网络下一层的激活值为 37×37×10,即 nH[1] = nW[1] = 37
而nc[1] = 10

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

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

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


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(23) 卷积维度
深度学习笔记(22) Padding
深度学习笔记(21) 边缘检测
深度学习笔记(20) 端到端学习
深度学习笔记(19) 多任务学习


谢谢!

氢键H-H CSDN认证博客专家 机器人软件 运动控制 深度学习
一位永远相信美好的事情即将发生,从事自动化机器人软件开发,不忘初心,牢记使命,为实现中华民族伟大复兴而奋斗的社会主义接班人。
©️2020 CSDN 皮肤主题: 我行我“速” 设计师:Amelia_0503 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值