百科问答小站 logo
百科问答小站 font logo



如何评价 Kaiming 团队新作 Masked Autoencoders (MAE)? 第1页

  

user avatar   wu-zi-yi-77-42 网友的相关建议: 
      

看完文章自问自答抛砖引玉一下

整篇文章看完最大的感受是,这真的又是一篇很 Kaiming 风格的工作,即抛掉那些前人方法里繁琐的部分,用简单明了的方式整出强大的性能,简单又 work,令人佩服。主要体现在一下几个方面:

  • 首先这种 predict masked patches 的预训练方法之前也有几篇不错的了 (例如这个回答总结的),像之前读过的 BEiT,它是把 image patch tokenize 成离散的数值 (VQ-VAE 那套),然后做预测;而这篇 MAE 直接说,不用这样,直接重建 RGB 像素值即可,还做了几个 downstream task 证明 tokenize is not necessary
  • 相比 contrastive learning,这里无需复杂的 data augmentation,crop+flip 就能搞定
  • 不需要复杂的 mask patch sampling,直接 random uniform 就好
  • 虽然没像 MoCo 一样放 pytorch 伪代码,但也是看一眼就能理解怎么实现 (但这几百块卡可不是那么简单的 lol)

一些 takeaway message:

  • 关于 image VS language 的区别,有一段很好的描述:
Information density is different between language and vision. Languages are human-generated signals that are highly semantic and information-dense. When training a model to predict only a few missing words per sentence, this task appears to induce sophisticated language understanding. Images, on the contrary, are natural signals with heavy spatial redundancy -- e.g., a missing patch can be recovered from neighboring patches with little high-level understanding of parts, objects, and scenes

也正因此本文选择 mask 掉非常大比例的 patch (70%) 以求达到

This strategy largely reduces redundancy and creates a challenging self-supervisory task that requires holistic understanding beyond low-level image statistics
  • Positional embedding 真的是太神奇了... Transformer 这种结构下,只要加上 PE,这种 (乱七八糟的) patch 序列输入,模型就能学到很好的表征,推特上有人说:
Frankly, this is probably closer than convnets to how humans comprehend visual scenes: a very small number of high acuity patches generated by fast microsaccades

可说实话我不觉得,上图中那种 sparse patch input,我上我不行;其实当初我看到有人讨论为何 reconstruction pretext task 不有效,论据是“一个人可能对一张百元大钞很清楚 (理解语义、好的表征),但你让他凭空画出来,大部分人做不到”,不过本文模型的 reconstruction 结果也是比较模糊,从这个角度想反而印证了这个说法?

  • 纯粹是 random thought,之前和朋友讨论为何 vision pre-training 没法像 NLP pre-training 一样做那么多任务 (特指 Prompt 那样无需 finetune 直接 zero-shot),一个原因在于 NLP task 大多可以转换成 word prediction,既然 NLP pre-training 就是在做 word prediction,自然就可以 zero-shot。可是 CV 很多任务的输出域 (domain,或者说模态 modality,不知道如何表达) 在 pre-training 中根本不存在,例如,detection 的输出是 bbox 坐标,是一些数字,但无监督预训练里哪里根本没有见到“数字”这个概念,再比如 segmentation 输出 probability mask,也可以认为是和 pure image 处于不同的 domain (就好比,如果在 NLP pre-training 中 model tokenizer 的字典里就没有这个词,那自然没法拿去 zero-shot)。鉴于 position embedding 这么强大,是不是可以做点文章,例如把位置信息引进来,使得预训练完的模型可以拿去做 zero-shot detection (不知道有没有类似的工作了,题主对于这个领域也不是很了解 orz)

总之是一篇很 kaiming 很不错的文章,文章在 Introduction 结尾处提到:

In these tasks, our pre-training achieves better results than its supervised pre-training counterparts, and more importantly, we observe significant gains by scaling up models. These observations are aligned with those witnessed in self-supervised pre-training in NLP [14, 40, 41, 4] and we hope that they will enable our field to explore a similar trajectory

又有谁知道呢?期待各路大佬的后续跟进




  

相关话题

  Dirichlet Processes 是一个什么样的随机过程? 
  如何评价1700亿参数的GPT-3? 
  不觉得最大熵原理很奇怪吗? 
  机器学习领域是否已经达到饱和? 
  如何看待学霸君的高考机器人 Aidam 高考全国文科数学卷考了 134 分? 
  学习两年多,感觉SLAM太难了,大家对此有什么想法? 
  你有哪些deep learning(rnn、cnn)调参的经验? 
  二分类问题,应该选择sigmoid还是softmax? 
  机器全面代替人工劳动力的那一天,你能如何生存下去? 
  机器学习中非均衡数据集的处理方法? 

前一个讨论
为什么新增特征有时候会对模型带来负面影响?
下一个讨论
2021 年双十一正式开始,你花了多少钱买东西?觉得划算吗?





© 2024-05-14 - tinynew.org. All Rights Reserved.
© 2024-05-14 - tinynew.org. 保留所有权利