推广 热搜: 行业  设备    系统  参数  经纪    教师  机械  中国 

《Blockwise Self-Supervised Learning at Scale》个人解读

   日期:2024-12-14     作者:810hs    caijiyuan   评论:0    移动:http://fswenzheng.xhstdz.com/mobile/news/11483.html
核心提示:Published in Transactions on Machine Learning Research (01/2024) 论文地址:https://openreview.net/forum?id=M2m

Published in Transactions on Machine Learning Research (01/2024)

论文地址:https://openreview.net/forum?id=M2m618iIPk
GitHub: https://github.com/shoaibahmed/blockwise_ssl

《Blockwise Self-Supervised Learning at Scale》个人解读

Author’s affiliation

University of Cambridge, UK
meta-FAIR, NY, USA
New York University, NY, USA
Aalto University, Espoo, Finland

目前最先进的深度网络都是由反向传播驱动的。然而,在端到端训练中发现的长反向传播路径在生物学上是不可信的,而且在能量消耗方面效率低下。在本文中,我们以块学习规则(blockwise learning rules)的形式探索完全反向传播的替代方案,在自监督学习方面获得了提升。我们的研究表明,由独立训练ResNet-50的4个主要层块组成,并在每个块上都使用Barlow Twins的损失函数的块预训练过程,在ImageNet上执行端到端反向传播几乎一样好:在我们的块预训练模型上训练的linear probe获得了70.48%的top-1分类准确率,仅比端到端预训练网络的准确率(71.57%)低1.1%。我们进行了大量的实验,以了解我们的方法中不同组件的影响,并探索自监督学习对块式范式的各种适应,建立了对将局部学习规则扩展到大型网络的关键途径的详尽理解,其含义从硬件设计到神经科学。

  1. end to end BP在大规模数据集上表现最好,但是反向传播路径长,还要求与前馈路径权重对称
  2. Feedback alignment使反向传播路径随机并独立于前馈路径,从而减轻了对称的限制,但是没有减少反向传播路径的长度
  3. 这四种方法,直接把label广播给了所有layers,减少了反向传播长度,但是是有监督的,并且要求大量的label输入
  4. LoCo 对ResNet-50每个block应用BP,使用自监督从而不需要大量label,但是他在连续的block中间引入了BP,概念上还是一个完整的BP
  5. Ours 这三个方式通过独立训练每个block来避免后续块之间的耦合,每个块使用一种自监督学习的变体。ours与其他两个的区别在于ours在大规模数据集上证明了有效性,在生物合理性方面,ours仍然依赖于block内部的反向传播,并且由于损失函数的确切形式,也依赖于层内神经元之间的相互作用。因此ours只是局部的,不是完全生物可信的(biologically plausible)。
  6. 最后三个方法避免了层内和层间的所有learning dependencies,是真正的局部学习规则,但是只在large-scale 数据集上得到部分证明。

ResNet-50原本包括5个block,有不同的resolution,但它的第一层仅是一个stride-2 layer,于是将它与第二层合并,最终得到4个training blocks,使用自监督训练目标单独地训练每个training block,使用stop-gradient确保块之间学到的参数不会互相影响,设置了两种训练方式

  1. 顺序地训练一个又一个块
  2. 同时地训练所有块。

如未明确说明,则不引入噪声,且使用local spatial pooling。

    1. deep belief networks (DBN)
      深度信念网络(Deep Belief Network, DBN)由 Geoffrey Hinton 于2006年提出。DBN 可以看作是一系列受限玻尔兹曼机(RBM)的堆叠
      DBN 属于概率图模型,并且是有向图与无向图的混合。只有最后两个隐藏层之间是无向图(这是一个 RBM,其余的都是有向图。因此严格意义上来说,只有 DBN 的最后一层是 RBM,其余层实际上是 Sigmoid Belief Network(名词不重要,只要了解它们是有向图即可
      下图是一个三层DBN
    2. VAEs
      变分自编码器(Variational auto-encoder,VAE) 是一类重要的生成模型。
      vae就是通过Encoder对输入(我们这里以图片为输入)进行高效编码,然后由Decoder使用编码还原出图片,在理想情况下,还原输出的图片应该与原图片极相近。
      vae网络结构组成:可以大致分成Encoder和Decoder两部分(如下图)。对于输入图片,Encoder将提取得到编码:一个mean vector和一个deviation vector,然后将这个编码(两个vector)作为Decoder的输入,最终输出一张和原图相近的图片。
    3. L2 或 square-root pooling
      在pooling的窗口内,计算L2范数,即平方和的根。
    4. LARS优化器
      LARS (Layer-wise Adaptive Rate Scaling),在学习率warm-up的基础上,发现不同层之间的权重L2范数和对应梯度的L2范数的比值差别较大,于是提出各个层的更新参数使用的学习率应该根据自己的情况有所调整,而不是所有层使用相同的学习率,即LARS。
    5. 为什么既有自监督训练也有有监督训练
      本文中采用Barlow Twins作为损失函数,就决定了是自监督的训练方式,有监督的训练方式在这里我认为只是作为baseline,从多个方面来分析模型架构。
    6. 使用Barlow Twins做损失函数时,projector的输出是8192个,怎么完成分类任务
      个人认为,Barlow Twins做损失函数时,只是得到了有用的信息,并没有完成分类,之后应该是接一个Linear Probe来完成分类任务。
    7. 我现在理解这篇文章的思路是想要使用local learning来替代end-to-end BP,于是想到了在block内BP,块之间不BP,由于ResNet的块与loss维度不一样于是要进行pooling,那为什么要有predictor呢,prejector我理解其实就是做分类的线性层,但是它分了8192个类也没有达到输出的效果,为什么一定要用这个损失函数呢?是因为类大脑,然后大脑没有那么多label吗,这样子的话就是说这篇文章想的是往生物可解释性那边靠拢,还有把ResNet拆成4个block之后,之间只有前向传播,传的是哪里的feature,哦哦,应该是pool之前的特征,一个一个训练和一起训练有什么区别吗,一个一个是先找到当前最好的block,然后再拿它的特征给下一个block,然后一起训练的话,块之间也没有BP,可能在final block上表现较好,但前面的block不一定每一个都达到了最佳。
    8. A.1 Matching the Invariance Characteristics of End-to-End Model 中为什么把invariance从都是1改为分别每个块的0.6这样是提高了?并且效果不好为什么可以说明是所选比desired更高了
本文地址:http://fswenzheng.xhstdz.com/news/11483.html    物流园资讯网 http://fswenzheng.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
标签: 训练 使用 监督
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号