1.DALL-E 2がセンシティブな画像を生成しないようにするための工夫(3/3)まとめ
・DALL-E 2の前バージョンでは、学習用の画像をそのまま再現してしまうことがあった
・使いまわされた画像は単純な画像やデータセット内で重複している画像が多い事がわかった
・クラスタリングを利用して重複排除を行ったところ使いまわしは発生しなかった
2.DALL-E 2の画像記憶問題への対処
以下、openai.comより「DALL·E 2 Pre-Training Mitigations」の意訳です。元記事は2022年6月28日、Alex Nicholさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Dan Meyers on Unsplash
画像の使いまわしを防ぐ
DALL-E 2の前バージョンでは、学習用の画像をそのまま再現してしまうことがありました。DALL-E 2には、既存の画像をつなぎ合わせるのではなく、オリジナルでユニークな画像をデフォルトで作成して欲しいと思っていたので、このような動作は好ましくありません。さらに、学習用画像をそのまま複製することは、著作権侵害、所有権、プライバシー(学習データに人の写真が含まれていた場合)などの法的問題を引き起こす可能性があります。
「画像の使いまわしの問題(issue of image regurgitation)」をよりよく理解するために、私たちは、画像の複製が頻繁に発生するプロンプトのデータセットを収集しました。そのために、学習済みモデルを用いて、学習データセットから5万件のプロンプトの画像をサンプリングし、対応する学習用画像との知覚的類似度によってサンプルをソートしました。最後に、上位の一致を手作業で検査したところ、全5万件のプロンプトのうち、真の重複ペアは数百件しか見つかりませんでした。このように、1%未満と思われる重複率でも、上記の理由により0%にする必要があると考えました。
私たちは、使いまわされた画像のデータセットを調査したところ、2つのパターンに気づきました。1つ目は、画像のほとんどが単純なベクターグラフィックであり、情報量が少ないため記憶しやすいということです。次に、より重要なこととして、これらの画像はすべて学習データセット中に重複しているものが多いということです。
例えば、1時を示す時計のようなベクトル図形があっても、同じ時計が2時、3時と表示している学習サンプルを発見することがあります。このことに気づいた私達は、分散型最近傍探索を用いて、確かにすべての使いまわし画像に知覚的に類似した複製がデータセットに含まれていることを確認しました。他の研究でも、大規模な言語モデルにおいて同様の現象が観測され、データの重複が記憶と強く結びついていることが分かっています。
以上のことから、データセットから重複を排除すれば、使いまわしの問題が解決する可能性があることがわかりました。そこで、ニューラルネットワークを用いて、似ている画像のグループを特定し、各グループから1枚を除くすべての画像を削除することを計画しました。
しかし、この場合、各画像について、データセット内の他のすべての画像と重複しているかどうかをチェックする必要があります。私たちのデータセットには何億枚もの画像が含まれているので、重複している画像をすべて見つけるには、単純に考えて何百兆枚もの画像のペアをチェックする必要があります。これは、特に大規模な計算機クラスタでは技術的に可能な範囲ですが、私たちは、わずかなコストでほぼ同様に機能する、より効率的な代替手段を見つけました。
重複排除を行う前にデータセットをクラスタリングするとどうなるかを考えてみましょう。近くのサンプルは同じクラスタに入ることが多いので、重複するペアのほとんどはクラスタ決定の境界を越えることはないでしょう。そして、クラスタ外の重複をチェックせずとも、各クラスタ内のサンプルを重複排除することができ、すべての重複ペアのごく一部しか見逃しません。この方法は、画像のペアを一つ一つチェックする必要がないため、素朴な方法よりはるかに高速です。この手法をデータの小さなサブセットで経験的にテストしたところ、K=1024クラスタを使用した場合、すべての重複ペアの85%を発見することができました。
上記のアルゴリズムの成功率を向上させるために、私達は一つの重要な観察結果を活用しました。
データセットの異なるランダムな部分集合をクラスタリングすると、結果として得られるクラスタ決定の境界がかなり異なることが多いのです。そのため、あるクラスタリングで重複するペアがクラスタ境界を越える場合、同じペアが別のクラスタリングでは一つのクラスタ内に入る可能性があります。
クラスタリングを実施する回数が多ければ多いほど、重複するペアを発見できる可能性は高くなります。実際には、クラスタリングを5回実施することにしました。つまり、5つの異なるクラスタの結合で各画像の重複を検索するのです。実際に、この方法で、データのサブセットで重複するペアの97%を発見することができました。
驚くべきことに、私たちのデータセットのほぼ4分の1が重複排除によって取り除かれたのです。発見された重複に近いペアを見ると、その多くに意味のある変更が含まれていました。先ほどの時計の例を思い出してください。データセットには、同じ時計の異なる時間帯の画像が多数含まれている可能性があります。これらの画像は、モデルにこの特定の時計の外観を記憶させる可能性が高い一方で、モデルが時計の時間帯を区別することを学習するのにも役立つ可能性があります。削除されたデータの量を考えると、このような画像を削除することでモデルのパフォーマンスが低下するのではないかと心配になりました。
重複排除がモデルに与える影響を調べるため、同じハイパーパラメータで2つのモデルを学習させました。1つは完全なデータセットで、もう1つは重複排除されたバージョンのデータセットです。2つのモデルを比較するために、オリジナルのGLIDEモデルを評価する際に用いたのと同じ人間による評価を行いました。
驚いたことに、人間の評価者は重複排除されたデータで学習させたモデルをわずかに好むことがわかりました。これは、データセットに含まれる大量の冗長画像が、実際には性能に悪影響を及ぼしていることを示唆しています。
重複排除されたデータで学習させた後、トレーニングデータセットから5万のプロンプトに対して以前に行ったクエリを再実行しました。その結果、新しいモデルは、トレーニングデータセットから画像に対する正確なプロンプトが与えられた場合、トレーニング画像を決して使いまわさない事がわかりました。
このテストをさらに一歩進めるために、生成された5万枚の画像それぞれについて、トレーニングデータセット全体に対する最近傍探索も実行しました。こうすることで、与えられたプロンプトに関連する画像とは異なる画像をモデルが再投稿しているのを捕らえることができると考えたからです。このように、より徹底的なチェックを行った結果でも、画像の使いまわしを発見することはできませんでした。
次のステップ
上記で説明したすべての緩和策は、DALL-E 2 に関連するリスクを低減するという目標に向けて大きく前進したものですが、各緩和策にはまだ改善の余地が残っています。
・事前学習フィルターを改善することで、より多くのデータで DALL-E 2 を学習させることができ、モデルの偏見をさらに低減できる可能性があります。現在のフィルターは、誤検出が多いという代償を払いながらも、低い見逃し率になるように調整されています。その結果、フィルタリングされた画像のほとんどがコンテンツポリシーに全く違反していないにもかかわらず、データセット全体のおよそ5%をフィルタリングしています。フィルタを改善することで、この学習データの一部を取り戻すことができるかもしれません。
・偏見は、システム開発と展開の多くの段階で導入され、増幅される可能性があります。DALL-E 2のようなシステムの偏りを評価し緩和すること、そしてこの偏りによって引き起こされる害は、私たちの幅広いミッションの一部としてOpenAIで研究を続けている重要な学際的問題です。これに関する私たちの作業には、問題をよりよく理解するための評価の構築、新しいデータセットの収集、より堅牢で典型的な技術を構築するための人間のフィードバックや微調整などの技術の適用が含まれます。
・また、深層学習システムにおける記憶と汎化の研究を続けることも極めて重要です。重複排除は暗記を防ぐための良い第一歩ですが、DALL-E 2のようなモデルがなぜ、どのように学習データを暗記するのかについて学ぶべきことのすべてを教えてくれるわけではありません。
3.DALL-E 2がセンシティブな画像を生成しないようにするための工夫(3/3)関連リンク
1)openai.com
DALL·E 2 Pre-Training Mitigations