CNN 与密集连接的 NN

人工智能 神经网络 机器学习 卷积神经网络
2021-10-28 01:53:33

在图像分类中,我们通常被告知使用 CNN 的主要原因是密集连接的 NN 无法处理这么多参数(10 ^ 6 用于 1000 * 1000 图像)。我的问题是,是否有任何其他原因将 CNN 用于 DNN(密集连接的 NN)?

基本上,如果我们有无限的资源,DNN 将胜过 CNN,或者 CNN 天生就非常适合图像分类,就像 RNN 用于语音一样。非常感谢基于数学或该领域经验的答案。

3个回答

这里的关键词是跨图像部分的参数共享或权重共享。

如果我们以字母“F”的灰度二值图像为例,它是多个模式的组合。这里的图案是垂直线和水平线。这些模式基于相邻细胞强度之间的关系。相邻单元之间的这种关系是使用权重矩阵建立的。

此外,为了识别多条水平线,我们不需要隐藏密集层中的多个节点集来尝试识别图像中的不同水平线。图案相同,但出现在不同的位置。因此,权重的共享就出现了。

在第一个隐藏层中,将模式水平线编码为权重矩阵(在训练期间学习并用于测试)。将其放在小网格上并检查是否存在。当这个矩阵在图像上滑动和测试时,水平线的存在被标记在不同的位置。这个权重矩阵称为核。

结合以上几点,内核提供了一种处理连续单元之间的参数/权重共享以识别模式的方法。密集层而不是内核最终会解决它,但以随机方式开始。由于确定了一种有效的方法,因此正在使用它。

接下来要识别垂直线,需要另一个内核并滑过。

假设接下来我们有密集层作为第二个隐藏层。该层寻找存在的模式组合(“p”水平线和“q”垂直线在这种情况下代表“F”)并学习组合以识别输出。

与传统编程相比,内核就像正则表达式。密集层就像循环。只是分享我的想法。欢迎任何更好的解释。

与密集连接网络相比,卷积神经网络可以检测更多的空间特征。考虑到这一点,在任何给定的真实世界图像中,相邻单元格的像素值变化不大,但是当该图像被传递到密集连接的神经网络以训练相邻像素之间的空间关系时,由于所有其他单元格会严重影响训练,而在卷积网络中,由于局部信息的卷积操作被保留,它被称为局部连接。

这不是真正的原因,“卷积”层受到视觉系统中细胞的启发。这源于hubel-wiesel的工作。有关更多信息,请查看hubel-wiesel 实验。