tft每日頭條

 > 生活

 > 自監督學習新範式

自監督學習新範式

生活 更新时间:2024-12-16 06:57:38

本篇文章将對自監督學習的要點進行總結,包括以下幾個方面:

  • 監督學習與自監督學習
  • 自監督學習需求背後的動機
  • NLP 和CV中的自監督學習
  • 聯合嵌入架構
  • 對比學習
  • 關于數據增強的有趣觀察
  • 非對比學習
  • 總結和參考
監督學習與自監督學習

監督學習:機器學習中最常見的方法是監督學習。在監督學習中,我們得到一組标記數據(X,Y),即(特征,标簽),我們的任務是學習它們之間的關系。但是這種方法并不總是易于處理,因為-

  1. 訓練通常需要大量數據,而标記數百萬行數據既耗時又昂貴,這就對許多不同任務的訓練模型造成了瓶頸。
  2. 以這種方式訓練的模型通常非常擅長手頭的任務,但不能很好地推廣到相關但是非相同領域内的任務。因為網絡隻專注于學習 X 的良好表示以生成之間的直接映射X 和 Y ,而不是學習 X 的良好通用表示,所以無法轉移到類似的其他任務。

這種學習通常會導緻對概念的非常膚淺的理解,即它學習了 X 和 Y 之間的關系(它優化了網絡以學習這種映射),但它不理解 X 的實際含義或它背後的含義。

自監督學習 (Self-supervised learning / SSL):自監督學習也适用于(特征、标簽)數據集,即以監督的方式,但它不需要人工注釋的數據集。它的基本思想是屏蔽/隐藏輸入的某些部分,并使用可觀察的部分來預測隐藏的部分。正如我們将在下面看到的,這是一個非常強大的想法。但是我們不稱其為無監督學習是因為它仍然需要标簽,但不需要人工對其進行标注。

SSL的優勢是如果我們手頭有大量未标記的數據,SSL的方式可以讓我們利用這些數據。這樣模型可以學習更強大的數據底層結構的表示,并且這些表示比監督學習中學到的更普遍,然後我們可以針對下遊任務進行微調。

需求和動機

在過去的 10 年裡,深度學習取得了長足的進步。幾年前被認為計算機似乎不可能完成的任務(例如機器翻譯、圖像識别、分割、語音識别等)中,已經達到/超過了人類水平的表現。在經曆了十年的成功故事之後,深度學習現在正處于一個關鍵點,人們已經慢慢但肯定地開始認識到當前深度學習方法的基本局限性。

人類和當前人工智能的主要區别之一是人類可以比機器更快地學習事物,例如僅通過查看 1-2 張照片來識别動物,隻需 15-20 小時即可學會駕駛汽車。人類如何做到這一點?常識!雖然我們還不知道常識是如何産生的,但卻可以通過思考人類如何實際了解世界來做出一些有根據的猜測:

  • 人類主要通過觀察學習,很少通過監督學習。從嬰兒出生的那一刻起(或者之前),它就不斷地聽到/看到/感覺到周圍的世界。因此,發生的大部分學習隻是通過觀察。
  • 人類可以利用随着時間的推移獲得的知識(感知、運動技能、基礎物理來幫助導航世界等),而當前的 SOTA 機器卻不能。

自監督學習通過學習從未屏蔽部分預測數據的屏蔽部分來模仿的人類這部分的能力。

NLP 與CV中的 SSL

NLP 中的一般做法是屏蔽一些文本并使用附近的文本對其進行預測。這種做法已經有一段時間了,現在 SOTA 模型都是以這種方式進行訓練,例如 BERT、ROBERTA XLM-R、GPT-2,3 等。在 NLP 中應用這種技術相對容易,因為屏蔽詞的預測隻能取離散值,即詞彙表中的一個詞。所以我們所要做的就是在詞彙表中生成一個超過 10-20k 個單詞的概率分布。

但是在計算機視覺方面,可能性是無限的。我們在這裡處理高維連續對象,例如,一個 10X10 的屏蔽圖像塊可能在單個通道上獲取 255¹⁰⁰ 值,對于動起來的視頻複雜性甚至更高(同樣的邏輯也适用于語音識别)。與 NLP 不同,我們無法對每一種可能性做出預測,然後選擇更高概率的預測。這似乎是計算機視覺中一個棘手的問題。

孿生網絡/聯合嵌入架構

這裡把圖像識别作為我們運行的任務。 SSL 會屏蔽一些随機圖像塊,然後嘗試預測這些被屏蔽的塊。由于我們無法對圖像塊中的每一種可能性進行預測,所以我們隻能使用相似度匹配。

自監督學習新範式(自監督學習的知識點總結)1

聯合嵌入架構。這兩個神經網絡可以完全相同,也可以部分共享,也可以完全不同。

這個想法是訓練一種孿生網絡來計算兩張圖像之間的相似度,同時保證以下結果 -

  • 相似/兼容的圖像應該返回更高的相似度分數。
  • 不同/不兼容的圖像應返回較低的相似度分數。

第 1 點很容易實現 -可以用不同方式增強圖像,例如裁剪、顔色增強、旋轉、移動等。然後讓 孿生網絡學習原始圖像和增強圖像的相似表示。在将模型輸出與固定目标進行比較的意義上,我們不再進行預測建模,因為現在比較的是模型的兩個編碼器的輸出,這使得學習表示非常靈活。

但是第 2 點很麻煩。因為當圖像不同時,我們如何确保網絡學習不同的嵌入?如果沒有進一步的激勵,無論輸入如何,網絡都可以為所有圖像學習相同的表示。這稱為模式崩潰。那麼如何解決這個問題?

對比學習 Contrastive Learning

基本思想是提供一組負樣本和正樣本。損失函數的目标是找到表示以最小化正樣本之間的距離,同時最大化負樣本之間的距離。圖像被編碼後的距離可以通過點積計算,這正是我們想要的!那麼這是否意味着計算機視覺中的 SSL 現在已經解決了?其實還沒有完全解決。

為什麼這麼說呢?因為圖像是非常高維的對象,在高維度下遍曆所有的負樣本對象是幾乎不可能的,即使可以也會非常低效,所以就衍生出了下面的方法。

在描述這方法之前,讓我們首先來讨論對比損失這将會幫助我們理解下面提到的算法。我們可以将對比學習看作字典查找任務。想象一個圖像/塊被編碼(查詢),然後與一組随機(負 - 原始圖像以外的任何其他圖像)樣本 幾個正(原始圖像的增強視圖)樣本進行匹配。這個樣本組可以被視為一個字典(每個樣本稱為一個鍵)。假設隻有一個正例,這意味着查詢将很好地匹配其中一個鍵。這樣對比學習就可以被認為是減少查詢與其兼容鍵之間的距離,同時增加與其他鍵的距離。

目前對比學習中兩個關鍵算法如下:

  • Momentum Contrast - 這個想法是要學習良好的表示,需要一個包含大量負樣本的大型字典,同時保持字典鍵的編碼器盡可能保持一緻。這種方法的核心是将字典視為隊列而不是靜态内存庫或小批量的處理。這樣可以為動态字典提供豐富的負樣本集,同時還将字典大小與小批量大小解耦,從而根據需要使負樣本變得更大。
  • SimCLR - 核心思想是使用更大的批大小(8192,以獲得豐富的負樣本集),更強的數據增強(裁剪,顔色失真和高斯模糊),并在相似性匹配之前嵌入的非線性變換,使用更大模型和更長的訓練時間。這些都是需要反複試驗的顯而易見的事情,該論文憑經驗表明這有助于明顯的提高性能。

但是對比學習也有局限性:

  • 需要大量的負樣本來學習更好的表示。
  • 訓練需要大批量或大字典。
  • 更高的維度上不能進行縮放。
  • 需要某種不對稱性來避免常數解。
數據增強的有趣觀察

在上面提到的所有方法/算法中,數據增強都起着關鍵作用。為了訓練類似 SSL 模型,通過一組規則(裁剪、移動、旋轉、顔色失真、模糊等)增強原始圖像來生成正對。然後模型學會忽略這種噪聲(例如平移、顔色失真和旋轉不變性),以學習與正對(原始圖像和增強圖像)接近的表示。但是這些模型在圖像識别任務上做得很好,但當模型已經學會忽略這些變化時,以相同的表示進行目标檢測任務時會獲得非常差的效果。這是因為它很難在對象周圍放置邊界框,因為學習的表示被訓練為忽略目标對象的位置和定位。

非對比學習

與對比學習不同,模型僅從正樣本中學習,即從圖像及其增強視圖中學習。

理論上上感覺這應該行不通,因為如果網絡隻有正例,那麼它就學會忽略常量向量的輸入和輸出(上面提到的模式崩潰),這樣損失就會變成0。

而實際上這并沒有發生模型學習到了良好的表示。 為什麼呢? 下面通過描述該領域的一些關鍵算法來進行說明 :

1、BARLOW TWINS:這是一種受神經科學啟發的算法,基于 1961 年發表的論文的發現。它仍然使用如上所述的帶有增強圖像的聯合嵌入式架構。但是它核心思想是使圖像嵌入輸出之間的互相關矩陣盡可能接近單位矩陣。 這個簡單的想法避免了複雜的解決方案,并獲得了 ImageNet 上的 SOTA 性能。并且它在高維度上效果更好,不需要不對稱,不需要大批量的數據或内存存儲或任何其他啟發式方法來使其工作。

下圖解釋了算法的整體架構。 單個圖像在增強策略的分布上被處理兩次。 然後兩個圖像都通過相同的編碼器網絡。 損失函數的定義方式是将互相矩陣簡化為單位矩陣。

自監督學習新範式(自監督學習的知識點總結)2

損失函數非常直觀

自監督學習新範式(自監督學習的知識點總結)3

這裡 C 是兩個圖像的嵌入之間的互相關矩陣。 在這裡沒有使用任何負樣本!

第一項,當所有 C_ii 為 1 即相關矩陣的對角元素為 1 時,損失函數中的不變項最小。這使得随着相關性的加強,嵌入對增強處理保持不變。第二項,即冗餘縮減項強制非對角線值為 0,即它使嵌入的其他維度去相關。 這使得模型在增強處理的同時學習有關樣本的非冗餘信息。

2、BYOL:這種方法不像 Barlow Twins 那樣簡單,因為它需要某些啟發式方法才可以正常工作。 它依賴于兩個神經網絡(target和 target),并試圖從online 中預測target。 兩個網絡中的權重不同。 為了在架構中引入不對稱性以避免瑣碎的常量嵌入,target網絡中引入了預測器模塊。

自監督學習新範式(自監督學習的知識點總結)4

本文中沒有對BYOL進行像 BARLOW TWINS 清晰和直觀的解釋,所以如果想了解其詳細内容請參考原論文:arxiv 2006.07733

另外還有一種最新的方法 VICReg(arxiv:2105.04906)如果有幾乎的話會在後面介紹

總結

總結整篇文章,下圖展示了 SSL 在 NLP 和計算機視覺中的細分。

自監督學習新範式(自監督學習的知識點總結)5

最後就是引用:

  1. Lex Friedman interviewing Yann LeCun for 3 hours
  2. Zbontar, Jure, et al. “Barlow twins: Self-supervised learning via redundancy reduction.” International Conference on Machine Learning. PMLR, 2021.
  3. Grill, Jean-Bastien, et al. “Bootstrap your own latent-a new approach to self-supervised learning.” Advances in Neural Information Processing Systems 33 (2020): 21271–21284.
  4. He, Kaiming, et al. “Momentum contrast for unsupervised visual representation learning.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020
  5. Chen, Ting, et al. “A simple framework for contrastive learning of visual representations.” International conference on machine learning. PMLR, 2020.
  6. Yann LeCun’s blog on self supervised learning
  7. Ermolov, Aleksandr, et al. “Whitening for self-supervised representation learning.” International Conference on Machine Learning. PMLR, 2021.
  8. Chen, Xinlei, and Kaiming He. “Exploring simple siamese representation learning.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.
  9. Caron, Mathilde, et al. “Deep clustering for unsupervised learning of visual features.” Proceedings of the European conference on computer vision (ECCV). 2018.

作者:Sharad Joshi

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved