CNN如何减少参数和重用权重?
How CNN reduce parameter and reuse weight?
在postA Comprehensive Guide to Convolutional Neural Networks — the ELI5 way中,它说
A ConvNet is able to successfully capture the Spatial and Temporal
dependencies in an image through the application of relevant filters.
The architecture performs a better fitting to the image dataset due to
the reduction in the number of parameters involved and reusability of
weights.
我没有看到它如何减少参数和重用权重。谁能举个例子?
考虑下图中的过滤器(或内核)有 9 个像素,而图像有 49 个像素。
在全连接层中,我们将有 9*49 = 441 个权重。
而在 CNN 中,这个相同的过滤器在整个图像上不断移动(卷积)。图像中的所有像素值都将与过滤器的那些相同的 9 个值相乘(因此我们说权重被重用)。因此,我们每个过滤器只需要 9 个权重,而不是 FC 层中的 441 个。
滤镜的工作是识别图像中可能存在的特征(例如纹理、线条等)。所以,我们想在整个图像上重复使用这个相同的过滤器。
我们可以使用公式计算卷积层的参数:((width_of_Kernel * height_of_Kernel * input_channel)+1) * output_channel
这里我们可以看到内核大小、输入通道和输出通道正在影响参数数量。通过改变它们,我们可以减少参数,这将导致尺寸减小。
在postA Comprehensive Guide to Convolutional Neural Networks — the ELI5 way中,它说
A ConvNet is able to successfully capture the Spatial and Temporal dependencies in an image through the application of relevant filters. The architecture performs a better fitting to the image dataset due to the reduction in the number of parameters involved and reusability of weights.
我没有看到它如何减少参数和重用权重。谁能举个例子?
考虑下图中的过滤器(或内核)有 9 个像素,而图像有 49 个像素。
在全连接层中,我们将有 9*49 = 441 个权重。
而在 CNN 中,这个相同的过滤器在整个图像上不断移动(卷积)。图像中的所有像素值都将与过滤器的那些相同的 9 个值相乘(因此我们说权重被重用)。因此,我们每个过滤器只需要 9 个权重,而不是 FC 层中的 441 个。
滤镜的工作是识别图像中可能存在的特征(例如纹理、线条等)。所以,我们想在整个图像上重复使用这个相同的过滤器。
我们可以使用公式计算卷积层的参数:((width_of_Kernel * height_of_Kernel * input_channel)+1) * output_channel
这里我们可以看到内核大小、输入通道和输出通道正在影响参数数量。通过改变它们,我们可以减少参数,这将导致尺寸减小。