這篇文章給出了用元學習做few-shot的baseline。整體感覺是實驗做得很豐富,但是創新不太明顯,簡單總結一些實驗過程和結論。code:https://github.com/cyvius96/few-shot-meta-baseline。
關於元學習和few-shot的基本內容有個很好的解釋:Model-Agnostic Meta-Learning (MAML)模型介紹及算法詳解(轉載 。
baseline包括兩部分:classifier-baseline和Meta-Baseline。
classifier-baseline:在base類上預訓練一個分類器,然后移去最后一個分類器。把novel類的support特征都提出來,求均值作為每個類中心,然后把novel類的query數據按照余弦相似性進行分配(這個過程是eval過程,在meta-baseline中是meta-learning過程)。和之前方法的區別:之前的方法是吧novel數據扔進網絡微調分類器,而本文不需再訓練這個丟掉的分類器。就這個操作就和sota能打了。
meta-baseline:然后是這個東西,用於在classifier-baseline再提升。在meta-learning過程,利用上面的eval方法進行訓練。
下圖很明確:
性能:
一些贈品:
base和novel的類別相似性影響meta-learning能否提升classifier-baseline
數據規模越大,meta-learning提升越小
meta-learning對於1-shot提升要高於5-shot
meta-learning階段,base class的泛化性能增加,而novel class的泛化性能在下降。如下圖: