Task Arithmetic in the Tangent Space: Improved Editing of Pre-Trained Modelsを読んで - 学も衒うし、奇も衒う

Task Arithmetic in the Tangent Space: Improved Editing of Pre-Trained Modelsを読んで

本記事は執筆中ですが,先んじて公開します.

都度編集されますが,ご了承のほどよろしくお願いします。

 

 

基本情報

著者

Guillermo Ortiz-Jimenez and Alessandro Favero and Pascal Frossard

URL

Task Arithmetic in the Tangent Space: Improved Editing of Pre-Trained Models | OpenReview

BibTeX


@inproceedings{ ortiz-jimenez2023task, title={Task Arithmetic in the Tangent Space: Improved Editing of Pre-Trained Models}, author={Guillermo Ortiz-Jimenez and Alessandro Favero and Pascal Frossard}, booktitle={Thirty-seventh Conference on Neural Information Processing Systems}, year={2023}, url={<https://openreview.net/forum?id=0A9f2jZDGW>} }

研究背景/前提知識

Task Vector (タスクベクトル)

Task Vector とは、ある特定のタスクに調整されたモデルパラメータ(ベクトル)のこと.このベクトルの加算・減算によって狙ったタスクへと調整することができる.

たとえば、数学が得意なモデルAのモデルパラメタを\theta_A、英語が得意なモデルBのモデルパラメタを  \theta_B とする.このとき、英語も数学も得意なモデルは \alpha \theta_A + \beta \theta_B \ (\alpha + \beta = 1) で得られる.実験的に有効とされてきたが、動作原理はいまだによくわかってない部分が多い.

Word2Vecの類推同様に、タスク同士の類推ができることも知られている.ただし,この部分について疑義がある.

 

Neural Tangent Kernel (神経接核)

このとても硬い訳語はこの概念を考えた甘利先生によるもの.閑話休題

数学的な議論になるが、タイトルの接空間の伏線回収なので、厳密さを心がける.

まず、Neural Tangent Kernel(以下、NTK)は関数空間上の内積で、

 \displaystyle K(x,x’)=(\nabla_\theta f(x;\theta))(\nabla_\theta f(x;\theta))^T=\frac{\partial f(\mathbf{x}; \theta)}{\partial \theta} \frac{\partial f(\mathbf{x'}; \theta)}{\partial \theta}

である. fは入力 xを受け取るパラメータ \thetaを持つモデルである.この勾配ベクトルは勾配降下法の更新式

 \displaystyle \theta_{i+1}=\theta_i-\mu \nabla f(x;\theta_i)

から現れる.ただし、 \muは学習率で固定の値と仮定する.確率的勾配降下法(SGD)であれば、この学習率は各学習エポックによって変動するので

 \displaystyle \theta_{i+1}=\theta_i-\mu_i \nabla f(x;\theta_i)

と書ける.

接空間(tangent space)とは、多様体の各点に定義される線形空間.基底は各点に対する方向微分を取ればよい.例えば、球体を例にとると、直感的な意味での接平面になる.各方向微分を任意に2つ選べば、基底になるのも直感的である. NTKに現れた勾配ベクトルは接空間の基底となる.

厳密な定義は微分幾何の教科書参照.便利なのは,東大の方が書いたpdf(https://event.phys.s.u-tokyo.ac.jp/physlab2023/pdf/mat-article04.pdf).

 

無限幅NNと有限幅NN

無限幅の議論では、線形回帰に対応するカーネルとしてNTKがとれる.有限幅にすると、一般には取れないが、パラメータの摂動が十分に小さいときにNTKをとれる.

詳しい話は、持橋『ガウス過程回帰』がわかりやすい.NTKの議論は、甘利『情報幾何の新展開』がよさそう.

 

memo : 性質の良いアーテクチャでは、カーネルトリックが適用できる場合もある.

memo : カーネル法の議論はやはり強い.

memo : NTKの理論が適用できない範囲をrich regimeという.日本だと唐木田先生とか鈴木先生あたりがやってるイメージ.IBISあたりで聞けるお話.

 

Weight disentanglement

Disentanglementとは,独立な軸に分解された状態のこと.字義通りでいけば,Dis + entanglementで、「もつれがとれた」ような状況のこと.

このあたりの議論は、佐藤先生の解説記事がわかりやすい.埋め込み空間(潜在空間)について、disentanglementは解釈性の観点から研究されているテーマな気がする.

NTKによる特徴量をパルツェン窓を通して理解するとわかりやすい.直感的には,それぞれのタスクベクトル  \mathcal{D}_1, \mathcal{D}_2 が独立して、モデル fに作用しているようなイメージ.

訓練の過程であまり変動しない場合、1次テイラー展開で近似すればよい.

大まかな描像(元論文図4)

f_{lin}(\theta*)f(\theta_0)の微調整後のモデルf(\theta*)fの接空間 \mathcal{K}の上へと近似したもの.f_{lin}(\theta_{lin}*)は接空間上での訓練.

技術や手法のきもはどこ?

NTKでの解析はダメだったので、さらにweight disentanglementによって考察を深めている.

どうやって有効だと示した?

仮説

Task ArithmeticをNTKのKernel Behaviorで説明可能.

実験

もし、仮説が有効ならば、Non LinearとPost hocは同じ性能になるはず.

ただし、ここでの編集方法は次の通り.(元論文の式1)

 f\left(x;\theta + \sum_i \alpha_i \tau_i\right)

結果1(Task Addition)

結果2(Task Negation)

[llharco+ ICLR 2023] ではNegation(忘却)タスクとして、別のデータセットと評価指標が用いられていることに注意.

Weight Disentanglement

左辺がTask Arithmetic で編集したモデル,右辺が個別タスクで微調整したモデルのアンサンブル.元論文式4と5.

 \displaystyle f(x; \theta+\sum_i \alpha_i \tau_i ) \sim \sum_i f(x; \theta+\alpha_i \tau_i)

この度合いが強ければ強いほど明るい色になっている.

次に読むべき論文は?

LORAとかも面白そう.