首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分组卷积真的能改善学习吗?

分组卷积真的能改善学习吗?
EN

Data Science用户
提问于 2021-07-19 17:04:58
回答 1查看 191关注 0票数 0

我对分组卷积的理解

假设我们有一些维[100,100,32]的数据(让我们忽略批处理大小,并假设通道是最后的),我们希望将它传递到一个有64个过滤器的卷积层。在不进行分组的情况下,我们可以直接将输入传递到第二卷积层,得到一个形状为[100,100,64]的输出。

或者,我们可以将输入分成n个组。例如,让我们假设是n=2。这将输入从1 [100,100,32]张量更改为2 [100,100,16]张量。然后用64/n = 32滤波器将每个输入传递给不同的卷积层,得到两个形状为[100,100,32]的输出。这两个输入比级联通道明智地得到一个形状为[100,100,64]的输出。

问题

如果这是正确的,我理解这对于多个GPU/CPU上的分布式培训是如何有用的(我相信这就是AlexNet所做的)。然而,我已经看到分组卷积改善性能的说法,我觉得这两种方法(分组和非分组)在数学上是相同的,在性能上应该没有区别。

我的推理

每个过滤器由c核组成,其中c是输入中的通道数。这是因为每个内核都应用于单个通道。同一过滤器中的内核之间不存在交互作用。因此,不管频道是如何放置的(即。在一个堆栈或一个组中),产生的过滤器将是相同的。

我搞错了吗?

声称分组卷积提高性能的

位置

EN

回答 1

Data Science用户

发布于 2021-07-20 00:57:44

正如本文中所提到的,不同的组为数据学习不同的表示形式。

在普通卷积网络中,每一层学习一个唯一的表示。但是,在这里,在同一层,我们可以导出不同的表示。它还可以涉及到软件工程中的关注点分离原则。由于不同的过滤组是单独训练的,所以他们一定要学习不同的东西。

从统计的角度来看,当训练传统的卷积层时,核权重之间的相关性就会存在。因为,在这里,我们把它们分成几个组,因为它们是分开训练的,所以相关性不会发生。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/98082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档