提交 988a9617 编写于 作者: A Aston Zhang

revise conv layer

上级 fc39feb1
# 二维卷积层
卷积神经网络是指主要由卷积层(convolutional layer)组成的网络。因为它最常用来处理图片数据,其有高和宽两个空间维度(彩色图片的颜色通道维度将在之后小节讨论),所以最常用到的是二维卷积层。本小节我们将介绍简单形式的二维卷积层是怎么工作的。
卷积神经网络指含有卷积层(convolutional layer)的神经网络。本章关注最常见的二维卷积层。它有高和宽两个空间维度,并适合处理图像数据。本小节我们将介绍简单形式的二维卷积层是怎么工作的。
## 互相关运算
## 互相关运算
虽然卷积层得名于卷积运算符(convolution),但我们常用更加直观的互相关运算(cross-correlation)来实现卷积层。一个互相关运算符将一个二维核(kernel)数组作用在一个二维输入数据上来计算一个二维数组输出。图5.1演示了如何对一个高宽为3的输入作用高宽为2的卷积核来计算输出
虽然卷积层得名于卷积(convolution)运算,但我们通常在卷积层中使用更加直观的互相关运算(cross-correlation)。在二维卷积层中,一个二维输入数组和一个二维核(kernel)数组通过互相关运算输出一个二维数组
![二维相关运算符的计算。高亮部分为第一个输出元素及其计算所使用的输入和核数组元素:$0\times0+1\times1+3\times2+4\times3=19$。](../img/correlation.svg)
可以看到输出的形状是`(2, 2)`,且第一个元素是由输入的左上的高宽为2的子数组与核数组按元素相乘后再相加得来。设输入、核以及输出分别为`X``K``Y`,即`Y[0, 0] = (X[0:2, 0:2] * K).sum()`,这里`X``K``Y`的类型都是NDArray。接下来我们将`X`中高亮部分的高宽为2的窗口向右滑动一列来计算`Y`的第二列第一个元素。以此类推计算得到输出中所有结果。
我们用一个具体例子来解释互相关运算的含义。图5.1演示了如何对一个高宽为3的输入作用高宽为2的卷积核来计算输出。可以看到输出的形状是`(2, 2)`,且第一个元素是由输入的左上的高宽为2的子数组与核数组按元素相乘后再相加得来。设输入、核以及输出分别为`X``K``Y`,即`Y[0, 0] = (X[0:2, 0:2] * K).sum()`,这里`X``K``Y`的类型都是NDArray。接下来我们将`X`中高亮部分的高宽为2的窗口向右滑动一列来计算`Y`的第二列第一个元素。以此类推计算得到输出中所有结果。
下面我们将上述过程实现在`corr2d`函数里,它接受`X``K`,输出`Y`
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册