天天看點

LeCun團隊自監督新作:基于塊感覺後向傳播的自監督算法

作者丨GlobalTrack

編輯丨極市平台

LeCun團隊自監督新作:基于塊感覺後向傳播的自監督算法

論文連結:https://arxiv.org/pdf/2302.01647.pdf

源碼連結:https://github.com/shoaibahmed/blockwise_ssl

LeCun團隊關于自監督算法的新作。

簡介

深度學習成功背後的主要元件之一是後向傳播。相當的識别性能是否能使用局部學習規則(Local Learning Rule)得到仍然是一個問題。之前在監督學習和無監督學習的嘗試隻在小資料集(MNIST)或者大資料集但小網絡(VGG-11)上取得成功。

使深度學習的大規模訓練可以使用局部學習規則用途很多,包括通過局部訓練網絡不同部分,可以優化超大網絡學習同時限制訓練期間記憶體占用。這個方法之前在視訊大規模預測領域使用,使用一系列VAE網絡并已貪心方式訓練;另外可以解鎖自适應計算的可能性。網絡每個部分都被訓練單獨解決子任務,自然可以調整不同部分解決不同部分。

自監督學習在預訓練深度網絡上取得了巨大成功。一個簡單的在最後一層頂部的線性分類器可以産生與最優有監督學習相近的精度。自監督學習目标有兩個部分反應期望學習的屬性:第一個確定網絡輸出對圖像扭曲保持不變性;第二個確定對輸入的表示是有提供有用資訊的。自監督方法的損失函數可能可以更好地反應中間層的目标。

LeCun團隊自監督新作:基于塊感覺後向傳播的自監督算法

本文方法

本文将ResNet-50網絡和Barlow Twins自監督方法作為塊感覺訓練(Blockwise Training)範式。

塊感覺訓練

将ResNet-50網絡劃分為4個子產品,并限制後向傳播路徑長度。ResNet-50架構包括5個有不同特征空間分辨率的子產品,之後包括一個Global Average Pooling操作和一個線性層用作最後分類。本文使用自監督方式分開訓練4個子產品,使用梯度停止確定在一個塊中的損失函數不影響其他塊的科學系參數。

Barlow Twin損失

主要步驟:

輸入圖像傳入深度網絡後傳入兩個投影網絡獲得計算自監督學習損失的嵌入。從兩個不同的圖像視野計算這些嵌入���=Φ(Ψ(���))。Ψ表示ResNet-50編碼器,Φ是投影頭。定義嵌入的交叉相關性矩陣為:

���≜∑���,����,��∑�(��,��)2∑�(��,��)2

Barlow Twins損失函數試圖最大化互相關矩陣的對角項,并使用以下損失函數最小化對角項

���≜∑�(1−���)2+�∑�∑�≠����2

等式左邊第一項為不變項,確定對角元素接近1,確定提取特征對使用的增廣是不變的。第二項是備援項(Reduancy Reduction Term),確定非對角元素接近0,形成最終圖像表示的不同單元(即神經元)捕獲輸入圖像的不同屬性。

池化層選擇

原始的Barlow Twin投影器收到次元為2048的輸入。然而ResNet的初始塊有一個較小的通道(256)。這裡考慮使用不同池化層建構傳入投影器的特征空間。

考慮的池化層包括:

1.全局空間池化(Global Spatial Pooling,GSP):需要改變投影器輸入層的尺寸

2.局部空間池化(Local Spatial Pooling,LSP):将網格劃分為空間容器。在這些容器中局部平均池化,連接配接輸出確定投影器的輸出為2048。

3.基于卷積擴張的池化(Conv-based Expansion Pooling,CbE):需要使用卷積層(1×1卷積)擴張特征次元為2048,後通過全局空間池化。

實驗

同時使用ImageNet資料集訓練ResNet-50模型四個快,并在每個塊最後使用Barlow Twin損失函數。在每個子產品得到的特征圖也加入了标準差�=0.25的噪聲。圖4給出了在ImageNet資料集上相關的實驗結果。本文方法與End-to-end訓練相比僅有1.1%的性能下降。

LeCun團隊自監督新作:基于塊感覺後向傳播的自監督算法

與其他自監督方法的拓展:SimCLR/VicReg 圖5給出了其他自監督方法的實驗。如圖所示,與Barlow Twin實驗結果一緻:隻和原始方法有很小的精度差異。

LeCun團隊自監督新作:基于塊感覺後向傳播的自監督算法

本文首先分析了基于自監督損失訓練與有監督損失訓練的塊感覺模型(每一個塊使用監督學習訓練)。主要到在監督學習情況下,初始塊在分類任務上的性能顯著高于SSL情況,使得初始塊非常特定于任務,而後一個塊看到了相反的趨勢。這表明對于塊感覺學習,自監督學習由于監督學習的優勢:SSL規則保留了初始塊中的輸入資訊,以供後續塊進一步處理;監督學習目标已經丢棄了初始塊的資訊,而這些資訊原本可以被堆疊在其上的塊使用。

另外分析了同時訓練所有架構的重要性,比較的方法是序列優化,已訓練方式訓練每一個塊,在開始訓練新的層前當機之前塊的層。圖4所示精度從68.84%(同時訓練)降到67.12%(序列訓練)。

圖6突出了選擇本文的池化方法的重要性。可以看出基于卷積擴張且沒有全局空間池化(Conv based w/ global spatial pooling)的方法獲得了最高的精度。局部空間池化和全局空間池化的方法在最後一層獲得了相近的精度,且略低于基于卷積擴充且不使用全局空間池化的性能。

LeCun團隊自監督新作:基于塊感覺後向傳播的自監督算法

正确訓練第一塊可以被認為是特别關鍵的,因為所有後續的塊都依賴于它。圖7展示了模型精度對第一個子產品是否精确訓練的敏感性。端到端訓練第一個子產品,然後嵌入快感覺訓練中。通過該政策很大程度彌補了與端到端Barlow Twins方法的差距。如果我們組合前兩個塊(B1和B2),然後使用相同的塊感覺訓練方法對它們進行訓練,這将實作與使用端到端訓練的第一塊相同的性能

LeCun團隊自監督新作:基于塊感覺後向傳播的自監督算法

局限

圖7實驗中将兩個第一塊合并為一個會增加網絡的最終精度,這表明随着我們逐漸将網絡細分為更多塊,性能差距會擴大。是以,我們目前的方法在純局部學習範式中是不成功的。

此外,Barlow Twins的損失函數計算給定層的所有特征的互相關矩陣,這隐含地增加了該特定層的所有神經元之間的互動項。在純局部學習環境中,互動應限于局部社群。