假设我有一张有 16 个通道的图像进入一个卷积层,它有 3 个可训练过滤器,因此该层的输出深度为 3。
卷积层是如何从 16 个通道变成 3 个通道的?应用了什么数学运算?
假设我有一张有 16 个通道的图像进入一个卷积层,它有 3 个可训练过滤器,因此该层的输出深度为 3。
卷积层是如何从 16 个通道变成 3 个通道的?应用了什么数学运算?
您从 16 个通道变为 3 个通道的原因是,在 2d 卷积中,过滤器跨越输入的整个深度。因此,您的过滤器实际上是为了覆盖输入的所有通道。
卷积的输出自动具有等于过滤器数量的深度(所以在你的情况下,这是) 因为你有一个过滤矩阵,其中是过滤器的数量和是展开过滤器中的元素数(在您的情况下,和,所以滤波器矩阵是)。
输入通常根据 im2col 过程展开,其中与单个过滤器位置对应的每个图块被拉伸成等于展开过滤器大小的列。对于每个过滤器位置都重复此操作,因此您最终会得到一个非常大的矩阵, 在哪里是相同的上面的过滤器矩阵,和取决于您的填充和步幅。
乘以过滤矩阵与输入矩阵给你一个输出矩阵,其中是过滤器的数量。
您的输入有 16 个通道,每个维度. 有3个过滤器,即,和空间维度.
我们说一个过滤器在叠加到图像上时应用到一个通道,从最左边开始,执行将过滤器的权重与图像中对应的值相乘然后求和为单个值并移动的操作根据过滤器的步幅,将过滤器向右(当到达最右边时向下)穿过图像。
当一个过滤器,例如, 应用于通道说,只有一个值。现在,将它们应用于所有通道,我们得到 16 个值,所有这些值加起来为一个值。根据步幅移动并重复相同的操作以获得具有单个通道的输出(行数和列数由填充,步幅,扩张和文件管理器的内核大小决定)。
上述过程由产生 3 个通道的所有 3 个过滤器完成。通过这种方式,卷积层使输入从 16 个通道变为 3 个通道。
更详细的解释可以在这里找到。