Memorization In Stable Diffusion Is Unexpectedly Driven by CLIP Embeddings
本論文は、Stable Diffusion における記憶が、パディングトークンにおけるテキスト末尾埋め込みの構造的な重複によって意外にも駆動され、その影響が増幅されることを明らかにし、画像の品質を低下させることなくこの問題を緩和するための単純な推論時戦略を提案する。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
論文「Memorization In Stable Diffusion Is Unexpectedly Driven by CLIP Embeddings」の解説を、簡単な概念と比喩を用いて分解して以下に示します。
大きな問題:モデルが「記憶」に陥っている
数百万枚の写真で訓練された才能ある芸術家(Stable Diffusion)を想像してください。この芸術家に新しい何かを描くよう頼むと、たまに訓練セット内の特定の写真をピクセル単位でそのままコピーして描いてしまうことがあります。これを記憶化(memorization)と呼びます。モデルが何か新しいものを作っているのではなく、古いデータをただ反芻しているだけなので、プライバシーや著作権のリスクとなります。
科学者たちは、なぜこれが起こるのかを解明しようとしてきました。ほとんどの理論は、あなたが入力する言葉(プロンプト)やモデル内部の数学的な処理に焦点を当てていました。しかし、この論文は、指示の「パディング(埋め合わせ)」の中に隠れた意外な犯人を発見しました。
仕組み:芸術家が指示を読む方法
この発見を理解するには、芸術家がどのように指示を読むかを見る必要があります。
- プロンプト:あなたは「絨毯の上の猫」といった文章を入力します。
- 制限:芸術家が読める指示には長さの制限があり、最大で 77 の「トークン(単語の一部)」までです。
- 埋め合わせ:あなたの文章が短い場合(例えば 10 語だけ)、コンピュータは 77 という制限に達するために、残りの 67 の空いた場所を埋めなければなりません。
従来の方法(Stable Diffusion v1.4)
コンピュータは、その空いた場所を「テキスト終了」トークン(以下、<eot> と呼びます)という特別なもので埋めます。
- 比喩:物語を読んでいるが、最後のページが白紙だと想像してください。印刷機がそのページを白紙のままにするのではなく、「THE END(おしまい)」という言葉をページが埋まるまで繰り返しスタンプし続けるようなものです。
- つまり、短いプロンプトの場合、芸術家は以下のように見ています:
[あなたの言葉] + [THE END] + [THE END] + [THE END]...(60 回以上繰り返される)。
発見:「エコーチェンバー」効果
論文の著者たちは、芸術家がこの繰り返される「THE END」のスタンプに大きく依存して何を描くかを決めており、特に画像を記憶化している際にその傾向が顕著であることを発見しました。
彼らが発見した一連の出来事は以下の通りです。
- 訓練の不一致:言葉を数式に変換するシステム(CLIP と呼ばれる)は、最初の「THE END」トークンが文全体の最も重要な要約であると訓練されていました。そのため、実際の言葉や埋め合わせトークンを無視するように学習していました。
- 不具合:コンピュータは空いたスペースをさらに多くの「THE END」トークンで埋めるため、芸術家は突然「THE END」トークンが数十回繰り返されているのを見てしまいます。
- 増幅:芸術家は、「わあ、'THE END'トークンがこんなにたくさんある!これは指示の中で最も重要な部分に違いない!」と考えます。
- 結果:モデルはこの繰り返されるトークンに過度に集中します。もしその特定の「THE END」パターンが訓練中に特定の著作権画像と関連付けられていた場合、モデルはそのループに陥り、あなたの実際の要求を無視して、その正確な画像を再生産してしまいます。
比喩:
指揮者(モデル)がソリスト(あなたのプロンプト)に耳を傾けるべき合唱団を想像してください。しかし、合唱団のメンバー全員が「ストップ!」(埋め合わせトークン)と叫び続けています。指揮者はその叫び声に圧倒されてソリストの話を聞くのをやめ、「ストップ!」の命令に基づいて円を描いて行進し始めてしまいます。もしその「ストップ!」の命令が以前に特定のダンスの動きと結びつけられていたなら、合唱団は音楽を無視してそのダンスだけを繰り返すことになります。
意外な展開:言葉はそれほど重要ではない
著者たちは、プロンプトから実際の言葉を取り除き、代わりに「End」トークンに置き換えてこれをテストしました。
- 結果:モデルは依然として認識可能な画像を生成することができました。
- 結論:あなたが入力した実際の言葉(プロンプト)は、記憶化というプロセスにはほとんど寄与していません。コピー行動の重労働を行っているのは「埋め合わせ」トークンです。
解決策:2 つの簡単な修正
この論文は、モデル全体を再訓練したり、処理を遅くしたりすることなく、この問題を止める 2 つの簡単な方法を提案しています。どちらも「推論時(inference-time)」の修正であり、画像が生成される直前に適用できます。
修正 1:埋め合わせトークンを変更する
- 行動:空いたスペースを「THE END(
<eot>)」で埋める代わりに、感嘆符(!)のような中立的な記号に置き換えます。 - なぜ機能するか:これによりエコーチェンバーが壊れます。モデルは「End」トークンの 60 個のコピーを見るのではなく、同じような重みを持たない中立的な記号を見ることになります。
- ボーナス:さらに安全策として、元の単一の「End」トークンも隠す(マスクする)ことも提案されています。
修正 2:埋め合わせをミュートする
- 行動:トークンをそのままにしておき、単に繰り返される「End」トークンの音量(重み)を下げて、モデルがそれらにあまり注意を払わないようにします。
- なぜ機能するか:トークナイザーを変更することなく、「エコー」の影響を軽減します。
証明:なぜバージョン 2.1 が優れているのか
著者たちは、Stable Diffusion v2.1(新しいバージョン)には、この記憶化の問題がそれほど深刻ではないことに気づきました。
- なぜか?実は、v2.1 の作成者が偶然この問題を修正していました。彼らは「THE END」を繰り返す代わりに、埋め合わせに中立的な記号を使用する別のテキストシステム(OpenCLIP)に切り替えていました。
- 教訓:v2.1 が自然と記憶化を大幅に減らしたという事実は、v1.4 における問題の主な原因が「繰り返される End トークン」であったことを証明しています。
まとめ
- 問題:Stable Diffusion は時折、訓練画像をそのままコピーしてしまいます。
- 原因:短いプロンプトは繰り返される「テキスト終了」トークンで埋め合わせられます。モデルはこれらの繰り返されるトークンを指示の最も重要な部分と誤解し、特定の画像に「過剰適合」して記憶化を引き起こします。
- 解決策:埋め合わせトークンを
!のような中立的なものに変更するか、繰り返されるトークンをミュートします。これにより、画像の品質を維持したまま記憶化を防ぐことができます。 - 利点:AI を再訓練したり、事前にどの画像がリスクがあるかを検出したりすることなく、この修正を即座に適用できます。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。