zoukankan      html  css  js  c++  java
  • Tensorflow2.0笔记30——卷积神经网络

    Tensorflow2.0笔记

    本博客为Tensorflow2.0学习笔记,感谢北京大学微电子学院曹建老师

    2.卷积神经网络

    2.1卷积的概念

    ​ 1.卷积的概念:卷积可以认为是一种有效提取图像特征的方法。一般会用一个正方形的卷积核,按指定步长,在输入特征图上滑动,遍历输入特征图中的每个像素点。每一个步长, 卷积核会与输入特征图出现重合区域,重合区域对应元素相乘、求和再加上偏置项得到输出特征的一个像素点,如图 5-4 所示,利用大小为 3×3×1 的卷积核对 5×5×1 的单通道图像做卷积计算得到相应结果。

    image-20210624081853714

    2.2 彩色图像

    ​ 2.对于彩色图像(多通道)来说,卷积核通道数与输入特征一致,套接后在对应位置上进行乘加和操作,如图5- 5所示,利用三通道卷积核对三通道的彩色特征图做卷积计算。

    image-20210624081910409

    2.3多个卷积核情况

    ​ 3.用多个卷积核可实现对同一层输入特征的多次特征提取,卷积核的个数决定输出层的通道(channels)数, 即输出特征图的深度

    2.4感受野

    ​ 4.感受野 (Receptive Field)的概念 :卷积神经网络各输出层每个像素点在原始图像上的映射区域大小,如图5- 7所示。

    image-20210624081932609

    ​ 当我们采用尺寸不同的卷积核时,最大的区别就是感受野的大小不同,所以经常会采用多层小卷积核来替换一层大卷积核,在保持感受野相同的情况下减少参数量和计算量,例如十分常见的用2层3 * 3卷积核来替换1层5 * 5卷积核的方法,如图5- 7所示。

    image-20210624081949578

    ​ 这里给出详细推导:不妨设输入特征图的宽、高均为 x,卷积计算的步长为 1,显然, 两个 3 * 3 卷积核的参数量为 9 + 9 = 18,小于 5 * 5 卷积核的 25,前者的参数量更少。

    ​ 在计算量上,根据图 5-8 所示的输出特征尺寸计算公式,对于 5 * 5 卷积核来说,输出特征图共有(x – 5 + 1)^2 个像素点,每个像素点需要进行 5 * 5 = 25 次乘加运算,则总计算量为 25 * (x – 5 + 1)^2 = 25x^2 – 200x + 400;

    ​ 对于两个 3 * 3 卷积核来说,第一个 3 * 3 卷积核输出特征图共有(x – 3 + 1)^2 个像素点,每个像素点需要进行 3 * 3 = 9 次乘加运算,第二个 3 * 3 卷积核输出特征图共有(x – 3 + 1 – 3+ 1)^2 个像素点,每个像素点同样需要进行 9 次乘加运算,则总计算量为 9 * (x – 3 + 1)^2 + 9 * (x – 3 + 1 – 3 + 1)^2 = 18 x^2 – 108x + 180;

    ​ 对二者的总计算量(乘加运算的次数)进行对比,18 x^2 – 200x + 400 < 25x^2 – 200x + 400,经过简单数学运算可得 x < 22/7 or x > 10,x 作为特征图的边长,在大多数情况下显然会是一个大于 10 的值(非常简单的 MNIST 数据集的尺寸也达到了 28 * 28),所以两层 3 * 3 卷积核的参数量和计算量,在通常情况下都优于一层 5 * 5 卷积核,尤其是当特征图尺寸比较大的情况下,两层 3 * 3 卷积核在计算量上的优势会更加明显。

  • 相关阅读:
    Oracle 11g+Windows10 x64安装、配置过程记录
    json工具类
    restTemplate工具类
    VirtualBox中安装CentOS 7后无法上网问题
    VirtualBox中安装CentOS 7
    idea安装完成后要做的几件事(设置字体、编码、行号)
    MiniUI学习笔记1-新手必读
    BUU-[GKCTF2020]WannaReverse
    BUU-Dragon Quest
    BUU-EzObfus-Chapter2
  • 原文地址:https://www.cnblogs.com/wind-and-sky/p/14925290.html
Copyright © 2011-2022 走看看