Adding Conditional Control to Text-to-Image Diffusion Models
そういやControlNetの論文読んだけど、なるほどみが深かった。ああいう条件をつけて学習すること自体は拡散モデル的に全く自然で普通のことなんですね。しかし、その種のデータが少ないため、いかに表現力を壊さずfinetuneするかが論点だった、ということすら理解してないnoobだったので圧倒的成長。
— im132nd (@im132nd) 2023年3月7日
背景
巷で超人気のControlNetの論文。promptによる画像の制御はとても難しく、どちらかというと気に入るものが出てくるまでガチャをする(せざるを得ない)状況だったのが、この論文により、構図などを具体的に指定できるようになったので、AIアート生成界隈(?)ではかなり話題になっている。
一方、技術的には、実はそういったconditionを拡散モデルに入れること自体はとても自明で自然なんですよね。そんなに革命的ということはない。じゃあなんで今まで出来なかったかというと、現実的には、そういった学習に使えるデータ数が少なく、モデルのfinetuneでキレイな画像を生成する能力を破壊しちゃうのが課題だった。
(かなり俺の主観あり)
貢献
なんかいい感じにスムーズにfinetuneできそうな機構をくっつけてfinetuneしたら良かったっぽい。元のモデルの重みは固定しつつ、横にもう一個モデルをくっつけて、そいつを最初は重みゼロで少しずつそっちに移行するような感じでfinetuneするらしい。
感想
結構ヒューリスティクス的な印象も強いが、現実的に結構うまく行ってるので、逆に色々なところで使えるテクなのかもしれない。trainableな重みを最初ゼロにして横にくっつけるのは、ResNetでBNのgammaをゼロにするのを思い出しますね。
T2Adapterとかいう少しあとに出たやつが似たような感じでもっとすごいという噂もある。