卷积神经网络中的维度

问题描述 投票:0回答:3

我试图了解卷积神经网络中的维度如何表现。下图中,输入是具有 1 个通道的 28×28 矩阵。然后有 32 个 5×5 过滤器(高度和宽度的步幅为 2)。所以我知道结果是 14×14×32。但在下一个卷积层中,我们有 64 个 5×5 滤波器(同样步幅为 2)。那么为什么结果是 7×7×64 而不是 7×7×32*64?我们不是将 64 个滤波器中的每一个应用到 32 个通道中的每一个吗?

enter image description here

neural-network deep-learning conv-neural-network convolution
3个回答
2
投票

一个过滤器是前一层所有维度的总和。这意味着 5x5 过滤器对所有 32 个维度进行求和,本质上是 32*5*5 值的加权和。然而,权重值是跨维度共享的。那么这样的过滤器就有64个。可以在这里找到更好的图像解释:http://cs231n.github.io/convolutional-networks/


2
投票

深度通常是隐式给出的。 例如,许多图像被认为具有深度 3(对于每个像素中的三个颜色维度)。那么 5x5 过滤器是指 5x5x3 过滤器。 在您的情况下,5x5 过滤器实际上是一个 5x5x32 过滤器。

深度一通常是明确说明的(如“5x5x1 过滤器”)。


1
投票

CS231n Winter 2016 Lecture 7 Convolutional Neural Networks 清楚地解释了输入的大小如何随着层之间的进行而变化。

在输入中,您给出的尺寸为 28 宽、28 高,深度为 1。对于第 1 层中的过滤器,过滤器的深度尺寸必须等于输入的深度。因此过滤器的尺寸将为 5x5x1,应用一个过滤器尺寸会减小(由于步幅)以产生 14x14x1 尺寸的激活图,因此应用 32 个这样的过滤器将为您提供 32 个激活图。将所有这些 14x14x32 组合起来就是第 1 层的输出和第二层的输入。同样,在第二层中,您需要在该层上应用尺寸为 5(宽度)x5(高度)x32(深度) 的过滤器以生成一个 14x14x1 的激活图,堆叠所有 64 个激活图可以得到第二层的输出尺寸: 14x14x64 等等。

是的,您实际上在 32 个通道中的每个通道上应用了 64 个过滤器。

© www.soinside.com 2019 - 2024. All rights reserved.