卷积神经网络笔记
一、二维卷积层(用于处理图像数据)
1.二维互相关(cross-correlation)运算的输入是一个二维输入数组和一个二维核(kernel)数组,输出也是一个二维数组,其中核数组通常称为卷积核或过滤器(filter)。卷积核的尺寸通常小于输入数组,卷积核在输入数组上滑动,在每个位置上,卷积核与 该位置处的输入子数组按元素相乘并求和,得到输出数组中相应位置的元素。
2.二维卷积层
二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏置来得到输出。卷积层的模型参数包括卷积核和标量偏置。
3.互相关运算与卷积运算
卷积层得名于卷积运算,但卷积层中用到的并非卷积运算而是互相关运算。我们将核数组上下翻转、左右翻转,再与输入数组做互相关运算,这一过程就是卷积运算。由于卷积层的核数组是可学习的,所以使用互相关运算与使用卷积运算并无本质区别。
4.特征图与感受野
二维卷积层输出的二维数组可以看作是输入在空间维度(宽和高)上某一级的表征,也叫特征图(feature map)。影响元素 x 的前向计算的所有可能输入区域(可能大于输入的实际尺寸)叫做 x 的感受野(receptive field)。可以通过更深的卷积神经网络使特征图中单个元素的感受野变得更加广阔,从而捕捉输入上更大尺寸的特征。
5.填充和步幅,它们可以对给定形状的输入和卷积核改变输出形状。填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素)。如果原输入的高和宽是 nh 和 nw ,卷积核的高和宽是 kh 和 kw ,在高的两侧一共填充 ph 行,在宽的两侧一共填充 pw 列,则输出形状为:
(nh+ph−kh+1)×(nw+pw−kw+1)
我们在卷积神经网络中使用奇数高宽的核,比如 3×3 , 5×5 的卷积核,对于高度(或宽度)为大小为 2k+1 的核,令步幅为1,在高(或宽)两侧选择大小为 k 的填充,便可保持输入与输出尺寸相同。
在互相关运算中,卷积核在输入数组上滑动,每次滑动的行数与列数即是步幅(stride)。一般来说,当高上步幅为 sh ,宽上步幅为 sw 时,输出形状为:
⌊(nh+ph−kh+sh)/sh⌋×⌊(nw+pw−kw+sw)/sw⌋
如果 ph=kh−1 , pw=kw−1 ,那么输出形状将简化为 ⌊(nh+sh−1)/sh⌋×⌊(nw+sw−1)/sw⌋ 。更进一步,如果输入的高和宽能分别被高和宽上的步幅整除,那么输出形状将是 (nh/sh)×(nw/sw) 。
当 ph=pw=p 时,我们称填充为 p ;当 sh=sw=s 时,我们称步幅为 s 。
- 点赞
- 收藏
- 分享
- 文章举报
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
- MXNet动手学深度学习笔记:卷积神经网络实现
- 深度学习笔记1(卷积神经网络)
- 吴恩达深度学习卷积神经网络学习笔记(3)——迁移学习
- 吴恩达深度学习笔记(六) —— 卷积神经网络
- 吴恩达深度学习笔记之卷积神经网络(目标检测)
- 卷积神经网络的笔记及自己的理解(主要基于李宏毅老师的CNN课程)
- 卷积神经网络(CNN)学习笔记1:基础入门
- CNN卷积神经网络学习笔记1:背景介绍
- 深度学习笔记之CNN(卷积神经网络)基础
- Deep Learning-TensorFlow (12) CNN卷积神经网络_ Network in Network 学习笔记
- Coursera吴恩达《卷积神经网络》课程笔记(3)-- 目标检测
- 【学习笔记1】吴恩达_卷积神经网络_第一周卷积神经网络(1)
- Deep Learning论文笔记之(五)CNN卷积神经网络代码理解
- 吴恩达第四门-卷积神经网络-第一周7-11学习笔记
- Coursera Deeplearning.ai「深度学习」课程笔记L4.W2深度卷积神经网络:实力探究
- TensorFlow 深度学习笔记 卷积神经网络
- CS231n课程笔记翻译:卷积神经网络笔记
- 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-02-基于Python的卷积运算