CLIPのファインチューニング後に起こる「破滅的忘却」とPAINT
本記事は、機械学習モデルで起こる「破滅的忘却」と呼ばれる現象と、その対策の一例について紹介する。
なお、特にCLIPにおける破滅的忘却についての記事である。
CLIPを使ってみたい方はこちら
「破滅的忘却(Catastrophic Forgetting)」とは
事前学習済みモデルをファインチューニングした際、対象のタスク以外の性能が大きく劣化してしまう現象である。
例えば、1000クラスの画像分類ができるように学習したモデルに対し、追加で100クラスの画像を分類するためのファインチューニングをおこなう。
すると、追加の100クラス分類は得意になるが、以前の1000クラスは全く分類できなくなる。
この、1000クラス分類が急に苦手になってしまう現象が「破滅的忘却」である。
マルチタスク学習などで、事前学習時のタスクを忘れないようにする工夫もある。
しかし、必要なデータや計算リソースが、タスクを増やしていくにつれて爆発する。
個々のタスクの精度を維持しながらの学習も難しい。
「継続学習(Continual Learing)」と呼ばれる対策もある。
破滅的忘却への対策「PAINT」
破滅的忘却を起こさずファインチューニングをおこなう「PAINT(Patching with INTerpokation)」という手法がある。
まず、特定のタスクでCLIPのファインチューニングをおこなう。
次に、ハイパーパラメータαを用いて、重み付き和θpaintを得る。
PAINT適用後の重みをθpaint、ファインチューニング後の重みをθft、事前学習後の重みをθzsとすると、以下の式で表される。
https://scrapbox.io/files/67713a7e514b0663cb4e3671.png
元論文では、事前学習タスクの精度劣化を1%未満にしつつ、他のタスク精度を15~60%改善した。
コメント
なぜこのような話題についての記事を突然書いたのかというと、「CLIPのファインチューニングってどうやってやるんだろなー」と不意に思ったからだけである。
調べていく中で、「破滅的忘却」という、かっこいい文字列を見つけたからである。
なお、参考文献をざーっくりと読んだので、不明点は元論文を参考にしていただきたい。
参考文献
Patching open-vocabulary models by interpolating weights
NeurIPS
2022
https://openreview.net/pdf?id=CZZFRxbOLC
#Yuma_Oe
#paper
#論文紹介