Stable Diffusionを用いたAI絵師への対策って無いの?

Stable Diffusionに絵柄を学習され、生成されたイラストによって被害を受ける例を目にしたので、AIに学習されないようにする技術的な対策無いの?って思って調べたら研究されてるっぽかったので雑にまとめました。

調べようと思った理由

先日、このようなまとめツイートを見て残念な気持ちになった。

有名絵師さんの絵柄を真似たイラストをAIに出力させる、通称「AI絵師」に元の有名絵師さんが営業妨害されただけでなく、リプで煽ったりされた…ということらしい。

Stable Diffusionで綺麗なイラストを個人でも生成できるのは嬉しいけど、こういう事案によって絵師さんが絵を公開しなくなっちゃったら悲しい。荻poteさんのアニメ塗り好きなのに…。

裁判とかやったら勝てそう(詳しくないので知りませんが)だけど、そもそもAIに絵柄を学習されるのを防ぐ技術的な対策は無いのか?と思ったので調べてみた。

AIを”狂わせる”方法

実はAIに誤った判定をさせる方法は存在する。

画像処理AIの場合、AI(ニューラルネットワーク)を学習する際には学習したい画像をたくさん集めてできたデータセットを用意し、このデータセットを使って学習を行う。

画像認識(入力画像が何を表しているか?を推定するタスク)においてはperturbation(摂動)という、人間には認識できないけど機械には効果があるノイズを画像に加えたデータセットを用意することでAIに誤認識させることができる。Googleで「画像認識 敵対的攻撃」とかで調べると色々出てくると思う。

https://ai-scholar.tech/articles/image-recognition/assistive_signalsより引用した画像)

例えば上の画像はパンダの画像なので、AIに画像を入力したときに「パンダ」と出力されれば正しく認識できていることになる。
しかし、画像で示されているようなノイズを元のパンダの画像に足し合わせることでAIはこのパンダの画像を"gibbon"(テナガザル)と認識するようになる。しかも99.3%という非常に高い確信度で。
また、一番左のオリジナルのパンダ画像と、ノイズを足した後のパンダ画像を見比べてみると、人間にはノイズが加わっていると分からないことが確認できる。

このようにperturbationを加えることでAIの判断を狂わせることができるので、オリジナル画像にperturbationを加えることでStable Diffusionが学習しても絵柄を正しく学習できないようにする方法あるのでは?と思った。

Stable Diffusionに絵柄を学習させない対策

調べて見つけたのがこれ。2023年の2月に提案された手法で、GLAZEというらしい。元論文は読み込めてないけど、日本語で分かりやすい解説記事があった。

createwith.ai

元論文の文章全然読んでなくて上の解説記事と論文に載ってた画像を見ただけで解釈してるので間違ってるかもしれないけど、定性的な結果を少し説明してみる。

https://arxiv.org/pdf/2302.04222.pdfより引用

上の画像はGLAZEを使った場合と使わなかった場合の比較を表している。
一番左側の列(Original artwork)がオリジナルの画像、真ん中の列(Mimicked art when GLAZE not used)がGLAZEを使わなかった場合にStable Diffusionなどの画像生成モデルに学習させて生成させた画像、右側の列(Mimicked art when GLAZE is used)がGLAZEを使った画像を画像生成モデルに学習させて生成させた画像を表している。
どうやらGLAZEはまず特徴空間でオリジナル画像の絵柄とAIに間違えて生成させたい画像の絵柄を近づけるように学習させるらしいので、GLAZE target styleの画像はAIに間違えて生成させたい画像の絵柄のこと。例えば一番下の行(Artist C: モネ)の例で言うとモネの絵画をピカソの絵柄で生成させるようにしている。

https://arxiv.org/pdf/2302.04222.pdfより引用

この画像は一番左の列(Original)がオリジナル画像を表していて、pが大きくなるにつれてオリジナル画像に加えるperturbationが強くなっている。
画像を見る限り、p = 0.2くらいになってくると色味が少し変わってるかもしれない。2つ上の画像からp = 0.05でもオリジナル画像と全然違う絵柄の画像を生成するようにAIを上手く”騙せ”ているので、人間が見てもノイズが乗っているようには感じられない程度でも十分実用的な気がする。

GLAZEを使うにはどうすればいいの?

GLAZE、なんか良さそうな気がするけど、自分も使い方よく分かってない…。

近日中にWindows / Mac用のアプリを公開するとは書いてあったけど…。

ただ、公式サイト見たらこんなことが書いてあった。

Changes made by Glaze are more visible on art with flat colors and smooth backgrounds, e.g. animation styles. While this is not unexpected, we are searching for methods to reduce the visual impact for these styles. 

要するにGLAZEによって加えられるperturbationはアニメのような絵柄では人間の視覚でも感じやすいらしい。萌えイラストに使えるのかどうかはやってみないと分からなさそう…。
あとAI絵師はLoRAという手法でStable Diffusionを学習させてるらしいけど、LoRAにも通用するのか…?

一応ここ(公式サイトにもリンク載ってる)からアプリのベータ版をダウンロードできるらしい。

まとめ(今後の展望?)

  • こういったAI対策の手法が研究されていって、人間の視覚的にもノイズが分からなくなったらAI絵師による被害も無くなりそう。ただ、こういうのは生成側も対策手法が研究されていくと思うので、いたちごっこになりそう。
  • もしこういうAI対策が絵師さんたちに認知されて取り入れられていったら、Twitterやpixivで一般に公開するイラストにはperturbationが乗ってて、pixiv fanboxとかの課金サービスに登録してる人にはオリジナル画像を公開するようになるのかな。課金して支援してくれる人で悪用する人いるんだろうか…。
  • 一番重要なのは利用者のモラルだと思った。悪用する人がいなければ対策とかしなくて済むし、個人の範囲で楽しんでる人も続けられそうなのに…。

https://twitter.com/takigare3/status/1653276464836407296?s=20

https://twitter.com/takigare3/status/1653276464836407296?s=20

https://twitter.chttps://twitter.com/takigare3/status/1653276464836407296?s=20om/takigare3/status/1653276464836407296?s=20