给出一个完全连接网络比卷积神经网络更适合的视觉识别任务示例

我知道CNN有很多好的特性,比如权重共享、节省内存和特征提取。然而,这个问题让我很困惑。是否有任何可能的情况是完全连接网络比CNN更好?为什么?

非常感谢大家!


回答:

是否有任何可能的情况是完全连接网络比CNN更好?

嗯,我认为我们首先应该定义“更好”是什么意思。准确性和精确性并不是唯一需要考虑的因素:计算时间、自由度和优化的难度也应该被考虑在内。

首先,考虑一个大小为h*w*c的输入。将这个输入馈送到具有F个特征图和内核大小s的卷积层,将会产生大约F*s*s*c个可学习参数(假设卷积的秩没有限制,否则我们甚至有更少的参数)。将相同输入馈送到具有相同数量特征图的完全连接层,将会产生F*d_1*d_2*w*h*c(其中d_1,d_2是每个特征图的维度),显然,对于任何具有 decent 分辨率的输入图像,这将是数十亿级别的可学习参数。

虽然我们可能会认为可以用更浅的网络(我们已经有很多参数,对吧?),但完全连接层毕竟只是线性层,所以我们仍然需要插入许多非线性因素,以便网络获得合理的表示能力。因此,这意味着你仍然需要一个深层网络,但参数如此之多,以至于无法处理。此外,较大的网络将有更多的自由度,因此将模拟我们想要的更多:除非我们为其提供一些数据或对其进行约束,否则它将模拟噪声。

所以,是的,理论上可能存在一个完全连接网络可以为我们提供更好的性能,但我们还不知道如何训练它。最后,这纯粹基于直觉,因此可能是错误的,但我觉得这样的完全连接网络不太可能收敛到一个稠密的解决方案。由于许多卷积网络在许多任务上达到了非常高的准确率(99%及以上),我认为完全连接网络将收敛到的最优解决方案将接近于卷积网络。因此,我们并不真的需要训练完全连接网络,而只需训练其架构的一个子集即可。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注