1. DINO
DINO 是 Meta 在2021年提出的一種的自監(jiān)督學習方法搔扁,名稱來源于 knowledge
distillation with no labels嘉蕾,即無標簽知識蒸餾芭概。
和其他 inter-view 的自監(jiān)督方法類似,DINO 將輸入圖像 的兩種不同的隨機變換 傳遞給學生和教師網(wǎng)絡(luò)症汹,這兩個網(wǎng)絡(luò)具有相同的結(jié)構(gòu),但參數(shù)不同背镇。教師網(wǎng)絡(luò)的輸出以每個 batch 的平均值為中心。每個網(wǎng)絡(luò)輸出一個 K 維特征瞒斩,用 softmax 進行歸一化。然后最小化交叉熵損失胸囱,也就是提高教師網(wǎng)絡(luò)和學生網(wǎng)絡(luò)參數(shù)的相似性旺矾。梯度僅通過學生傳播,教師參數(shù)使用學生參數(shù)的指數(shù)移動平均值 (ema) 進行更新。
教師網(wǎng)絡(luò)比學生網(wǎng)絡(luò)多了一個 centering 操作铺纽,用于避免模型崩潰,相當于對教師網(wǎng)絡(luò)的參數(shù)加入了一個可以通過 EMA 更新參數(shù)的 bias :陷寝。
DINO 最驚人的效果是在無監(jiān)督下學習的模型可以將注意力非常好地集中在物體上其馏,多頭注意力中不同的 head 甚至可以關(guān)注到同一物體不同的區(qū)域或者不同的物體。
定性結(jié)果表明,最后一個注意力層會關(guān)注圖像中語義一致的部分褐奥,并經(jīng)常產(chǎn)生可解釋的注意力圖。利用這些特性儿倒,建立在 DINO 的基礎(chǔ)之上的物體發(fā)現(xiàn)算法(如 LOST呜笑,Sim′eoni et al.,2021)叫胁,通過收集注意力圖中的信息,在沒有監(jiān)督的情況下檢測物體溉瓶。
2. DINOv2
DINOv2 是在 DINO 基礎(chǔ)上用更多數(shù)據(jù)和更多 tricks 訓練出來的,在很多任務上都取得了很好的表現(xiàn)疾宏。
但值得注意的是論文中并沒有給出像 DINO 論文中一樣的注意力可視化圖触创,而是可視乎了圖像 patch 的 PCA。
原因就在于 DINOv2 的注意力可視化出來并不如 DINO 一樣完美集中在圖像物體上岩馍,而是在某些 token 上會有異常高的值出現(xiàn)抖韩,被稱為”偽影“。
這些偽影的特點:
- 高范數(shù)值(high norm token)
- 在大型模型的訓練過程中會出現(xiàn)
- 出現(xiàn)在信息冗余的 patch 上
- 幾乎不包含 local 信息
- 包含 global 信息
對于這種現(xiàn)象双谆,一種解釋是在 ViT 的訓練過程中 token 的數(shù)量是有限的顽馋,因此模型需要充分利用 token幌羞,將信息冗余位置的 token 用于儲存全局信息。
3. Vison Transformer need registers
模型儲存全局信息是件好事熊痴,但是我們并不希望丟棄局部信息地啰,因為這有可能損害下游任務的表現(xiàn)。
解決方法就是多加幾個 token亏吝,讓模型用于儲存額外的全局信息,這些token被叫做寄存器蔚鸥,具有可學習的參數(shù),在 transformer 的最后一層被丟棄馆类。
加入 register token 之后弹谁,[CLS] token 可以很到的集中在圖中的主要物體上句喜,而 register 則會關(guān)注到一些不同的區(qū)域咳胃。
加入寄存器機制首次在 Memory Transformers (Burtsev et al., 2020) 中提出旷太,改進了 NLP 中的翻譯任務。使用特殊 token 擴展 Transformer 序列在 BERT 中得到了普及(Devlin et al., 2019)存崖。然而睡毒,大多數(shù)方法添加新 token,要么為網(wǎng)絡(luò)提供新信息违寞,例如 BERT 中的 [SEP] token偶房,要么收集 token 信息军浆,并使用它們的輸出值作為模型的輸出崭闲,例如分類中的 [cls] token。
而 [reg] token 既不提供信息也不直接用于任務矩肩,只是為無處安放的 global 信息提供了一個安放之處愧捕,順便提高了模型的可解釋性申钩。
由于這種”偽影“只在大規(guī)模訓練中出現(xiàn),我的猜想是邮偎,模型有足夠多的參數(shù)和數(shù)據(jù)去學習义黎,會從數(shù)據(jù)中學到很多信息,圖像中天然的包含了很多隱含的信息泻云,比如"咖啡應該在咖啡杯里而不是咖啡杯的托盤里”這種抽象又沒用的知識,對于下游任務可能毫無幫助宠纯,但是對于讓模型更加“智能”是很重要的。也許我們需要更多的評估指標去了解視覺模型究竟從數(shù)據(jù)中學到了什么娇哆。
參考:
[1] Caron M, Touvron H, Misra I, et al. Emerging properties in self-supervised vision transformers[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 9650-9660.
[2] Oquab M, Darcet T, Moutakanni T, et al. Dinov2: Learning robust visual features without supervision[J]. arXiv preprint arXiv:2304.07193, 2023.
[3] Darcet T, Oquab M, Mairal J, et al. Vision transformers need registers[J]. arXiv preprint arXiv:2309.16588, 2023.
[4] 代碼: https://github.com/facebookresearch/dinov2
[5] (這個也是我) https://bigfishtwo.github.io/posts/dinos/