
ウォーターマークにAI学習阻害効果はあるの? 気になったのでAI絵師の自分が調べてみた
※公共性が高いと判断しましたので、この記事に関しては無断転載コピペ等の複製を許可します。記事トップ画像以下使用している画像も含めての許可となっております。(画像には転載NGって書いてあるけど検証のために入れてるだけだから気にせず持ってけばいいと思うよ)己の良心の範囲内でご使用ください。クレジットも使用報告も特に要りません面倒くさいので
※この記事には一部chatGPTで出力した文章を使っています。
必ずしも原文そのままではなく、当方でファクトチェック後、必要があれば加筆修正したものとなります。
現在ウォーターマークに効果があるのか? ということで揺れておりますが
どうなんだろうな? と思ったので独自に調査してみました。
記事内で使用しているウォーターマークはこちらの方の作品です。https://x.com/natanosurume/status/1846951552382390477
イラストに付けられるおしゃれめな透かしを作成しました。(AI学習、無断転載禁止)顔周りに透かして付けるといい感じです。良かったら使ってください 2、3枚目は使用例です。拡散してくださると嬉しいです。
— なたのするめ@お仕事募集中🖌 (@natanosurume) October 17, 2024
トリミング、加筆、色変更OK 自作発言、二次配布NG #フリー素材 pic.twitter.com/ErWsq20f06
使用許可は要らないということだったので使いましたが、もし使わないで欲しいのであれば取り下げ対応させていただきますのでご連絡ください。
始めに(ここは読んで欲しいです)
生成AI非使用者(普段生成AIをあまり使わない人)はこの記事を読む前に最低限認識して頂きたいことが二つあります。
一つ目はi2i(image-to-image 画像から画像を作る技術)についてはAI学習ではありません。画像加工技術の一つです。
そしてもう一つはウォーターマークは転載禁止など権利面を主張するもののことで、(絵師の)サインやAI学習妨害ノイズは別のもの、別の技術です。
ただ、サインも場合によっては透かして入れるのでウォーターマークに含める場合もあります。なのでサインと権利表示的なウォーターマークがセットになっているものもあるとは思いますが……法的にも、技術的にも機能が別なので別物として扱います。
自分の知っている限りだとAI学習妨害ノイズにはモノにもよりますが使用方法によっては一定の技術的な効果はあるようです。ただ完全に防ぐまでは至らない。という認識です。
なお今回は基本的に技術的な話をいたしますので、無断で学習に利用した場合に法的な扱いはどうなるのか? というのが気になるのであれば別途お調べいただければ幸いです。
(おまけ部分にそれぞれの特徴と法的、技術的立ち位置をchatGPT君に要約してもらったものを張っておきます。出て来た文章そのままではなく、全体をチェック、必要な部分には手書きでの手直しを入れているものです)
検証前に機械学習について軽い解説
さて検証に移る前に生成AIになじみのない方への軽い解説です。普段触っている人は知っている内容だと思いますので読み飛ばしていただいて構いません。
機械学習と一口に言いましても何種類もあります。
画像生成AIで使われるもので広義での機械学習と言えるであろう技術は以下の三種類になります。
バイブストランスファー(画像の雰囲気を真似する技術)(使用画像数1枚~最大16枚まで)
LoRA(画像を何枚も使って似た画像を作る技術)(逆向きに使えば意図して似せないことも可能)(使用画像枚数 用途によるが最低で20枚ほど必要)
基礎学習(機械学習の根幹部分)(有名なStable Diffusionを例に取ると調べた感じだと17億サンプル使用しているそうです)
一つ抜けてると思った方いらっしゃいましたでしょうか?
恐らくは以下の技術の事だと思いますが。
i2i(画像から画像を作る技術)(使用画像数1枚)
こちらは適法ではない画像を作るのによく使われる技術ではあるものの。学習ではないため別枠として扱います。
これらのうちのバイブストランスファー、LoRAの部分を追加学習と位置づけ、基礎学習と分けて考えることとします。
日本の現行法では違法となりうるのは追加学習部分のみであり、基礎学習部分は非享受であるため合法として成立するという前提で書かせていただきます。
なお欧州やアメリカ、中国、インドなど海外ではまた状況が違うと思いますので、そのあたりの法律は専門家を当たってください。
検証前に環境紹介
環境はnovelAI。使用したのはAI学習ではないものの技術的に防げるか気になるであろうi2i(画像を元に画像を作る機能)とバイブストランスファーです。LoRAと基礎学習については当方に検証可能な環境がありませんので今回は検証しません。まあ基礎学習できる人間なんてほとんど居ないと思いますが……LoRAでの検証は他の人に譲ります。(話を聞く感じだとウォーターマークあっても無意味のようですが、実験していないので断言まではできません)
どのような方法で検証したのか
実験用イラスト作成:テキストプロンプトからAIでイラストを生成。
ウォーターマークの付与:作成したイラストにウォーターマークを追加。
プロンプト抽出:ウォーターマーク付きイラストをChatGPTで読み込み、テキストプロンプトを抽出。不要なプロンプトを手動で削除。
検証手法の適用:
i2i (Image-to-Image変換)
バイブストランスファー (Vibes Transfer)
繰り返し実施:ウォーターマークの部分を変更しながら、これらの方法を繰り返し検証。
では始めて行きましょうか。
検証開始(画像いっぱいに不透過で入れる)
今回使用するAI画像はこちらとなります

まずはウォーターマークの加工をして

こちらの画像をchatGPTに放り込んで読み込ませ、プロンプトを以下のように抜き出します。
male, solo, short_hair, black_hair, red_eyes, cape, uniform, serious_expression, anime_style, text_overlay, NG_mark, no_reposting_text, Japanese_text, red_text, copyright_warning, white_background
NG_markなどのウォーターマークの生成に明らかに関連あるプロンプトが見えるので手動で抜き出します
抜き出したものがこちら
male, solo, short_hair, black_hair, red_eyes, cape, uniform, serious_expression, anime_style,white_background
さてこのプロンプトをnovelAIに入れて本格的な検証の開始です。まずはi2iから行きましょう。




おー。なかなかいい感じ。
i2iに関しては学習ではないのですが阻害成功と言ってもいいのではないでしょうか。
では続いてAI学習に当たるバイブストランスファーと行きましょう




そのものズバリのは出てこなかったのですが、特徴が結構抜き出されちゃってる気がしますね。残念ながらバイブストランスファーでは学習阻害失敗と言ってもいいんじゃないでしょうか?
さらに検証(画像に占める割合と透過率)
画像いっぱいに非透過でウォーターマークを置いておけばi2iには効果がある(バイブストランスファーにはない)ということは分かったのですが
こういう置き方はあまりされていない様子なのですよね。
そこで、画像いっぱいでなくても、透過していても効果はあるのか? という部分を検証したいと思います。
その検証用画像として以下の条件で画像を用意しました。
・画像の四分の一ほどの大きさのウォーターマークを置く
・画像の八分の一ほどの大きさのウォーターマークを置く
・画像いっぱいに不透明度50%のウォーターマークを置く
・画像いっぱいに不透明度25%のウォーターマークを置く
(透過率で言えば75%)
項目ごとに小見出しを付けて検証結果を置いておきますが、結果だけ知りたいなら検証結果まとめにまとめておりますのでそちらを見た方が早いです。
過程が気になる人用に過程も置いているだけです。
画像の四分の一ほどの大きさウォーターマークを置く
元画像はこちら

プロンプトは変えていないので省略します。
早速i2iしていきましょう。





ふむ。i2iの阻害は成功と言っていいでしょう。続いてはバイブストランスファーです。





一枚目はともかく四枚目と五枚目がほぼそのままですね。これは学習阻止失敗と言っていいでしょう。
残念ながらウォーターマークの学習阻害に関してはバイブストランスファーには効果なさそうです。
画像の八分の一ほどの大きさのウォーターマークを置く

さて、やっていきましょうかi2iを





あれ? これは……ちょっと判定が微妙なところなんですけど、ウォーターマークには明らかに見えないので阻止失敗なんじゃないすか?
三枚目の画像とかここからちょっと手を加えたらまず分かりませんね。
続いてはバイブストランスファーです
(無駄かなとは思うのですけど一応ね)





案の定学習阻止失敗ですね……
次行きましょう
画像いっぱいに不透明度50%のウォーターマークを置く
元画像はこちら

これ効果あると思ったんですけど案外無くて、なんて御託並べる前にi2iやりますね





これはちょっと微妙なんですけど、そういうデザインって言われたら納得するようなのが出来てるので阻止失敗なんじゃないでしょうか……
てかi2iにもあまり効果無いんだったらウォーターマークを透過したらマズいんじゃないの?
と思ったんですけど自分が言っても仕方ないので次行きます
バイブストランスファー





やっぱり効果ありませんね。
次です。
画像いっぱいに不透明度25%のウォーターマークを置く
(透過率で言えば75%)
元画像はこちら

すでに無意味な予感がしますけど、やっていきましょうi2i





やっぱり無意味だった上に気のせいか桜散ってる感じになってクオリティ上がってしまってませんか……?
とりあえず最後にバイブストランスファーで締めましょうか





やっぱり無意味ですね。
学習阻害ならずです。
検証結果まとめ
以下に読みやすく整理しました:
ウォーターマークあり
全画面:
i2i:効果あり
バイブストランスファー:効果なし
画面の1/4:
i2i:効果あり
バイブストランスファー:効果なし
画面の1/8:
i2i:効果なし
バイブストランスファー:効果なし
ウォーターマーク透かし50%(不透明度50%)
全画面:
i2i:効果なし(違和感のある画像は出来る)
バイブストランスファー:効果なし
ウォーターマーク透かし25%(不透明度25%)
全画面:
i2i:効果なし
バイブストランスファー:効果なし
このように、ウォーターマークの範囲と濃度によってi2iへの影響が異なる結果となっています。バイブストランスファーへの影響はすべての事例でありませんでした。
つまり元画像を棄損するほどに強く入れなければ技術的には効果がありません。さらに、強く入れてもi2iには効果があってもAI学習には無意味です。
(薄く入れているものは全く無意味という訳ではなく、良心に訴えかける効果はあるとは思いますが。本当にその効果ぐらいしかないので真面目にお守り程度でしょうね)
ここまでお読みいただきありがとうございました。これで検証は終わりです。続いてはおまけです。
おまけ(技術と法の立ち位置解説)
無断での絵のAI学習に関して、『ウォーターマーク』、『サイン』、『AI学習妨害ノイズ』の各方法が技術的、法的にどのような効果を持つかを解説します。
1. ウォーターマーク
技術的効果:画像にロゴや透かしを加えることで、学習の質が低下することがありますが、最新のアルゴリズムではノイズとして除去されやすく、完全に防ぐことは難しいです。
法的効果:著作権を表示する方法の一つですが、AIが学習に使用する場合、著作権侵害の証拠にはなり得るものの、日本では基礎学習に法的制限が少なく、効果は限定的です。「追加学習においては著作権侵害の判断が分かれるため、証拠として有効な場合がありえます」
2. サイン
技術的効果:サインは技術的な学習妨害にはなりにくいですが、作者の識別を示すため、違法利用時に創作者の権利を主張しやすくなります。
法的効果:サイン入りの画像が利用されていれば、著作権侵害の可能性が指摘しやすくなります。特に日本の法的状況では追加学習において著作権侵害の判断が分かれるため、証拠として有効な可能性があります。「基礎学習に関しては、享受目的とはならず日本の法律上は侵害とならない可能性が高いと筆者は考えます」
3. AI学習妨害ノイズ
技術的効果:画像内の特定のパターンがAIに対して認識や学習を困難にするよう設計されているため、学習を技術的に阻害する効果が高いです。しかし、ノイズ処理技術が進化すると、長期的には回避が難しくなる可能性もあります。
法的効果:法的には、作品そのものを無断で学習に使用された場合の権利侵害を直接的に防ぐわけではありませんが、意図的な妨害の証拠として主張の一助になる可能性はあります。