我可以将卷积神经网络视为完全连接的神经网络吗
Can I view convolutional neural network as fully connected neural network
比如有一张3×3的图片,
并且具有两个 2x2 过滤器的卷积神经网络对图像进行卷积
最终输出维度为2x2x2
上面的过程可以看成下面这样吗?
因为2x2的滤镜,滑过整张图后,得到4张小图
并使用这 4 张小图像作为全连接神经网络的输入
最后我也能得到8个输出
我不太了解CNN中的反向传播,所以我试图从经典的全连接神经网络中理解它。
通过输入一张小图片,我们可以更新一次全连接神经网络中的权重,这与更新CNN中过滤器的权重是一回事吗?
我觉得对吗?
简而言之,是的。您可以将 CNN 视为(以及其他可能的解释):
- 具有卷积运算和直接为其计算梯度的神经网络(典型方法)
具有权重共享的全连接网络,因此为简单起见,假设输入是大小为 3 的 1d,并且您的内核大小为 2,因此它看起来像
[X1 X2 X3] 转换 [w1 w2] = [X1w1+X2w2 X2w1+X3w3]
相当于拥有一个权重为 vij 的全连接网络,意思是 "weight between ith input neuron and jth hidden"
X1
X2 h1 = X1v11+X2v21+X3v31
X3 h2 = X1v12+X2v22+X3v32
因此,如果您输入 v31=v12=0
和 v11=v22
、v21=v32
,您将获得完全相同的网络。通过平等,我的字面意思是这是 相同的变量 (因此术语权重共享)。
小型神经网络的集合(同样,具有 权重共享 ),它们连接到不同的小输入块(您正在提议)。所以你的整个模型看起来像:
/-patch 1 -- shared fully connected net\
Input --splitting----patch 2 -- shared fully connected net--merging---
. .
. .
\-patch K -- shared fully connected net/
这些只是同一对象的三个视图,在这两种情况下,如果您计算偏导数(梯度),您将得到 完全相同的 方程。
比如有一张3×3的图片,
并且具有两个 2x2 过滤器的卷积神经网络对图像进行卷积
最终输出维度为2x2x2
上面的过程可以看成下面这样吗?
因为2x2的滤镜,滑过整张图后,得到4张小图
并使用这 4 张小图像作为全连接神经网络的输入
最后我也能得到8个输出
我不太了解CNN中的反向传播,所以我试图从经典的全连接神经网络中理解它。
通过输入一张小图片,我们可以更新一次全连接神经网络中的权重,这与更新CNN中过滤器的权重是一回事吗?
我觉得对吗?
简而言之,是的。您可以将 CNN 视为(以及其他可能的解释):
- 具有卷积运算和直接为其计算梯度的神经网络(典型方法)
具有权重共享的全连接网络,因此为简单起见,假设输入是大小为 3 的 1d,并且您的内核大小为 2,因此它看起来像
[X1 X2 X3] 转换 [w1 w2] = [X1w1+X2w2 X2w1+X3w3]
相当于拥有一个权重为 vij 的全连接网络,意思是 "weight between ith input neuron and jth hidden"
X1 X2 h1 = X1v11+X2v21+X3v31 X3 h2 = X1v12+X2v22+X3v32
因此,如果您输入
v31=v12=0
和v11=v22
、v21=v32
,您将获得完全相同的网络。通过平等,我的字面意思是这是 相同的变量 (因此术语权重共享)。小型神经网络的集合(同样,具有 权重共享 ),它们连接到不同的小输入块(您正在提议)。所以你的整个模型看起来像:
/-patch 1 -- shared fully connected net\ Input --splitting----patch 2 -- shared fully connected net--merging--- . . . . \-patch K -- shared fully connected net/
这些只是同一对象的三个视图,在这两种情况下,如果您计算偏导数(梯度),您将得到 完全相同的 方程。