「ナイトシェードの仕組み」
「ナイトシェードの魅力と仕組み」
毒入りデータで画像生成AIを困惑させる
最近登場したNightshadeというアルゴリズムは、混乱をもたらす画像生成AIモデルに対して毒入りデータを作成することができます。このアルゴリズムの登場により、攻撃的な攻撃がこれらのモデルに対して行われる論争が新たな命を吹き込まれました。この論争は、倫理的な考慮事項や社会的な要因にも影響を受けており、AIモデルが許可なくコンテンツを使用することによって不当に扱われた場合、アーティストやコンテンツクリエーター、その他の人々が戦う手段を提供する可能性がある一方で、悪意を持って使用される可能性もあります。
この記事では、Nightshadeの核となる概念を説明したいと思います。そのために、まずデータの汚染という一般的なアイデアを説明し、その欠点を強調します。そして、ナイーブなアプローチの欠点を克服するためのアルゴリズムであるNightshadeを紹介します。最後に、その使用に伴ういくつかの倫理的な考慮事項について簡単に議論します。
データの汚染
まずは一般的なデータの汚染の概念から始めましょう。例えば、画像生成AIに特定の種類の画像を生成させることができないようにしたり、特定の指示を理解できないようにしたりしたいとします。なぜそうしたいのでしょうか?非破壊的な理由としては、自分のスタイルで画像生成モデルが画像を生成することを避けたいというアーティストの意図や、自分の許可なしに画像生成モデルが新しい漫画キャラクターを再現しないようにしたいという可能性が考えられます。
では、どうすればいいのでしょうか?まず、生成AIがどのように学習するかという基本的な概念を理解しましょう。当然、画像生成AIはその訓練データに依存しています。具体的には、ある概念(例えば犬)を示す画像が存在し、それらの画像がその内容を説明するテキスト(例えばかわいいメガネをかけた犬という画像キャプション)と関連付けられていることが前提となります。この情報から、AIモデルは画像共通の視覚的な特性を抽出し、キャプション内で共有されている特定のキーワードとも関連付けることを学習します。つまり、モデルは犬というキーワードがキャプションに含まれる画像の視覚的な特性を学ぶことで、犬がどのように見えるのかを学習するのです。
- 「Python タイムスタンプ:初心者のための変換とフォーマットの基本」
- 「暖かい抱擁の向こう側:ハグの奥深くに迫る」
- 「ChatGPT を PDF の OCR として利用する:データ分析のための新しい ETL ツール」
では、もし犬を示す画像でキャプションが常に猫と言っている場合はどうなるでしょうか?最終的に、犬と猫は単に画像で見られるものの象徴です。犬を示す画像が猫とラベル付けされると、モデルは猫というシンボルが私たちが犬と呼ぶものを指していると学習します。英語の言語に関する事前の知識がなければ、一貫性のあるラベルですら誤っていることをモデルはどうやって知るのでしょうか?もし私がドイツ語を話せずに、百枚の犬の画像を見せてそのラベルが「Katze(猫)」だと言ったら、あなたは「Katze(カッツェ)」がドイツ語で犬を意味する言葉だと思うでしょう。あなたには実際のドイツ語で犬を意味する言葉が「Hund(フント)」で、「Katze(カッツェ)」が猫を意味することを知ることはできないのです。ラベルと画像の特性の相関関係を学んだだけですから。
ここで説明したプロセスは、データの汚染と呼ばれており、モデルの訓練に悪影響を与えるデータインスタンスを導入することを意味します(まるで毒物が健康に悪影響を及ぼすように)。
ナイーブな汚染攻撃
単純なアプローチとしては、前述のアイディアを取り上げ、Stable Diffusionのような機械学習モデルを混乱させるために使用することができます。たとえば、Stable Diffusionに犬の画像を作成させるために、猫の画像を多数作成し、それらを犬とラベル付けしてインターネットにアップロードします。次に、それらの画像が次のStable Diffusionモデルのトレーニングにスクレイピングされることを期待します。
あなたの画像の多くが次のトレーニングランに組み込まれれば、確かに猫と犬の間の混乱を引き起こすことができます。ただし、このアプローチにはいくつかの欠点があります:
- 多くの画像が必要です。毒を盛った他の多くの猫の画像が存在するため、影響を与えるためには多数の画像が必要です。たとえば、毒を盛った画像が10枚しか提供されず、その他側には1000枚の毒を盛っていない猫の画像がある場合、トレーニングにほとんど影響を与えることはありません。効果を持つためには、通常はすべての画像の20%以上を毒を盛る必要があります。
- トレーニングに正確にどの画像が含まれるかはわかりません。したがって、トレーニングに500枚の毒を盛った画像を導入したい場合、5000枚を作成し、インターネット上に広める必要があります。なぜなら、それらのうちのいくつかしか実際にトレーニングのためにスクレイピングされないからです。
- 猫の画像を犬とラベル付けしてアップロードした場合、人間は簡単にそれを検出することができます。画像をトレーニングに使用する前に、品質ゲート(人間または専門のAIであるかどうか)で除外される可能性があります。
ナイトシェード
では、ナイトシェードを見てみましょう。ナイトシェードは、これらの欠点を克服することを目指すアルゴリズムです。そのために、ナイトシェードは2つの重要な概念を使用しています:モデルに最大の効果をもたらす画像を作成する(それにより、合計の必要画像数が少なくなる)および人間にとって毒を盛った画像と区別できない画像を作成することです。
まず、画像から最大の効果を得るにはどうすればよいでしょうか?理論的には、トレーニング中の勾配の変化が最も大きい画像を使用したいと思うでしょう。ただし、それらの画像がどれであるかを知るには、一般的にはトレーニングプロセスを観察する必要がありますが、それはできません。ナイトシェードの著者たちは異なる解決策を提案しています。モデルを毒を盛るために生成された画像を使用します。つまり、猫の画像を犬とラベル付けしたい場合、単純なプロンプト(猫の画像など)でモデルにプロンプトし、モデルが理解した猫の非常に典型的な表現である画像を生成します。この画像がトレーニングで見られれば、モデルの理解に非常に高い影響を与えます(通常の猫の画像よりもはるかに高い影響を与えます)。したがって、その画像を毒を盛ると、モデルのトレーニングに非常に大きな効果を得ることができます。
2番目に、ナイトシェードの画像は毒を盛った画像と区別がつかないようにする必要があります。その目標を達成するために、ナイトシェードは自然な画像に対して摂動(つまり、ピクセルの値に対する小さな変化)を適用します。この摂動により、モデルからは画像が異なるように認識されます。上記の犬と猫の例を続けると、犬を表すモデルによって生成された画像を取ります。この画像は「アンカー画像」またはxᵃと呼ばれます。次に、非常に典型的な犬の画像(xₜとします)を取ります。この画像xₜに、以下の目的関数を最適化するように摂動δを追加します:
ここで、F()はモデルが使用する画像の特徴抽出器です。Distは距離関数であり、pはδが画像の変化があまりにも大きくなりすぎないための上限です。つまり、摂動された犬の画像の特徴(F(xₜ + δ))とアンカー画像(猫を表示する画像、F(xᵃ))の特徴の距離を可能な限り小さくしたいということです。つまり、モデルの視点では、2つの画像が似たように見えるようにしたいのです。なお、特徴抽出器の結果であるF(x)は、画像の見かけの表現ではなく、モデルが見る特徴空間での表現です(必要に応じて、ピクセル空間での表現です)。
以下の画像では、元の画像と毒入りの画像の違いを見つけることはできません(少なくとも私はできません)。しかし、特徴空間では、これらは非常に異なります。たとえば、毒入りの犬の画像の特徴は、猫の画像の特徴に非常に近く、モデルからはほぼ猫のように見えます。
この技術を使うことで、モデルのトレーニングに非常に大きな影響を与え、毒物として検出されない画像を生成することができます。これらの画像をインターネットにアップロードした場合、人間には全く疑いが生じず、したがって、どのような品質ゲートにもフィルタリングされることは非常にまれです。さらに、非常に強力なため、素朴なアプローチではトレーニングデータの犬の画像の20%を毒化する必要はありません。Nightshadeでは、通常50〜100枚の画像で特定の概念のモデルの性能を破壊することができます。
汎化性
さらに、Nightshadeには他の興味深い利点があります。それは、複数の方法で汎化する能力です。
まず第一に、特定のキーワードを毒化すると、リンギスティックまたは意味的な関連性のある概念にも影響を与えます。例えば、犬の概念の画像を毒化すると、子犬やハスキーといった犬に関連するキーワードにも影響を与えます。以下の例では、犬の概念が毒化され、子犬やハスキーの生成も妨げられています。
さらに、複数の概念を毒化すると、画像の生成能力は完全に破綻することがあります。以下の例では、100、250、または500の概念が毒化されています。毒化されていない他の概念(例えば人や絵画)の生成も大幅に妨げられるようになります。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles