是否存在深度全连接网络比 ConvNets 更适合的实际应用

数据挖掘 卷积神经网络 深度学习
2022-02-22 08:23:26

我想为我的问题提供一些简短的背景知识,以避免解释完全连接网络和 ConvNets 之间差异的答案。

我完成了 deeplearning.ai (Coursera) 的深度学习专业的前 3 门课程。同时,我完成了斯坦福大学 2017 年春季 CS321n 课程的前两个家庭作业,以及 Michael Nielson 的深度学习书。

我相信我对这两种网络的架构以及如何用 python/tensoflow 编写它们都有一个合理的理解。我还在 C 中实现了我自己的非常简单的全连接前馈网络,我能够在 MNIST 上获得 98% 的性能。

我还阅读了关于哪种类型的数据更适合 ConvNet 的问题,我得出的答案类似于:

如果输入特征的顺序对它们的含义很重要,那么 ConvNet 会工作得最好,但是如果你用另一列替换一列的位置并且含义仍然完好,那么 ConvNet 将不起作用。

这意味着电子表格数据(如果我理解正确的话)不适合 ConvNet。

不幸的是,我不知道有任何深度学习从业者会问这个问题:目前在野外是否存在完全连接的深度神经网络?我能想到的最好的例子是财务数据。如果这是真的,那么其他人呢?

1个回答

是的,有很多用例更适合完全连接的网络。

ConvNet 之所以有效,是因为权重在其内核中共享。在图像识别任务中共享权重非常直观,因为图片左上角的花与图片右下角的花具有相同的局部模式。我们想要的是学习本地的模式。

但是,当您考虑诸如著名的虹膜分类问题之类的程序时,此逻辑不再适用。这样的数据集根本不存在“本地”的概念。每个特征(即花瓣宽度、花瓣长度等)都是“独立”概念。在这种情况下,使用 ConvNet 根本没有意义。

顺便说一句,您也可以在财务数据上使用 ConvNet。由于财务问题通常涉及时间维度,其中确实存在“本地”的概念。