數據太少怎麼辦?試試自監督學習,CV訓練新利器,fast.ai新教程,LeCun點評

  • 2020 年 2 月 21 日
  • 筆記

十三 發自 凹非寺 量子位 報道 | 公眾號 QbitAI

數據少,又沒有預訓練模型,怎麼破?

給你個秘密武器——自監督學習

數據科學家 Jeremy Howard 發佈一條Twitter:

在醫學圖像領域,我們經常需要靠一點點的數據來做很多工作。 在這個問題上,有一種被低估的方法,正是自監督學習,簡直太神奇!

還附上了與之相關的最新fast.ai教程。

地址:https://www.fast.ai/2020/01/13/self_supervised/

這一推文立即引起了大量網友的關注,可謂是好評如潮。

這是篇了不起的文章,太酷了! 這是一種簡單且強大的技術。

接下來,讓我們一起看下,自監督學習到底有多厲害。

自監督學習簡介

在多數情況下,訓練神經網絡都應該從一個預訓練(pre-trained)模型開始,然後再對它進行微調。

通過預訓練模型,可以比從頭開始訓練,節省1000倍的數據。

那麼試想一下,你所在的領域中,要是沒有預訓練模型,該怎麼辦?

例如在醫學圖像領域,就很少有預先訓練過的模型。

而最近有一篇比較有意思的論文,就對這方面問題做了研究。

論文地址:https://arxiv.org/pdf/1902.07208.pdf

研究發現,即便使用ImageNet模型(預訓練過的)中的前幾層(early layers),也可以提高醫學成像模型的訓練速度和最終準確性。

所以說,即便某個通用預訓練模型,不在你的研究領域範圍內,也可以嘗試使用它。

然而,這項研究也指出了一個問題:

其改進程度並不大。

那有沒有不需要大量數據,還能取得較好效果的技術呢?

自監督學習就是一個秘密武器。

它可以被看作是機器學習的一種「理想狀態」,模型直接從無標籤數據中自行學習,無需標註數據。

舉個例子,ULMFiT(一種NLP訓練方法)的關鍵就是自監督學習,極大的提高了NLP領域的技術水平。

論文地址:https://arxiv.org/abs/1801.06146

在基於自監督學習的方法,首先訓練了一個語言模型,可以預測某句話的下一個單詞。

而當把這個預訓練好的模型,用在另一個任務中時(例如情緒分析),就可以用少量的數據,得到最新的結果。

計算機視覺中的自監督學習

在自監督學習中,用於預訓練的任務被稱為pretext task(前置/代理任務)

然後用於微調的任務被稱為downstream task(下游任務)

儘管目前在NLP領域中,自監督學習的應用還算普遍,但是在計算機視覺領域中,它卻很少使用。

也許是因為諸如ImageNet這樣的預訓練模型比較成功,所以像醫學成像領域中的研究人員,可能不太熟悉自監督學習的必要性。

接下來的內容便展示了CV領域中應用自監督學習的論文例子。

希望越來越多的人可以重視這一關鍵技術。

圖像着色(Colorization)

Colorful Image Colorization

論文地址:https://arxiv.org/abs/1603.08511

Learning Representations for Automatic Colorization

論文地址:https://arxiv.org/pdf/1603.06668

Tracking Emerges by Colorizing Videos

https://arxiv.org/pdf/1806.09594

效果展示

將圖像patch放在正確位置

Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles

論文地址:https://arxiv.org/pdf/1603.09246

Unsupervised Visual Representation Learning by Context Prediction

論文地址:https://arxiv.org/pdf/1505.05192

效果展示

按照正確的順序放置幀

Unsupervised Representation Learning by Sorting Sequences

論文地址:https://arxiv.org/pdf/1708.01246

Shuffle and Learn: Unsupervised Learning using Temporal Order Verification

論文地址:https://arxiv.org/pdf/1603.08561

效果展示

圖像修復(Inpainting)

Context Encoders: Feature Learning by Inpainting

論文地址:https://arxiv.org/pdf/1604.07379

效果展示

分類損壞的圖像

Self-Supervised Feature Learning by Learning to Spot Artifacts

論文地址:https://zpascal.net/cvpr2018/Jenni_Self-Supervised_Feature_Learning_CVPR_2018_paper.pdf

效果展示

選擇一個pretext task

為了在計算機視覺中使用自監督學習,需要回答一個非常重要的問題:

應該使用哪種pretext task?

很多人選擇將「自動編碼器」作為pretext task。

自動編碼器將輸入圖像轉換為一種簡化的形式,然後將其再轉換回儘可能接近原始圖像的內容。

然而,我們不僅需要再生原始圖像內容,還需要再生原始圖像中的所有噪聲。

因此,如果要在下游任務中生成更高質量的圖像,那麼這將是一個不好的選擇。

此外,還需要確保pretext task是人類可以做的事情

例如,預測視頻的下一幀,如果預測時間點過於遙遠,那也是不太可行的。

為下游任務進行微調

一旦用pretext task預訓練了模型,就可以繼續進行微調。

在這一點上,應該把這個問題視為一種遷移學習,不要太多的改變預訓練模型的權重。

總體而言,Jeremy Howard不建議浪費太多時間來創建「完美」的pretext模型,而要構建儘可能快速且容易的模型。

然後,需要確保這個pretext模型是否可以滿足下游任務。

並且,事實證明,通常不需要非常複雜的pretext 任務,就可以在下游任務中取得較好的結果。

Yann LeCun更好的方法建議

Jeremy Howard在發出這條Twitter之後,深度學習三巨頭之一的Yann LeCun對其回復。

Yann LeCun提出了更好的建議:

現在,學習視覺特徵最佳SSL方法是使用孿生神經網絡(Siamese network)來學習嵌入。

相關研究包括:

Self-Supervised Learning of Pretext-Invariant Representations

論文地址:https://arxiv.org/pdf/1912.01991

Jeremy Howard對LeCun回復道:

將PiRL添加到任意pretext task中是非常好的一件事情。

Jeremy Howard

Jeremy Howard

Jeremy Howard,澳大利亞數據科學家和企業家。fast.ai創始研究人員之一,fast.ai是一家致力於使深度學習更易用的研究所。

在此之前,他曾是Enlitic(位於舊金山的高級機器學習公司)的首席執行官兼創始人。

傳送門

Twitter: https://twitter.com/jeremyphoward/status/1216882509692059650

fast.ai博客: https://www.fast.ai/2020/01/13/self_supervised/

作者系網易新聞·網易號「各有態度」簽約作者