我对卷积神经网络通过其卷积运算学习的理论感兴趣。我认为它学习(有用的)内核来测量其输入信号之间的相关性。此外,从技术角度来看:卷积操作被实现为“互相关”。那么,我的假设对吗?
神经网络中的卷积层是否通过其内核学习其输入信号之间的相关性?
数据挖掘
卷积神经网络
相关性
卷积
2021-10-15 05:13:03
1个回答
在卷积神经网络 (CNN) 中,一个卷积层有多个通道,每个通道都有一个卷积核,通常写成一个矩阵。这个卷积核只不过是一组权重,用于计算输入元素的线性组合。
虽然“传统”密集层和卷积层都计算其输入的线性组合,但卷积层具有保留空间信息的附加结构。此外,卷积层的输出,称为特征图,可以理解为内核沿输入滑动的结果。
例如,采用一个简单的内核 和一个小的输入“图像” . 为方便起见,我们采用只有一个通道的输入:如果它是 CNN 的第一层,我们可以假设表示灰度图像。让我们看看如果没有向图像添加填充,卷积是如何执行的,在这种情况下,输出将是一个 2 x 2 矩阵。
从左上角开始,我们卷积和. 为此,我们将两个矩阵逐元素相乘,然后将结果矩阵的所有元素相加:.
再重复 3 次相同的操作会产生以下特征图:.
根据层的内核,特征图看起来会有所不同,从输入中提取的信息具有不同的“含义”。CNN 背后的想法是使内核参数的系数可学习。通常,必须从单个输入中提取多个“含义”,因此卷积层具有多个通道。
然而,CNN 并没有发明卷积,它们只是让内核变得可学习。事实上,这种方法已经在“传统”计算机视觉 (CV) 中使用了很长时间。在传统的 CV 中,内核是手工制作的,以填充特定的角色,提取特定类型的信息。
对于边缘检测或线检测,您可以使用Prewitt 滤波器,它是导数算子的离散等效物或稍微复杂的Sobel 滤波器。
事实上,CNN 在第一层从传统 CV 中学习众所周知的手工卷积核的近似值并不少见。此外,通过在更深层上可视化特征图,随着 CNN 训练的进行,您可以很好地了解特定卷积通道正在学习检测的内容。
其它你可能感兴趣的问题