C-LoRA
https://gyazo.com/4e33c94a8ffb7e9b2c9a91b5d3bae344
Project : https://jamessealesmith.github.io/continual-diffusion/
Paper : https://arxiv.org/abs/2304.06027Continual Diffusion: Continual Customization of Text-to-Image Diffusion with C-LoRA
1つのモデルを複数回ファインチューニングすると、catastrophic forgettingが起こる
新しい概念を学習するたびに以前学習した概念を忘れてしまう現象
これに対処するためC-LoRAを提案する
https://gyazo.com/a3e3fccc7bc4feccd6321886d6f2726f
10個の概念を順番に学習させる(画像はそのうち3つの概念で画像生成)
C-LoRA(右下)はそれぞれの概念が混ざらずに学習できている
堀北真希は微妙だけどたぶんSDv1.5のせい
https://gyazo.com/a722cbff7a02c09ccbf96c300109b527
複数の概念を完璧に組み合わせられる
これがすごいnomadoor.icon
<lora:aaa:0.6><lora:bbb:0.4>のようにゴリ押しもできたけれど、概念が混ざったり合計が1を超えると生成画像が崩れたりした
なにより細かいLoRAモデルが乱立する
なぜC-LoRAはcatastrophic forgettingが起きないのか?
継続的に自己正則化された低ランク適応を行う
自己正則化 : モデルが学習で得た知識を保持するための手法
今までのLoRAと変化するパラメータが被らないようにペナルティを施す
低ランク適応 : LoRAのこと
そうかLow-Rank Adaptationのことかnomadoor.icon
下手に全文翻訳かけると逆に混乱するな…
カスタマイズのプロンプトに、ランダムな単語を使用
chatgpt.icon
カスタマイズのプロンプトは、C-LoRAによってカスタマイズされる対象のオブジェクトを指定するための入力情報のこと
例えば、「黒い猫の画像を生成してください」といった指示
C-LoRAは、このカスタマイズのプロンプトから、新しい概念を学習し、画像を生成する
モデルが特定の概念に過剰に適合することを防ぐことができる
クロスアテンションレイヤーを使用することで、前の概念と新しい概念の間の類似性を考慮して、画像生成を行う
最後に、continual learningによって、以前の概念と新しい概念の両方を含むデータセットを使用して、モデルを再トレーニングする