論文標題:Contrastive Learning with Hard Negative Samples
論文方向:圖像&文本領域,研究如何採樣優質的難負樣本
論文來源:ICLR2021
論文連結:https://arxiv.org/abs/2010.04592
論文代碼:https://github.com/joshr17/HCL
對比學習在無監督表徵學習領域的潛力無需多言,已經有非常多的例子證明其效果,目前比較多的針對對比學習的改進包括損失函數、抽樣策略、數據增強方法等多方面,但是針對負對的研究相對而言更少一些,一般在構造正負對時,大部分模型都簡單的把單張圖像及其增強副本作為正對,其餘樣本均視為負對。這一策略可能會導致的問題是模型把相距很遠的樣本分得很開,而距離較近的負樣本對之間可能比較難被區分。
基於此,本文構造了一個難負對的思想,主要目的在於,把離樣本點距離很近但是又確實不屬於同一類的樣本作為負樣本,加大了負樣本的難度,從而使得類與類之間分的更開,來提升對比學習模型的表現。
好的難負樣本有兩點原則:1)與原始樣本的標籤不同;2)與原始樣本儘量相似。
這一點就與之前的對比學習有比較明顯的差異了,因為對比學習一般來說並不使用監督信息,因此除了錨點之外的其他樣本,不管標籤如何,都被認為是負對,所以問題的一個關鍵在於「用無監督的方法篩出不屬於同一個標籤的樣本」。不僅如此,這裡還有一個衝突的地方,既要與錨點儘可能相似,又得不屬於同一類,這對於一個無監督模型來說是有難度的,因此本文在實際實現過程中進行了一個權衡,假如對樣本的難度要求不是那麼高的時候,就只滿足原則1,而忽略原則2。同時,這種方法應該儘量不增加額外的訓練成本。
論文標題:What Should Not Be Contrastive in Contrastive Learning
論文方向:圖像領域,探討對比學習可能會引入偏差
論文來源:ICLR2021
論文連結:https://arxiv.org/abs/2008.05659
當前對比學習的框架大多採用固定的數據增強方式,但是對於不同的下遊任務,不同的數據增強肯定會有不一樣的效果,例如在數據增強中加入旋轉,那麼下遊任務就會難以辨別方向,本文針對該問題進行研究。
如果要應用一個數據增強集合
作者發現原來的對比學習都是映射到同一空間,但是這樣會有害學習其他的特徵,所以作者把每個特徵都映射到單獨的特徵空間,這個空間裡都只有經過這一種數據增強的數據。
總而言之,數據增強是要根據下遊任務來說的,分成不同的Embedding空間來適合多種不同的下遊任務,但是對需要兩種以上特徵的下遊任務效果可能就不好了。比如不僅僅需要結構信息,還需要位置。
論文標題:Pre-training Text-to-Text Transformers for Concept-centric Common Sense
論文方向:文本領域,利用對比學習和自監督損失,在預訓練語言模型中引入常識信息
論文來源:ICLR2021
論文連結:https://openreview.net/forum?id=3k20LAiHYL2
論文代碼:https://github.com/INK-USC/CALM
預訓練語言模型 在一系列自然語言理解和生成任務中取得了令人矚目的成果。然而,當前的預訓練目標,例如Masked預測和Masked跨度填充並沒有明確地對關於日常概念的關係常識進行建模,對於許多需要常識來理解或生成的下遊任務是至關重要的。
為了用以概念為中心的常識來增強預訓練語言模型,在本文中,作者提出了從文本中學習常識的生成目標和對比目標,並將它們用作中間自監督學習任務,用於增量預訓練語言模型(在特定任務之前下遊微調數據集)。此外,作者開發了一個聯合預訓練框架來統一生成和對比目標,以便它們可以相互加強。
大量的實驗結果表明,CALM可以在不依賴外部知識的情況下,將更多常識打包到預訓練的文本到文本Transformer的參數中,在NLU和NLG 任務上都取得了更好的性能。作者表明,雖然僅在相對較小的語料庫上進行了幾步的增量預訓練,但 CALM 以一致的幅度優於baseline,甚至可以與一些較大的 預訓練語言模型相媲美,這表明 CALM 可以作為通用的「即插即用」 方法,用於提高預訓練語言模型的常識推理能力。
8.Support-set bottlenecks for video-text representation learning論文標題:Support-set bottlenecks for video-text representation learning
論文方向:多模態領域(文本+視頻),提出了cross-captioning目標
論文來源:ICLR2021
論文連結:https://arxiv.org/abs/2010.02824
學習視頻-文本表示的主流典範——噪聲對比學習——增加了已知相關樣本對的表示的相似性,例如來自同一樣本的文本和視頻,但將所有樣本對都認為是負例。作者認為最後一個行為過於嚴格,即使對於語義相關的樣本也強制執行不同的表示——例如,視覺上相似的視頻或共享相同描述動作的視頻。
在本文中,作者提出了一種新方法,通過利用生成模型將這些相關樣本自然地推到一起來緩解這種情況:每個樣本的標題必須重建為其他支持樣本的視覺表示的加權組合。這個簡單的想法確保表示不會過度專門用於單個樣本,可以在整個數據集中重複使用,並產生明確編碼樣本之間共享語義的表示,這與噪聲對比學習不同。作者提出的方法在 MSR-VTT、VATEX、ActivityNet 和 MSVD 的視頻到文本和文本到視頻檢索方面明顯優於其他方法。
Cross-modal discrimination和cross-captioning:作者的模型從兩個互補的損失中學習:(a)Cross-modal 對比學習學習強大的聯合視頻文本的Embedding,但所有其他樣本都被認為是負例,甚至推開語義相關的標題(橙色箭頭)。(b) 我們引入了cross-captioning的生成任務,通過學習將樣本的文本表示重構為支持集的加權組合,由其他樣本的視頻表示組成,從而緩解了這一問題。
作者的cross-modal框架具有判別(對比)目標和生成目標。該模型學習將公共Embedding空間中的視頻-文本對與文本和視頻編碼器(頂部)相關聯。同時,文本還必須重建為來自支持集的視頻Embedding的加權組合,通過Attention選擇,這會強制不同樣本之間的Embedding共享。
對比學習(NIPS2020)
論文標題:Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID
論文方向:目標重識別,提出自步對比學習,在無監督目標重識別任務上顯著地超越最先進模型高達16.7%
論文來源:NIPS2020
論文連結:https://arxiv.org/abs/2006.02713
論文代碼:https://github.com/yxgeee/SpCL
本文提出自步對比學習(Self-paced Contrastive Learning)框架,包括一個圖像特徵編碼器(Encoder)和一個混合記憶模型(Hybrid Memory)。核心是混合記憶模型在動態變化的類別下所提供的連續有效的監督,以統一對比損失函數(Unified Contrastive Loss)的形式監督網絡更新,實現起來非常容易,且即插即用。
上文中提到混合記憶模型(Hybrid Memory)實時提供三種不同的類別原型,作者提出了使用動量更新(Momentum Update),想必這個詞對大家來說並不陌生,在MoCo、Mean-teacher等模型中常有見到,簡單來說,就是以「參數= (1-動量)x新參數+動量x參數」的形式更新。這裡針對源域和目標域採取不同的動量更新算法,以適應其不同的特性。
對於源域的數據而言,由於具有真實的類別,作者提出以類為單位進行存儲。這樣的操作一方面節省空間,一方面在實驗中也取得了較好的結果。將當前mini-batch內的源域特徵根據類別算均值,然後以動量的方式累計到混合記憶模型中對應的類質心上去。對於目標域的數據而言,作者提出全部以實例為單位進行特徵存儲,這是為了讓目標域樣本即使在聚類和非聚類離群值不斷變化的情況下,仍然能夠在混合記憶模型中持續更新(Continuously Update)。具體而言,將當前mini-batch內的目標域特徵根據實例的index累計到混合記憶模型對應的實例特徵上去。
論文標題:Big Self-Supervised Models are Strong Semi-Supervised Learners
論文方向:圖像領域(Google出品)
論文來源:NIPS2020
論文連結:Big Self-Supervised Models are Strong Semi-Supervised Learners
論文代碼:https://github.com/google-research/simclr
本文針對深度學習中數據集標籤不平衡的問題,即大量的未標註數據和少量標註數據,作者提出了一種弱監督的模型SimCLRv2(基於SimCLRv1)。作者認為這種龐大的、極深的網絡更能夠在自監督的學習中獲得提升。論文中的思想可以總結為一下三步:
1. 使用ResNet作為backbone搭建大型的SimCLRv2,進行無監督的預訓練;
2. 然後在少量有標註的數據上進行有監督的finetune;
3. 再通過未標註的數據對模型進行壓縮並遷移到特定任務上;
實驗結果表明他們的模型對比SOTA是有很大的提升的:
作者採用SimCLR中的對比訓練方法,即,最大化圖片與其增強後(旋轉、放縮、顏色變換等)之間的關聯程度,通過優化在其隱空間上的對比損失,其公式如下:
SimCLR V2的網絡結構如下所示:
在SimCLR V2中,相比V1有一下幾點改進:
V2大大加深了網絡的規模,最大的規模達到了152層的ResNet,3倍大小的通道數以及加入了SK模塊(Selective Kernels),據說在1%標註數據的finetune下可以達到29%的性能提升;
首先V2使用了更深的projection head;其次,相比於v1在預訓練完成後直接拋棄projection head,V2保留了幾層用於finetune,這也是保留了一些在預訓練中提取到的特徵;
使用了一種記憶機制(參考了這篇論文),設計一個記憶網絡,其輸出作為負樣本緩存下來用以訓練。
3.Hard Negative Mixing for Contrastive Learning論文標題:Hard Negative Mixing for Contrastive Learning
論文方向:圖像和文本領域,通過在特徵空間進行 Mixup 的方式產生更難的負樣本
論文來源:NIPS2020
論文連結:https://arxiv.org/abs/2010.01028
難樣本一直是對比學習的主要研究部分,擴大 batch size,使用 memory bank 都是為了得到更多的難樣本,然而,增加內存或batch size並不能使得性能一直快速提升,因為更多的負樣本並不一定意味著帶來更難的負樣本。於是,作者通過Mixup的方式來產生更難的負樣本。該文章對這類問題做了詳盡的實驗,感興趣的可以閱讀原論文。
論文標題:Supervised Contrastive Learning
論文方向:提出了監督對比損失(Google出品,必屬精品)
論文來源:NIPS2020
論文連結:https://arxiv.org/abs/2004.11362
有監督方法vs自監督方法的對比損失:
supervised contrastive loss(左),將一類的positive與其他類的negative進行對比(因為提供了標籤), 來自同一類別的圖像被映射到低維超球面中的附近點。
self-supervised contrastive loss(右),未提供標籤。因此,positive是通過作為給定樣本的數據增強生成的,negative是batch中隨機採樣的。這可能會導致false negative(如右下所示),可能無法正確映射,導致學習到的映射效果更差。
論文核心點:
實驗方面,主要在ImageNet上進行了實驗,通過accuracy驗證其分類性能,通過common image corruption 驗證其魯棒性。
5.Contrastive Learning with Adversarial Examples論文標題:Contrastive Learning with Adversarial Examples
論文方向:對抗樣本+對比學習
論文來源:NIPS2020
論文連結:https://arxiv.org/abs/2010.12050
本文在標準對比學習的框架中,引入了對抗樣本作為一種數據增強的手段,具體做法為在標準對比損失函數基礎上,額外添加了對抗對比損失作為正則項,從而提升了對比學習基線的性能。簡單來說,給定數據增強後的樣本,根據對比損失計算對該樣本的梯度,然後利用 FGSM (Fast Gradient Sign Method)生成相應的對抗樣本,最後的對比損失由兩個項構成,第一項為標準對比損失(兩組隨機增強的樣本對),第二項為對抗對比損失(一組隨機增強的樣本以及它們的對抗樣本),兩項的重要性可指定超參數進行調節。
論文標題:LoCo: Local Contrastive Representation Learning
論文方向:利用對比學習對網絡進行各層訓練
論文來源:NIPS2020
論文連結:https://arxiv.org/abs/2008.01342
上圖左邊,展示了一個使用反向傳播的常規端到端網絡,其中每個矩形表示一個下採樣階段。在中間,是一個GIM,其中在每個階級的末尾加上一個infoNCE損失,但是梯度不會從上一級流回到下一級。編碼器早期的感受野可能太小,無法有效解決對比學習問題。由於相同的infoNCE損失被應用於所有的局部學習塊(包括早期和晚期),早期階段的解碼器由於感受野有限,很難得到表徵進行正確的區分正樣本。例如,在第一階段,我們需要在特徵圖上使用
我們可以在解碼器中加入卷積層來擴大感受野。然而,這種增加並沒有對端到端的simclr產生影響,因為最後階段的感受野足夠很大。其實,通過在局部階段之間共享重疊級,就我們可以有效地使解碼器的感受野變大,而不會在前向傳遞中引入額外的成本,同時解決了文中描述的兩個問題。
7.What Makes for Good Views for Contrastive Learning?論文標題:What Makes for Good Views for Contrastive Learning?
論文方向:提出InfoMin假設,探究對比學習有效的原因(Google出品,必屬精品)
論文來源:NIPS2020
論文連結:https://arxiv.org/abs/2005.10243
首先作者提出了三個假設:
Sufficient Encoder
Minimal Sufficient Encoder
Optimal Representation of a Task
其次,作者舉了一個非常有趣的例子,如下圖所示:
數字, 在某個隨機背景上以一定速度移動, 這個數據集有三個要素:
數字
數字的位置
背景
左邊的v1即為普通的view, 右邊v2+是對應的正樣本, 所構成的三組正樣本對分別共享了數字、數字的位置和背景三個信息,其餘兩個要素均是隨機選擇,故正樣本也僅共享了對應要素的信息. 負樣本對的各要素均是隨機選擇的。
實驗結果如上表,如果像文中所表述的,正樣本對僅關注某一個要素, 則用於下遊任務(即判別對應的元素,如判別出數字,判別出背景, 判別出數字的位置),當我們關注哪個要素的時候, 哪個要素的下遊任務的效果就能有明顯提升(注意數字越小越好)。
本文又額外做了同時關注多個要素的實驗, 實驗效果卻並不理想, 往往是背景這種更為明顯,更佔據主導的地位的共享信息會被對比損失所關注。
作者緊接著, 提出了一些構造 novel views 的辦法。正如前面已經提到過的, novel views v1,v2應當是二者僅共享一些與下遊任務有關的信息, 抓住這個核心。這樣會形成一個U型,最高點定義為甜點,我們的目標就是讓兩個視圖的信息能夠剛好達到甜點,不多不少,只學到特定的特徵。