我已阅读有关的文档group param:
group (g) [默认 1]:如果 g > 1,我们将每个过滤器的连接限制为输入的子集。具体地,将输入和输出通道分为g组,第i个输出组通道将仅与第i个输入组通道连接。
但首先我不明白它们的确切含义。其次,我为什么要使用它。谁能帮我更好地解释一下吗?
据我理解,它的意思如下:
如果我将 g 设置为大于 1,我的输入和输出通道将被分成几组。但具体是如何做到的呢?如果我将其设置为 20 并且我的输入为 40,我将不得不以 20 人为一组?如果输出是 50,我将有一组 20 和一组 30?
其次,为什么我要使用[分组]?
这最初是在论文中作为一种优化提出的,引发了当前神经网络流行的周期:
亚历克斯·克里热夫斯基 (Alex Krizhevsky)、伊利亚·苏茨克韦尔 (Ilya Sutskever) 和杰弗里·E·辛顿 (Geoffrey E. Hinton)。 ”使用深度卷积神经网络进行 Imagenet 分类 https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf”,《神经信息处理系统进展》,第 1097-1105 页。2012 年。
图 2 显示了如何使用分组来完成这项工作。 caffe 的作者最初添加了此功能,以便他们可以复制 AlexNet 架构。然而,分组在其他场景中仍然显示出其优势。
例如,Facebook 和 Google 都发布了论文,这些论文本质上表明分组可以显着减少资源使用,同时有助于保持准确性。 Facebook 论文可以在这里看到:(ResNeXt https://arxiv.org/abs/1611.05431)和谷歌论文可以在这里找到:(移动网络 https://arxiv.org/abs/1704.04861)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)