更新 CNN 中过滤器的权重

数据挖掘 机器学习 神经网络 深度学习 图像分类 美国有线电视新闻网
2021-09-23 01:17:32

我目前正在尝试了解 CNN 的架构。我了解卷积、ReLU 层、池化层和全连接层。但是,我仍然对重量感到困惑。

在正常的神经网络中,每个神经元都有自己的权重。在全连接层中,每个神经元也会有自己的权重。但我不知道每个过滤器是否有自己的重量。我是否只需要在反向传播期间更新全连接层中的权重?或者过滤器是否都有我需要更新的单独权重?

2个回答

在正常的神经网络中,每个神经元都有自己的权重。

这是不正确的。神经元之间的每个连接都有自己的权重。在完全连接的网络中,每个神经元将与许多不同的权重相关联。如果在全连接网络中有神经元的层有n0输入(即n0前一层中的神经元) ,则该层将具有权重,不计算任何偏置项。n1n0*n1

您应该能够在这张来自CS231n的全连接网络图中清楚地看到这一点。您看到的每条边都代表不同的可训练权重:

在此处输入图像描述

卷积层的不同之处在于它们具有固定数量的权重,由滤波器大小和滤波器数量的选择决定,但与输入大小无关。

每个过滤器在其形状的每个位置都有一个单独的权重。因此,如果您使用两个 3x3x3 过滤器,那么您将有 54 个权重,同样不算偏差。这在CS231n的第二张图中进行了说明

在此处输入图像描述

过滤器权重绝对必须在反向传播中更新,因为这是它们学习识别输入特征的方式。如果您阅读此处标题为“可视化神经网络”的部分,您将看到随着您对网络的深入了解,CNN 的层如何学习输入图像的越来越复杂的特征。这些都是通过反向传播调整过滤器权重来学习的。

在反向传播期间,密集层和卷积层都会更新,但最大池化层没有任何要更新的权重。更新密集层以帮助网络进行分类。卷积层得到更新,让网络自己学习特征。因为您没有在问题中提问,所以如果您想了解更多信息,我只是为您添加一个链接。这里有一个很好的反向传播解释,对你很有用。