Hard Negative Mixing for Constrastive Learning

Hard Negative Mixing for Constrastive Learning

標籤(空格分隔): 複試


深度學習的本質:Representation Learning和Inductive Bias Learning。 目前的情況就是在不涉及邏輯推理的問題下AI系統都可以出色的完成任務,但是涉及到更高級的語義,組合邏輯,則需要涉及一些過程來輔助AI系統去分解任務。

歸納偏好的涉及更多的是任務相關的,複雜的過程需要非常精心的設計,所以很多工作都開始關注到表示學習上。

此處討論的對比學習也屬於表示學習。

1 Batch Size

一次訓練所選取的樣本數量,其大小選擇至關重要,爲了能在內存效率和內存容量之間尋找最佳的平衡狀態,Batch Size應該被精心設置,從而優化網絡模型的性能和速度。

Batch Size不是越大越好,例如我們要學習一個函數$ f:x \rightarrow y $ 其中共有80個樣本點,Batct Size設置爲4, 那麼每次都是四個點進行擬合,假設一次Epoch需要5個Batch,那麼我們可以進行四次Epoch查看其擬合程度, 是否過擬合以及欠擬合。
楊樂春背書:具體的Batch Size應該處於2~32之間,雖然mini-batch的出現是爲了解決:

  • 提高運行效率,相比於batch-GD的每個epoch只更新一次參數,使用mini-batch可以在一個epoch中多次更新參數,加速收斂。
  • 解決了某些任務中,訓練集過大,無法一次性讀入內存的問題。

但是在使用過程中人們發現使用mini-batch由於每次更新沒有使用全量數據僅僅使用batch的數據,從而人爲的給訓練帶來了噪聲,這些噪聲往往可以帶領算法走出局部最優點

啓發: 如果以後在做相關算法的時候發現陷入局部最優解, 可以調小Batch Size看看情況。
瞎扯:聽說GPU喜歡2的冪數,可以設置一下試試。

Epoch:隨着epoch數量的增加神經網絡中權重更新迭代的次數增多, 會使其從 欠擬合狀態 到 擬合狀態 到過擬合狀態。 一般情況下 Epoch大小和數據集多樣化程度正相關。

2 文章

2.1 動機/改進點

大量的數據集和負樣本是Representation Learning的關鍵,本文認爲困難負樣本的作用被忽視了,但是爲了獲得更多的困難負樣本,目前的解決方案要麼是增大Batch Size要麼是保持一個很大的 memory banks,但是正如前面所說的 這個東西並不是越大越好,而且不斷增加的內存需求也會導致性能上的收益遞減。本文的主要目標就是針對一個表現最好的框架開始,去證明更難的負樣本可以更快更好的促進學習,基於上述內容可以在特徵層面上進行困難樣本混合策略。

2.2 簡介

根據目前現狀選擇自監督學習作爲實驗樣本,根據文中引用得出一味的增加 memory/batch size會造成收益遞減,效率降低,更多的負樣本並不意味着更難的負樣本。所以在這裏我們沒辦法通過這種方法來獲取我們想要的更難的負樣本。
由動量編碼器可以得出,更困難的負樣本可以促進更快更好的學習。基於此原有,本文提出負樣本混合策略,用最小的開銷進行計算。其名稱爲Mochi其含義爲(M)ixing (o)f (C) oncontrast (H)ard negat(i)ves

可以看到對於一個查詢(紅色方形)對應的有很多的負樣本,大部分的負樣本都是簡單負樣本,只有和紅色接近的是困難樣本,過於簡單的負樣本無法得出足夠好的對比差異(文中的對比損失),本文主要做的事情就是講這些負樣本通過混合的方式得到上圖中的更困難負樣本(藍色三角形)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章