預測圖像旋轉角度就能實現自監督?

Unsupervised Representation Learning by Predicting Image Rotations(2018)

概述

「對圖像做各種幾何上的變換,試圖讓模型辨識並從中學習」是Self-Supervised Learning研究中主要的手段。本次選讀的論文使用了非常簡單的概念—圖像旋轉。文中有提到,人類基本上都是以頭上腳下這樣的視角來認知世界,因此,如果我們看到一樣角度跟正常認知不一樣的圖片時,大致上也能判斷出來(當然,必須撇除掉那些有對稱性,無法看出角度偏差的物體,ex.球體)利用這一點,作者打算訓練出能像人類一樣能夠看出旋轉差異的模型,藉此讓使模型理解物件的本質。並且該研究的結果在當時也是大幅拉近了Self-Supervised和Supervised之間的差距。
img01

研究方法

該模型所要預測的,並不是旋轉角度的數值,而是把這個問題離散化。整個資料集會有K種旋轉角度(ex. 0°、180°)並各自劃分為一個類別,因此共會有K個類別。所以,整個模型其實就是在處理分類問題,自然loss function也是使用Categorical Cross Entropy。至於分類那幾種旋轉角度,會訓練出最好的模型呢?這裡先說結論,使用 0°、90°、180°、270° 四種的效果是最佳的,原因可以先想想看,本文後續會提到作者對此的看法。
img02

另外,概述中也有提到,之所以用旋轉角度的分類作為Pretext Task,正是因為在直覺上來說,只有當模型確實對物件的特徵有所認知,才能辦法做好角度的分類。為了證明該論述是正確的,論文中還作了以下的實驗。

最後統整一下,首先此方法計算量與收斂速度跟supervised差不多,而且還能平行計算。另外,圖像的前處理簡單,只需要轉置跟翻轉即可實現。如果前處理複雜,可能留下不相干的資訊被模型學習到。

實驗結果

首先,該研究使用CIFAR10資料集做為測試,並且把這個旋轉辨識的模型稱為RotNet(詳細模型參數設定請參閱原文)以下是對於該模型成果的一些分析與討論。

結語

這篇論文的方法算是非常簡單的,沒有甚麼數學上的問題,純粹就是提出一個方法,而且效果也很不錯。在SSL的研究還沒那麼蓬勃發展的時期,這篇論文算是大幅推進了該領域。不過之後如果介紹近2020~2021年間SSL有名的論文,可能重新回來看這篇,會有種「研究走的真他媽快」的感覺。總之,這是我第一篇紀錄並介紹論文的文章,挑了相對簡單的,可能是因為我就爛.jpg,只看得懂簡單的論文。
meme
回到目錄