1. 對比學習
對比學習(Contrastive Learning)是一種自監督學習的方法,旨在通過比較數據表示空間中的不同樣本來學習有用的特征表示。其核心思想是通過最大化同類樣本之間的相似性(或降低它們之間的距離),同時最小化異類樣本之間的相似性(或增加它們之間的距離),來學習數據的有意義表示。
2. SimCLR
SimCLR(Simple Contrastive Learning of Representations)是一種用于自監督學習的框架,旨在學習數據表示的高效表示,通過比較同一圖像的不同視圖來學習圖像表示。
- 數據增強(Data Augmentation):simCLR首先對每個輸入樣本應用多種數據增強操作,這些操作包括裁剪、顏色、變換等。通過應用多種不同的增強,可以生成多個視角或變體的同一樣本。越離譜需要學的越多。
- 特征提取和編碼器(Feature Extraction and Encoder):每個增強后的樣本經過一個共享的卷積神經網絡(如ResNet),這個網絡通常包含多個卷積層和池化層,用來提取輸入數據的特征。Encoder的輸出是一個高維特征向量,這些向量捕捉了輸入數據在不同視角下的表示。
為了加強學習,SimCLR網絡通常包含一個投影頭(Projection Head),用于將從特征提取器中提取的特征映射到一個更高維度的表示空間。這有助于提高對比學習的性能和有效性。
- 對比損失計算(Contrastive Loss Calculation):核心是使用對比余弦相似性(Contrastive Cosine Similarity),它衡量了兩個數據表示之間的相似性。對于每個輸入樣本,在編碼器輸出的特征向量上進行正則化(Normalization),然后計算它們的余弦相似度。具體步驟:將每個特征向量歸一化為單位長度,這有助于捕捉特征向量的方向信息而不是其幅度;使用余弦相似度度量來比較每對增強樣本的相似性;對于每個樣本,選擇同類樣本(即同一原始樣本的其他增強版本)作為正樣本,選擇其他所有樣本作為負樣本(即所有其他原始樣本的增強版本)。
- 損失函數最小化:simCLR的目標是最大化同類樣本的相似性(即余弦相似度),同時最小化異類樣本的相似性。因此,它的損失函數通常定義為最小化負對數似然(Negative Log-Likelihood)或最大化交叉熵損失函數,這些損失函數都是用來度量對比損失的效果。
- 訓練與特征評估:模型通過隨機梯度下降(SGD)或其變種進行訓練,優化損失函數。一旦模型訓練完成,可以使用編碼器(Encoder)提取的特征向量來表示新的未見數據,并在其上執行各種監督或非監督任務,例如分類、聚類或檢索等。
3. 多模態任務
多模態任務(multimodal tasks)涉及處理和理解多種不同類型數據的任務,這些數據可以來自于不同的傳感器、來源或數據源。這些任務通常需要綜合利用來自多個模態(如文本、圖像、音頻等)的信息來完成。
4. BYOL
BYOL(Bootstrap Your Own Latent)是一種自監督學習方法,特別適用于視覺任務中的表示學習。它由DeepMind提出,旨在通過自動化的方式學習高質量的特征表示,無需人工標注的大規模數據集。
BYOL利用自監督學習的方法,通過最大化兩個不同視角下同一圖像的相似性來學習視覺特征。這種方法避免了依賴于大量標注數據的訓練,使得模型可以在資源有限的情況下進行有效學習。
5. SimCSE
SimCSE(Simple Contrastive Learning of Sentence Embeddings)是一種用于學習句子嵌入(sentence embeddings)的簡單對比學習方法。它的核心思想是通過對比學習的方式,將語義相似的句子映射到接近的空間位置,從而學習到句子的語義表示。