Caffe CNN:conv 层中过滤器的多样性

Caffe CNN: diversity of filters within a conv layer

关于 CNN 中的转换层,我有以下理论问题。想象一个有 6 个过滤器的 conv 层(图中的 conv1 层及其 6 个过滤器)。

1) 是什么保证了卷积层中学习过滤器的多样性? (我的意思是,学习(优化过程)如何确保它没有学到相同(相似)的过滤器?

2) 转换层中过滤器的多样性是好事还是坏事?有这方面的研究吗?

3) 在学习(优化过程)的过程中,同层的filter之间是否有交互?如果是,怎么做?

1.

假设您正在使用 SGD(或类似的反向传播变体)训练您的网络,权重初始化为 随机 的事实鼓励它们多样化,因为梯度 w.r.t 每个不同的随机过滤器的损失通常是不同的,梯度会在不同的方向“拉动”权重,从而产生不同的过滤器。

然而,没有什么可以保证多样性。事实上,有时过滤器会相互关联(请参阅 GrOWL 和其中的参考资料)或降为零。

2.

当然,您希望过滤器尽可能多样化,以捕获数据的各种不同方面。假设你的第一层只有过滤器响应垂直边缘,你的网络将如何处理 类 包含水平边缘(或其他类型的纹理)?
此外,如果您有多个相同的过滤器,为什么要计算两次相同的响应?这是非常低效的。

3.

使用“开箱即用”的优化器,每层的学习过滤器相互独立(梯度线性)。但是,可以使用更复杂的损失 functions/regularization 方法使它们依赖。
例如,使用组套索正则化,可以强制一些过滤器为零,同时保持其他过滤器的信息。