【问题标题】:Caffe CNN: diversity of filters within a conv layer [closed]Caffe CNN:卷积层中过滤器的多样性[关闭]
【发布时间】:2018-11-24 06:19:11
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: neural-network deep-learning caffe conv-neural-network pycaffe


    【解决方案1】:

    1.

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

    但是,没有什么可以保证多样性。事实上,有时过滤器会相互关联(参见GrOWL 和其中的引用)或降为零。

    2.

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

    3.

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

    【讨论】:

    • 所以基本上随机初始化是多样性的主要来源(在一个层内),对吧?
    • @Nima 是的,除非您在丢失/正则化中明确添加“多样性”组件。
    • @Nima 今天有很多问题......你在考试中吗:D?
    • 是否有关于多样性(CNN)的评论/良好参考?
    猜你喜欢
    • 2016-11-24
    • 1970-01-01
    • 2018-11-27
    • 2018-11-26
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    相关资源
    最近更新 更多