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

  • 1. 卷积层向前传播
  • 2. 卷积层符号
  • 3. 简单的卷积网络

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的过滤器来提取特征
那么fff [1]=3,因为过滤器时3×3的矩阵,sss [1]=1,ppp [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的矩阵
神经网络下一层的 fff = 5,即 fff [2] = 5
步幅为2,即 sss [2] = 2
padding为0,即 ppp [2] = 0
且有20个过滤器
所以其输出结果会是一张新图像,这次的输出结果为 17×17×20
即激活值 a[2] 的维度
因此 nH[2] = nW[2] = 17,nc[2] = 20

构建最后一个卷积层,假设过滤器还是5×5,步幅为2
即 fff [2] = 5,sss [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) 多任务学习


谢谢!

深度学习笔记(24) 卷积层相关推荐

  1. 深度学习笔记:卷积神经网络的可视化--卷积核本征模式

    目录 1. 前言 2. 代码实验 2.1 加载模型 2.2 构造返回中间层激活输出的模型 2.3 目标函数 2.4 通过随机梯度上升最大化损失 2.5 生成滤波器模式可视化图像 2.6 将多维数组变换 ...

  2. 深度学习笔记:卷积神经网络的Tensorflow实现

    文章出处:深度学习笔记11:利用numpy搭建一个卷积神经网络 免费视频课程:Hellobi Live | 从数据分析师到机器学习(深度学习)工程师的进阶之路 在上一讲中,我们学习了如何利用 nump ...

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

    文章目录 Week 1 卷积神经网络基础 4.1.1 计算机视觉(Computer vision) 4.1.2 边缘检测示例(Edge detection example) 4.1.3 更多边缘检测内 ...

  4. 深度学习笔记:卷积神经网络的可视化--特征图

    目录 1. 前言 2. 模型的训练 3. 特征图可视化 3.1 加载保存的模型¶ 3.2 图像预处理:将图像转换为张量 3.3 例化一个模型用于返回各层激活输出(即feature map) 3.5 各 ...

  5. 深度学习笔记----三维卷积及其应用(3DCNN,PointNet,3D U-Net)

    目录 1.什么是三维卷积 1.1 三维卷积简介 1.2 三维卷积的工作原理 2,三维卷积核多通道卷积的区别 2.1 多通道卷积 2.2 三维卷积和多通道卷积之间的区别 2.3 总结 3,三维卷积的应用 ...

  6. 深度学习笔记 6 卷积神经网络

    目录 1.概念 2. 结构及每层详解 3. CNN特征 4. 卷积神经网络的流程 5.可变形卷积(DCN) 6.一些小问题 1. 1x1卷积作用 2. 卷积层和池化层有什么区别? 3.怎样才能减少卷积 ...

  7. 深度学习笔记 5 卷积、池化

    目录 1. 卷积 1.1 卷积的目的 1.2 卷积的基本属性 1.3 卷积的特点 2. 卷积分类与计算 2.1 标准卷积 2.2 反卷积(转置卷积) ​2.3 空洞卷积 2.4 深度可分离卷积 2.5 ...

  8. MXNet动手学深度学习笔记:卷积计算

    为什么80%的码农都做不了架构师?>>>    #coding:utf-8 ''' 卷积计算 ''' import mxnet as mx from mxnet.gluon impo ...

  9. 深度学习笔记(一):卷积层+池化层+激活函数+全连接层

    写在前面:大家好!我是[AI 菌],一枚爱弹吉他的程序员.我热爱AI.热爱分享.热爱开源! 这博客是我对学习的一点总结与记录.如果您也对 深度学习.机器视觉.算法.Python.C++ 感兴趣,可以关 ...

最新文章

  1. 查看android数据库sqlite3中的表及数据、直接编辑数据库
  2. 【Python】处理 TypeError: ‘FirefoxWebElement‘ object is not iterable
  3. windows游戏编程_2020年适合程序员编程的笔记本电脑推荐
  4. SQL Server向表中插入数据
  5. Oracle DataGuard数据备份方案详解
  6. 阿里巴巴宣布成立半导体公司,要自主研发芯片
  7. 虚拟机中Ubuntu IP地址漂移问题解决(为Ubuntu配置固定IP地址)
  8. 嘉兴 机器人仓库 菜鸟_“199”机器人火了,天猫双11,有1亿人次“云监工”物流发货...
  9. 3732 Ahui Writes Word
  10. 分享各类AI资源,算法干货,我们是认真的!(附最全AI资源分享)
  11. OSPF综合实验(有点难哦!)
  12. 证券行业信息技术规范
  13. Qt实现带验证码的输入框
  14. Linux:网络测试工具之 iperf3
  15. Adobe CS3教程安装问题
  16. border边框属性的介绍
  17. win10共享文件夹的创建、访问凭据一直提示“用户名或密码错误”的解决办法
  18. Linux 简单的聊天室
  19. AutoSAR入门到精通讲解 (AuroSAR-CP描述) 1.1 AutoSAR-CP简介
  20. 单芯片无线供电IC 无线充电芯片 无线输电芯片FS68001

热门文章

  1. Flash+XML 加载图片
  2. 新浪微博开放平台深度历险
  3. 【Vegas原创】MagicAjax使用总结
  4. ORA-02292:integrity constraint(xx) violated - child record found 外键关联,无法删除记录
  5. 《JSON笔记之三》---postman中传入json串
  6. C语言二叉树字符统计,C语言实现二叉树-利用二叉树统计单词数目
  7. Area of Circles II(数论)
  8. OpenStack pike版 安装openstack服务(4) 续安装openstack服务(3)
  9. 【SAP HANA】关于SAP HANA中带层次结构的Analytic View创建、激活状况下在系统中生成对象的研究...
  10. #pragma once 和 #ifndef ... #define ... #endif 的区别