vanilla 神经网络理论上能达到与 CNN 相同的性能吗?

人工智能 神经网络 深度学习 卷积神经网络 比较
2021-10-22 02:59:21

我完全理解 CNN 考虑了每个像素对附近像素的局部依赖性。此外,CNN 具有空间不变性,这意味着它们能够在图像的任何位置检测到相同的特征。考虑到问题的性质,这些品质在图像分类问题中很有用。

普通神经网络如何在这些属性上存在缺陷?我是否正确地声称普通神经网络必须在图像的每个部分学习给定的特征?这与 CNN 的做法不同,它只学习一次特征,然后在图像中的任何位置检测到它。

局部像素依赖性如何?为什么普通神经网络不能通过将一维输入中的一个像素与其相邻像素相关联来学习局部依赖性?

换句话说,在训练 CNN 时是否存在更多在训练普通 NN 时根本不存在的信息?还是 CNN 在图像分类问题的空间中更擅长优化?

1个回答

所有 CNN 都可以表示为扁平图像数据上的普通网络。为此,您需要大量参数(其中大部分为 0)才能让 CNN 自由发挥作用。您可以将 CNN 视为重复地重用蒙版输入上的过滤器(无论它在卷积期间查看任何点的感受野)。

换句话说,全连接层使用所有信息,因此它仍然可以像 CNN 一样学习空间依赖性,而每个神经元的 CNN 只查看特定的感受野,并将对该通道中的所有神经元重用该过滤器。这种约束可以节省计算量,并在一定预算下允许更广泛和更深入的模型。

这很好,因为 CNN 工作的假设是,在网络中的每个点上,我们都关心查看局部特征而不是全局特征,并且即使每个神经元只与少数几个神经元相关,创建这些特征的组合也能做到这一点在前一层的神经元中,来自初始图像的感受野即使不是全部也可能非常大。

带走: CNNs 是 vanilla NN 的一种有效实现,考虑到每个神经元只查看前一层神经元的一小部分局部子集的局部性约束