見出し画像

Nightshade の可能性と限界

 こんにちはこんばんは、teftef です。今回は,敵対的サンプルとデータポイズニングについてです。主題として、 Nightshade について取り上げます。画像に対して摂動を加えることによって、機械 (識別器や特徴抽出器) を混乱させて、謝った結果を出力させることを目的にしています。 Nightshade の論文の中身にも触れますが、実際に効果があるのか、使われるのかを中心に考察を書いていきます。 2023 年 11 月 19 日時点でコードが公開されていないので、あくまでも論文とその著者とのやり取りに基づいて書いていきます。
 私もまだ初学者であり、説明が間違っていたり勘違いがある可能性が 0 ではないということをご了承ください。ぜひコメントなどをいただけたら幸いです。また、この記事を作成するにあたり、GPT-4 による校正、修正が含まれています。

※この記事は有料となっていますが、最後まで内容が読めます。

今回、扱うのはこちら ↓

学習データ


 機械学習を用いた画像分類タスクや画像生成タスクでは大量のデータから構成されるデータセットを用いてモデルを学習します。学習されたモデルはデータセットの質や量に大きく依存することになり、高品質なモデルを作成するためには高品質なデータで構成された大規模なデータセットが必要になります。
 例えば、自然言語から画像を生成する画像生成タスク では、画像とその画像を説明する自然言語のペアから成るデータが必要となり,画像を指定したクラスに分類する画像分類タスクでは画像とクラスのペアから成るデータが必要になります。画像生成では画像内の内容に沿った説明が、画像分類では画像内の内容にふさわしいクラスラベルがペアとなっていることが求められ、これらが正しい組み合わせであるようなデータが「高品質なデータ」とされます。

COCO Captions

データの集め方

 高品質なデータを大量に集めるには非常に量力と時間を要し、タスクを遂行する際の大きな障壁となりえます。近年では Google や Meta などの大企業がユーザーに対して検索サービスや SNS などを提供する代わりに、ユーザーが入力した画像や文章を集めることで、膨大な量のデータから成るデータセットを作成することができます。また、画像投稿サイトや SNS をクロール(web スクレイピングなどの手法を用いる)することで、投稿された画像とその投稿に付属している「タグ」をペアとして高品質なデータを大量に入手することができます。

問題点

 しかし、インターネットからクロールしたデータは、無許可で販売や転載される可能性や、顔認証システムに対するなりすまし攻撃といった犯罪に悪用される可能性もあります。近年では、Diffusion Models を用いた画像生成タスクの著しい進歩により、実画像と見分けがつかない画像を生成することができるようになりました。特定のイラストレーターや画家の制作した画像を学習させたモデルは、特定の画像の画風やアイデンティティと酷似した画像を生成することができるようになり、大きな問題となっています。

いくつかの対策


 このように、SNSや動画投稿サイトに投稿した画像データが不本意に利用されることや学習データに用いられてしまうことに対していくつかの対策があげられます。

対策① (知覚可能な対策)

ウォーターマーク

 ウォーターマーク はドキュメントファイルや画像ファイルに人間が知覚できる情報を埋め込む技術であり、ロゴやテキストを埋め込むことで、そのドキュメントや画像の発信元や所有権を識別することができます。この技術は、オリジナルのコンテンツを不正コピーから守ったり、流通過程を追跡したりするために利用されます。

ウォーターマークの例

対策② (AI に対する知覚可能な対策)

 これらの手法を用いることで、人間がその画像を悪用した際にそれを検知できるという利点があります。しかし、見た目を損なうということに加え、モデルを学習するデータを作成する際に、このようなウォーターマーク付きの画像を排除するという選択をすることで、モデルの品質を損なうことを防ぐことができます。

Dirty-label 攻撃

 この手法は、機械学習モデルを騙して誤った学習をさせるために行われる攻撃の一種です。例えば、画像生成モデルの学習に必要な「画像ーテキスト」ペアにおいて、嘘の「画像-テキスト」ペアを混ぜ込みます。このような嘘のラベルが付与されたデータで学習されたモデルは推論時に、その対象に対して誤った結果を出すことになります。例えば以下のようなデータセットで画像分類モデルを学習させると、犬の画像を入力したときに猫と誤分類してしまうことがあります。
 

Dirty-label の例

  大規模なモデルの学習には数千万、数億から成る「画像ーテキスト」ペアを必要とするため、人間の目によるラベル付けの確認を行わないことがあります。そこで、嘘の「画像-テキスト」ペア が意図せずとも混ざってしまうことがあります。

※※注意※※
 モデルに対する dirty-label 攻撃は、意図的にデータを歪めて損害を引き起こす行為であり、法的な枠組みの中では犯罪行為と見なされる可能性があります。特に、このような攻撃が著作権侵害、詐欺、コンピューター犯罪、あるいは商業的な損害を意図している場合違法と判断される可能性があります。

再ラベル付与によって突破できる

 このような嘘の「画像-テキスト」ペアが混入しないために、画像に対して再びラベル付けすることで、真の「画像-テキスト」ペアを得ることができます。近年では CLIP などの Vision Language Models (VLMs) の発展により、画像を入力とし、その画像の内容についての説明をテキストとして出力するモデルを用いて、再びラベルを付与することで、嘘の「画像-テキスト」ペア の混入を避けることが容易になっています。

対策③ (AI に対する知覚不可能な対策)

 そこで、再ラベル付けに対する対策をしていきます

敵対的サンプル

 敵対的サンプルは、画像に対して小さな摂動を埋め込むことで、人間の目では元のデータとほとんど変わらないように見えますが、機械学習モデルはこれを全く異なるものとして認識することがあります。これによって、ラベル付けをする際に用いる機械学習モデルが誤った結果を出力することがあり、正しくラベル付けされないことがあります。また、人間による再ラベル付けをしたとしても、生成モデルを学習する際にモデルが画像を正しく認識しないため、ラベルに依らず機械学習モデルを混乱させることができます。

敵対的サンプルを使った画像生成の様子

GLAZE

 GLAZE は、画像生成AIによる芸術家のスタイル模倣を防ぐために開発されたツールです。GLAZEは作品に微小な摂動(ノイズ)を加えることで、モデルがスタイルを学習するのを防ぎます。この摂動は人間の視覚には感知できないレベルで作品の見た目を損なうことなく、モデルが画像を正しく学習することを阻害します。

NightShade 


 簡単に言うと、Glaze の後継モデルです。

 実は Nightshade も Glaze と同様、AIが画像の内容を誤認識するように仕向けます。例えば、犬の画像に変更を加えてAIが猫と認識するようにすることができます(つまりコンセプトを変えることができる) 。これにより、モデルが画像を正しく学習するのを防ぐことが可能になり、クリエイターの作品が無断でAIの学習データとして使用されるのを防ぐことができます。
 Nightshade は摂動(ノイズ)を入り画像を少量、データセットに混ぜることで、Stable diffusion や Stable Diffusion XL といったモデルの特定の出力 (すべてではないことに注意) が意図しない結果を引き起こすことになります。

 今回の実験では、Stable Diffusion XL の学習に 3.3 M 枚の Conceptual Caption (CC)データセットを用いています。その中に 100 枚ほどの摂動(ノイズ)を入り画像画像を混ぜると、このように誤った推論結果を生成させることができます。

学習データに摂動入りデータが増えるほど FID が上がっていくのがわかる→生成画像がノイズに近い見た目になっている

 このように、見た目も変化せず、少数のデータで Stable diffusion や Stable Diffusion XL といったモデルに対して大きな影響を与えています。

・・・と論文では書いていますが、本当にそうでしょうか?

限界


 ここまで理想論を話してきました。しかし、ここからは自身の考えとともに、いくつかの矛盾点や相違点について書いていきます。NightShade のコードやサービスは 2023 年 11 月現在、公開されていないため。従来手法である Glaze も視野に入れて話します。

摂動の強さと見た目の保持

 この論文の画像のように見た目を変化させずに摂動を加えられるでしょうか?試しに Glaze の論文の画像を見てみます。このように ノイズ P を適応させても、元画像と大きな変化がないような見せ方をしています。

Glaze 論文より引用

本当にそうでしょうか?
 
ノイズと画像の見た目の保持にはトレードオフの関係があり、両立させることは難しいくなっています。特に、画像という非常に広い概念の中で、異なるコンセプトの画像を摂動として載せることは、見た目の保持が難しくなってしまう可能性があります。(例えば、犬の画像に別の犬の画像を摂動として加えたり、人間の顔画像に別の人物の画像を摂動として加えたりすると、見た目が保持しやすくなる可能性がある。)

Artists are losing the battle against AI. Glaze, a tool that's found a way to trick algorithms, is giving them a fighting chance. より画像を引用
  • 見た目を保持したい → 載せる摂動の量を減らす必要があり、 Stable Diffusion モデルに対する効果が薄くなる。

  • モデルを惑わす効果を大きくしたい → 載せる摂動の量を増やせばいいが、検知されやすくなる。

 ということから、画像にどのくらいの摂動を入れるかがカギになってくると考えられます。しかし、論文に登場している結果の画像と実際に Glaze を使用した際の結果には大きな差異あることが (画像を見ると) 確認できます。
 論文に書いてある手法を使ってみたら、まったく異なる結果になったということは珍しくないです。論文を執筆する際に最も良かった結果しか載せないということがあるため、再現性がないということがよくありますが、 Glaze や Nightshade もこのようになっているのではないでしょうか。

画像圧縮やガウシアンブラー、Image to Imageへの耐性

 見た目を保持しつつ画像に摂動を加える際には、画像の高周波成分にノイズが乗ることになります。そこで、高周波成分を消すような Jpeg 圧縮 や ガウスぼかしのような変動を加えることで、摂動をかき消してしまうことがあります。また、直近では微小ノイズをかけて、Image to Image を用いて画像の見た目を保持しつつ生成することが可能になっています。

Image to Image を用いて画像の見た目を保持しつつ生成

 このような変動に対して NightShade の論文では言及されていませんでした。

すでにそのそうな研究がされています。(2023/12/19 追記)

検知技術の向上

 敵対的サンプルで生成した摂動入り画像に対する検知手法が研究されています。(少し調べればたくさん出てきますよ)

 仮に、 NightShade が一般的に使われるようになっても、それに対する対策はあとからいくらでも出てくるため、一時的なものに過ぎない可能性があります。この分野は常に「鼬ごっこ」を続けてい中で、新しい技術がどんどん開発されていきます。

見た目を変えるが、不自然にしない手法


 このように、 NightShade に対する対策はあるものの、主は以下の手法が使えないかなと考えています。

「化粧」を入れる

 摂動を掛けるという目的に全振りし、見た目の保持を考えないとどうでしょう。

例えばこの論文では、摂動を化粧として使います。
 従来手法では (左下) のような、摂動を加えたことによって見た目が保持されなかった例です。顔に不自然な模様があることがわかります。対して、右下の提案手法では化粧を施すことによって、見た目は保持しないが、不自然ではない (女性は化粧をするものだから) ような画像を生成できています。

 これを顔画像ではなく、全ての画像に適応してあげます。
例えば、パンダの画像に「化粧」として水彩画風の摂動を加えます。そうすることで、見た目は変わってしまうが、自然な画像が出来上がります。

そもそも使われるのか?


 ここまで、画像やイラストが無断で使用されることに対して、さまざまな手法を上げてきました。では、このような手法は一般的に普及して使われるのでしょうか?

見た目が不自然になる

 例えば WaterMark は画像に対して透明な画像を上乗せするだけという簡単な操作でできます。 Adobe photoshop や CLIP STUDIO PAINT では、そのような機能を利用することができますが、 SNS (Twitter や Pixive など) では、 WaterMark が入れられた画像を見ることは少ないと思います。これは、おそらく、イラストや画像に WaterMark がついているより、元の画像をそのまま載せたほうが、見た目がよく多くの人から評価されやすいからではないかと思います。

見た目を保持したい

 そこで、見た目を保持することを目的にした Glaze や敵対的サンプルを使うことが考えられますが、摂動を加えると、どうしても見た目に違和感が出てきます。画像を載せる人々は、人に理解されないようなノイズをイラストに加えることを好まないと思います。見た目を犠牲にするような手法が、一般的に普及することは考えられにくいと思います。

見た目は自然だが、元の画像が保持されない

 では、見た目を変化させるが、不自然にならない「化粧」を施す手法について見ていきます。不自然ではない画像が生成されますが、極端な話をするとこのようなこと(↓)になります。

見た目を保持することと摂動の強さはトレードオフである

 つまり、使用者は本当に見せたい元の画像とは異なる「化粧」つきの画像を載せることになります。この手法も前者と同様で、画像を載せる人々は、自身の画像を見た目を保持したままでいたいと考えられるため、見た目を変えてしまうこの手法は使用者の目的に沿わない結果となってしまいます。

タイムラグ

 最後に根本的な問題ですが、新しい技術が開発されて普及するまでに長い年月がかかります。その間に対策されてしまうことがあります。また、 WaterMark のような簡単な手法ですら多く使われていないのに、このような複雑な手法が広く使われることがあるでしょうか?

参考文献


最後に


 NightShade の論文を読んでいると、いくつかの不思議な点があります。それは、jpeg 圧縮や image to image などの対策法に対して一切言及していないことなどもあります。一番大きい違和感は、「そもそも誰が使うことを想定しているか」だと思います。見た目を保持することと摂動の強さはトレードオフの関係にあるため、どちらかを取りたいのであれば、もう一方を犠牲にすることになります。果たして、NightShade はアーティストが自分の絵を見た目を保持したまま、出版することと矛盾しないのでしょうか? イラストレーターは、人に理解されないようなノイズをイラストに加えることを好まないのだと思う

 NightShade は未公開 の技術ですが、その 自体効果は、"""論文通りであれば""" 画像データの無断使用に対して「待った!」をかけることになると考えられます。しかし、このような攻撃手法は セキュリティに対して大きな影響がもたらされると考えられます。文章中にも書きましたが、悪意を持った使用は何らかの法律に違反する可能性があるかもしれません。
 この手法は何のために研究され作成されたのか、その目的を考え、正しい使われ方をされるべきだと考えています。

 最後に少し宣伝です。主のteftefが運営を行っているdiscordサーバーを載せます。このサーバーではMidjourneyやStble Diffusionのプロンプトを共有したり、研究したりしています。ぜひ参加して、お絵描きAIを探ってみてはいかがでしょう。(7,200 字,teftef)

 ↓↓もしよろしければこの記事と開発の支援お願いいたします!

※注意 : 支援してくださる方へ

 ※注意 :ここから先は何も内容がありません。しかし、この記事をお読みいただき、良かったと感じていただけたのであれば、この記事と開発の支援お願いいたします!

ここから先は

48字

¥ 500

この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?