【动手学深度学习】6.2 图像卷积(个人向笔记)

1. 互相关运算

  • 严格来说,卷积层是一个错误的叫法,因为它本质上是互相关运算而不是卷积运算。
  • 我们暂时忽略通道看看二维图像数据和隐藏表示。那么输出大小可以表示为
  • 我们自己实现一个二维互相关运算

2. 卷积层

  • 卷积层中有两个参数:卷积核权重和标量偏置
  • 和之前全连接层一样,在训练基于卷积层的模型时,我们也随机初始化卷积核权重
  • __init__构造函数中,将weightbias声明为两个模型参数,前向传播函数调用corr2d函数并添加偏置

3. 图像中的目标边缘检测

  • 如下是卷积层的一个简单应用:通过找到像素变化的位置,来检测图像中不同颜色的边缘
  • 首先构造一个 6 × 8 6×8 6×8 像素的黑白图像,中间四列为黑色,其余像素为白色
  • 接下来构造一个高度为1,宽度为2的卷积核K。当进行互相关运算时,如果水平相邻的两元素相同,则输出为零,否则输出为非零
  • 现在,我们对参数X(输入)和K(卷积核)执行互相关运算。 如下所示,输出Y中的1代表从白色到黑色的边缘,-1代表从黑色到白色的边缘,其他情况的输出为0

4. 学习卷积核

  • 让我们有更加复杂的需求的时候,那么我们就不可能手动设计滤波器了,那么我们是否可以学习有 X 生成 Y 的卷积核呢?
  • 现在让我们看看是否可以通过仅查看"输入-输出"对来学习由X生成Y的卷积核。 我们先构造一个卷积层,并将其卷积核初始化为随机张量。接下来,在每次迭代中,我们比较Y与卷积层输出的平方误差,然后计算梯度来更新卷积核。为了简单起见,我们在此使用内置的二维卷积层,并忽略偏置
  • 10次迭代后,误差降得已经足够低了,现在再看看我们所学的卷积核的权重张量:可以看到非常接近我们之前定义的卷积核 K

5. 互相关和卷积


6. 特征映射和感受野

  • 下图输出的卷积层有时被称为特征映射,因为它可以被视为一个输入映射到下一层的空间维度的转换器
  • 在卷积神经网络中,对于某一层的任意元素 x,其感受野是指在前向传播期间可能影响 x 计算的所有元素(来自所有先前层)
  • 以下面的输出的第一个元素19为例,其感受野就是输入矩阵的蓝色部分
  • 假设当前的输出为 Y,其大小为 2 × 2 2×2 2×2,我们再在其后面附加一个卷积层,该卷积层以 Y 为输入,输出单个元素 z。那么此时 z 的感受野就是 Y 中的四个元素。而 Y 的感受野就是输入矩阵中的九个元素。
相关推荐
阿阳微客25 分钟前
Steam 搬砖项目深度拆解:从抵触到真香的转型之路
前端·笔记·学习·游戏
WarPigs2 小时前
Unity性能优化笔记
笔记·unity·游戏引擎
px不是xp5 小时前
山东大学算法设计与分析复习笔记
笔记·算法·贪心算法·动态规划·图搜索算法
echo haha5 小时前
第7章 :面向对象
笔记
njsgcs5 小时前
chili3d 笔记16 emscripten配置 |用cnpm i 安装 |hello world 编译
笔记
AgilityBaby6 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby6 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5
deephub8 小时前
提升模型泛化能力:PyTorch的L1、L2、ElasticNet正则化技术深度解析与代码实现
人工智能·pytorch·python·深度学习·机器学习·正则化
Hero_HL8 小时前
Towards Open World Object Detection概述(论文)
人工智能·目标检测·计算机视觉
东皇太星8 小时前
SIFT算法详细原理与应用
图像处理·算法·计算机视觉