はてなキーワード: アノテーションとは
画像を生成するAIによる無断学習や利用を防ぐために、以下のような対抗手段を講じることが可能です。
1.透かし(ウォーターマーク)の埋め込み:
画像に目に見えるまたは見えない透かしを入れることで、無断利用や生成AIの学習に対して抑止効果を期待できます。特に、目に見えない形で画像データに暗号的な透かしを埋め込む「デジタル透かし」技術が有効です。
画像データに著作権情報や「AIによる無断学習を禁止する」といったメタデータを埋め込み、ウェブサイトには robots.txt ファイルで画像クローラーのアクセスをブロックする設定を追加します。これにより、クローリングや収集の抑制が期待できます。
ステガノグラフィを用いて、画像に気づかれにくい形で識別情報を隠すこともできます。これにより、画像の流出経路や利用先を追跡でき、無断利用の発見に役立てることができます。
4.法的な警告表示や利用ポリシーの明示:
ウェブサイトや画像の配布先に、AIによる無断利用や学習を禁止する旨の法的警告や利用ポリシーを明示することも有効です。利用条件をはっきりと示すことで、AI企業や研究者が慎重になる可能性が高まります。
AIが利用しにくいように、画像に人間には気づきにくいパターンやノイズを挿入する技術もあります。たとえば、AIにはノイズとして認識されるが、人間には問題なく見える小さな変形やカラーパターンを追加することで、AIによるデータ学習が困難になる場合があります。
生成AIの学習を混乱させるための手段には、以下のような方法が考えられます。
1.ノイズや歪みの追加:
画像に目立たない程度のノイズや歪みを加えることで、アノテーションモデルが境界や特徴を正確に認識しにくくする手法です。たとえば、ピクセルレベルでランダムなノイズを追加する、わずかに画像をぼかす、あるいは境界線付近に小さな変化を加えるといった手法が有効です。
アノテーション処理は、対象物の輪郭や特徴を正確に捉えることが重要です。そのため、背景や対象物の輪郭にわずかな不規則性を加えることで、アノテーションツールが対象物の境界を正確に判断しにくくすることができます。たとえば、背景に模様や偽の輪郭を挿入する方法です。
画像に人間には視認しづらい形でテキストやラベルを埋め込むと、AIのアノテーションプロセスが混乱する場合があります。これにより、AIが意図しない領域を注視することがあり、誤認識を誘発します。
4.色や明るさのランダム変化:
画像の色や明るさを部分的に変化させ、一定のパターンを持たないようにすることもアノテーション処理の混乱を招く一手です。これは、オブジェクトの検出や認識が色や明暗の差異に依存している場合に有効です。
5.擬似的なオブジェクトの追加:
画像内に小さな擬似的なオブジェクトや模様を追加することで、AIがそれらを誤って主要なオブジェクトと認識し、アノテーション精度が低下する可能性があります。特に、背景に似たオブジェクトを散りばめることで、AIはどの部分が対象なのか判断しにくくなります。
AIの認識を誤らせるために用いられる「アドバーサリアル(敵対的)な例」を使う方法もあります。特定のピクセルパターンや色の配列を配置することで、AIのアノテーションが意図的に誤作動するよう誘導できます。この技術は深層学習モデルに対して特に効果があります。
画像全体にわずかなカモフラージュパターンを重ねることで、AIの認識を混乱させる方法です。この手法では、人間が見た場合には問題なく認識できるものの、AIが対象を捉える際に誤って検出するようなパターンを画像に追加します。
・思考実験として、danbooruなどアノテーションの元データとして使われているサイトのタグが荒られたら画像生成AIのモデル作成にダメージはありますか?
思考実験として、Danbooruといったアノテーション元データのタグが荒らされた場合、画像生成AIのモデル作成に与える影響は以下の通りです。
Danbooruは、イラストや画像に対して詳細なタグが付与されており、これらのタグ情報は画像生成AIの学習にとって非常に重要です。タグが荒らされることで、画像とタグの対応関係が崩れ、モデルが正確な特徴を捉えにくくなるため、生成精度が低下します。
例えば、特定のキャラクターやテーマに関連するタグが荒らされ、誤った内容のタグが付与されると、モデルはその誤った情報を学習し、キャラクターの特徴や設定が再現されにくくなる可能性があります。
タグが荒らされると、モデルの訓練にノイズデータが増えるため、学習効率が悪化します。たとえば、「黒髪」のタグが誤って「金髪」などに変更された場合、モデルは同じ画像に対して異なる特徴を学習することになり、結果として生成画像の一貫性が失われることが考えられます。
また、同じ画像に異なるタグが付与されることで、モデルが過学習や誤学習を引き起こし、生成された画像が本来の意図からかけ離れたものになる可能性もあります。
Danbooruでは、特定のキャラクターやアートスタイルを識別するタグが多く存在します。これらが荒らされると、特定のキャラクターやスタイルのデータが混乱し、モデルが正確にキャラクターの特徴を把握できなくなるため、ユーザーが期待する生成結果が得られにくくなります。
例えば、あるキャラクターのタグが「髪型」「服装」「色彩」などで荒らされると、そのキャラクターの再現が曖昧になり、モデルが正しいビジュアルを生成できなくなることがあります。
タグが荒らされると、データセット全体の信頼性が低下します。信頼性の低いデータをもとに学習したモデルは、特定の条件で異常な出力を生成することが多くなり、モデル全体の品質が低下します。これは、生成AIが学習中に「どの情報を信頼すべきか」を判断できなくなるため、生成結果が不安定になったり、多様性が失われたりすることが考えられます。
AIモデルを利用するユーザーは、タグを通じて希望する画像を生成したり、条件に合った画像を探します。タグが荒らされると、AIモデルの検索・フィルタリング機能の精度も低下し、生成プロンプトが期待通りに機能しなくなる可能性があります。たとえば、「風景」タグが荒らされ、異なるジャンルの画像が混入するようになると、風景画像を生成したいユーザーの要求が満たされにくくなります。
Danbooruなどのタグが大規模に荒らされた場合、生成AIモデルの精度低下や一貫性の欠如が発生しやすくなり、特にキャラクターや特定のスタイルに依存する画像生成モデルに大きなダメージを与える可能性が高いです。
すでに学習済みのモデルを使って汚染されたデータのクレンジングや異常値検出を行うなど対策される可能性がありますが、それらを阻害する手段はありますか?
無断での学習を妨害し、学習コストを増加させるために、上記の方法を阻害する手法には以下のようなアイデアがあります。これらの手法は、意図的にデータセットの品質や一貫性を崩すことで、学習モデルの精度を低下させ、データクレンジングや異常値検出のプロセスを複雑化することが目的です。
意図的に誤ったタグや無関係なタグを画像データに付与し、データセットの信頼性を低下させます。これにより、転移学習やラベルノイズ検出が困難になり、正確な特徴量を学習するコストが増加します。
例えば、キャラクター画像に全く無関係なタグ(「動物」や「風景」など)を追加することで、モデルがどのタグが信頼できるか判別しにくくなり、誤ったラベルがノイズとして学習されるリスクが増えます。
2. 特徴量をぼかす/微妙な変更を加える
特徴量ベースのクレンジングや類似度分析に影響を与えるため、画像の特徴がわずかに異なるように加工を施します。具体的には、色調を微妙に変える、ランダムなピクセルの位置でノイズを追加する、または特定の部位を意図的にぼかすことで、モデルが抽出する特徴量の安定性を低下させます。
この方法により、同じキャラクターやスタイルであっても類似度分析が困難になり、正確なクレンジングが行いにくくなるため、データ処理のコストが増加します。
特徴が異なるバリエーションや擬似的な異常データを大量に追加することで、異常検出アルゴリズムの信頼性を下げます。たとえば、キャラクターのデザインや背景を少しずつ変えた画像を意図的に作成することで、異常値検出が頻繁に誤検出されるようにします。
こうしたデータが混在することで、オートエンコーダーやアンサンブルモデルを使った異常検出が混乱し、正確な異常サンプルの抽出が困難になります。
4. 高頻度で微小なラベル変更を行う
学習済みモデルの転移学習やラベルノイズ検出を阻害するために、同じ画像に対してラベルを定期的に変える手法です。微小な変更を行うことで、モデルは正しいラベルを安定的に学習することが難しくなり、モデルの信頼性が低下します。
例えば、ラベル「黒髪」を「暗めの髪」や「濃い色の髪」などに頻繁に切り替えることで、学習に不確実性を持ち込むことが可能です。
データセット内で非常に類似した画像を複数の異なるタグで登録することで、モデルの学習を混乱させます。特定のキャラクター画像を少しずつ変化させて複数のタグを付けると、モデルは「どのタグがどの特徴に対応しているのか」を判別しにくくなり、データセットのクレンジングが複雑化します。
特に、タグの一貫性が失われるため、類似度分析やアンサンブルモデルによる異常検出の効果を低下させることが期待できます。
AIモデルが認識を混乱させるように、アドバーサリアルノイズ(敵対的な例)を追加します。人間にはほとんど気づかれないレベルのノイズを画像に追加し、モデルが特定の特徴を正確に認識できないようにすることができます。
このノイズにより、モデルの特徴量ベースの学習が混乱し、意図した通りに学習できないため、クレンジングの精度も低下し、データ処理の手間が増加します。
特定のルールではなくランダムにタグをつけたり、特定のカテゴリ間でランダムにラベルを入れ替える方法です。これにより、ラベルと画像の関連性が薄れ、アノテーションの一貫性が失われます。この乱数による偽ラベルの付与は、ラベルノイズ検出やアノマリー検出において、真のラベルを見極めるコストを大幅に増加させます。
まとめ
これらの手法は、AIの学習やクレンジングを意図的に妨害し、無断学習にかかるコストを増加させるために有効です。特に、「微小な変更」や「アドバーサリアルノイズの付与」といった手法は、見た目の品質に影響を与えずにモデルにノイズを持ち込むため、非常に効果的です。
OpenAIがsoraでテキストから動画生成し話題になった。
モデルがオープンになっているモデルの方が、クローズドなモデルよりも進化する、という意見があったが、差がついたままだ。
何が原因か。
テクニカルペーパー(https://openai.com/research/video-generation-models-as-world-simulators)を見る限り、
予想の範囲内のことしか書かれてない。拡散モデルで画像が出来た時点から、多くの人が想像出来る範囲だろう。
もちろん全部が書かれているわけではないだろうが。
どこで差がついたままなのか。
手がかけない問題に対して、親指、人差し指などを細かく指定すれば解決はするのだろう。
StableDiffusionの学習だとKohya_ssが有名だが、good_hand, bad_handみたいな一言でまとめられているのではないだろうか。
画像をどれだけ言語化できるかで、人だとそれほど詳細な言語化が出来ないことと、
StableDiffusioinだと、WD1.4taggerかBLIPの性能に引きずられているのではないか。
BLIPの代わりにGPTを使ってアノテーションをしている人も居るのだろうが、性能差があることから、
もしかするとOpenAIは角度など数値を機械的に測定したものも学習させているのかもしれない。
GPTは人に理解しにくい所は出力しないので、そこが差になっているのではないだろうか。
要はアノテーションツールがオープンなAIに足りてないということだ。
オープンなAIでは、学習時のデータがどれだけ良いか、データ量、ラーニングパラメータなどは議論されたが、アノテーションツールは議論されず、そこが差になったのではないか。
2つ目は、命令時の曖昧さを、モデル側でどれだけ拡張できるかではないだろうか。
学習時に詳細なアノテーションをしても、プロンプトを書く時は短縮していたり、意識せず省いていたりする。
例えば、「日本人の女性」とプロンプトを書いたら、現代の日本人女性を想像するはずで、
海外公的機関に保存された戦後の湿板写真時代で化粧をしていない日本人女性を意図してないはずだ。
そういった曖昧なプロンプトを意図を汲み取ってプロンプトを拡張して、推論モデルに食わせることが出来るか、
そこが差になったのではないだろうか。
Stable DiffusionはLoRAやControlNetが出てきて出来ることは増えた。
ただ、ControlNetは指定は出来るがすぐに破綻する。元のモデルに無いものは表現できそうで出来ない。
そして使い続けて、1000枚、2000枚と出力していくと、飽きてくる。
wildcardで色んなプロンプトを入力、ChatGPTでプロンプト作成して読み込ませたとしても、思ったより表現が出来ない、プロンプトが効かない。
絵柄も含めて着せ替えは出来るが、それだけなのだ。
LoRAで追加すればというが、アノテーションしているわけではないので、元のモデルが認識出来ないものは、全部丸めてsksなどの単語に置き換えられるので、
LoRAを探すたびになる。
今日は病院へ行きました。お注射です。お注射をしてしばらくは精神があまり安定しないようです。被害妄想を持ったりしてしまいます。
精神というのは、変動を検出すると不快感を持つような気がします。鬱の時も一定の心持ちであればそれなりに安定しますが、いきなり躁になったりすると錯乱するのかもしれません。
そういえば、私はインターネット上に残した自分の黒歴史の削除を試みました。
統合失調症+自分の名前で検索すると、誰かが勝手に私のYoutube動画(躁状態のときのもの)の音声をテキスト化したものが置いてありましたが、どうやらそのサイトは自然言語のアノテーションのサイトらしく、編集は誰でも行えるようでした。そしてその情報に「著作権侵害です」とラベルをつけて削除してきました。
そうそう、あと黒歴史ブログも残っていました。精神を錯乱して浮世離れしていた時のブログですが、「フロントカメラが不細工でバックカメラがイケメンなのは、介入する観察者が異なるからだ!」みたいな意味不明なことを書き、セルフィーまで載せていたのです。
このブログはまだ削除できていません。というのも、Googleアカウントのパスワードを紛失したからです。
Twitterにもいくつか精神錯乱時のアカウントが残っているのですが、それらも2段階認証を設定しており、ログインできなくなっているのです。
まあ、黒歴史というのはこのようにして、精神をおかしくしている時に生成してしまうものだとわかります。
ところで、インターネットを徘徊していたら、こんな文章を見ました。
つまり「人生の意味を問うても無駄。その代わり人生があなたに問うている」というものです。
もしそれが本当ならば、精神を錯乱して残した黒歴史を正常になってから振り返り、「この黒歴史、君自身はどう感じるのか?」と問うていることになります。
まったく、人生って本当に性格が悪いですね。私が嫌な思いをしていることがわからないのでしょうか。それともその嫌な経験こそが、哲学的深淵なのでしょうか。
私はその性格上、刺激を欲しがっているのです。SNSをやるのは、誰かから刺激をもらえないかというちょっとした期待に基づいています。
でも「いいねの応酬」はしっぺ返し戦略的、機械的なものになります。私が誰かにいいねすれば、その分のいいねが返ってくるというわけです。
そんなくだらない刺激のために黒歴史を残すなんていうのは、一体どういうことなんでしょうか。
SNSの繋がりなんて、所詮は浅い繋がりです。オンラインだと、相手がリアルに存在するものだと忘れてしまう人もいるようなのです。
やはり一期一会というのは、実際にオフラインで対面で会話したことのある相手の存在に対する「出会い」に感謝するような言葉であり、私をおもちゃにしようとしているネットトロールとの出会いというのは、そこまで感謝できるようなことではないと思うのです。
インターネットで発言すれば、好感を持たれたり、恨まれたり、見下されたりします。しかもその発言が、本来の私の精神状態ではないことだってあります。
「私」というものを、他人に誤解されることの恐怖が、SNSにはあります。もはや他人の目を気にして怯える場所です。
だから私は、発言する時は匿名性を重視するのです。箴言にも、愚か者が言葉数を増やしてしまうことに対する戒めがあるので、実名で語るシーンでは黙っておいた方が賢く見えるのです。
「話すは離す」という言葉もあります。結局、ネットであれカウンセリングであれ、悩みをぶちまけられる場所があれば、精神のデトックスになります。
そうやってぶちまけた内容というのは、恥ずかしい内容なので、やはり実名と紐づいてしまうと「目」の恐怖を感じます。
まあ、浅い繋がりの人たちに「見下すな」と言うのが、そもそも無理なのかもしれません。字下げ増田を「高学歴の愚者」などといって嘲笑う人たちがいますが、彼らは人の心を尊重することを軽視し、おもちゃにしています。
確かに、愚者は他人から見下されるような行動をしてしまいます。しかし、それが人間の弱さであり、弱さをお互いに認め合えるようになれば、「お前は愚かだ」などとインテリぶらずに優しい関係になれるのではないでしょうか。
画像に関して
ニュースだけ追いかけている人には、性能が上がって凄い!という感想だと思うが、
実際に定期的に触った身からすると、確かに凄いけどなんだかな、という感想だ。
プロンプト共有サイトが沢山出たが、ほぼ同じプロンプトで回っているため一通り見ると参考にならない。
多数使い回されているプロンプトより、数は少ないが自分にあったプロンプトを探す旅に出ることになり不毛だ。
動画に関して
自称インテリ語録は自分用コーパスの作成のために行っています。
意図は、箴言における「嘲る者(自分を賢いとみなし、他者を見下す傲慢な人)」を機械学習で見分けるモデルの作成です。
厳密なアノテーション基準はありませんが、アノテータがある程度の裁量で判断します。
「著作権侵害では?」と思われるかもしれませんが、差別は社会的に相応しくないため、コーパス作成は公益性があると判断し、また創作性のないものに絞っており、自己責任でやっております。
元々は自分の「自称インテリ」の概念の精密化のために行っておりましたが、Bing AIによって様々な分析をさせることが可能であることがわかったため、自然言語資源を作るという目標に変わりました。
Perl5の実用的な面での特徴は、異常なまでの後方互換性にある。
25年前のPerl4向けのスクリプトですら、ほとんど修正なしに最新のperl 5.36.0で動いてしまう。他のプログラミング言語ではあまり見られない特徴である。この特徴はある程度は今後も維持されるし、いまPerl5を書いている人の多くが望んでいることだろう。
しかし、後方互換性を守るあまり現代の言語に備わっているような機能が欠けている現状がある。ただ、それも改善されつつあり、後方互換性を守る形で慎重に取り入れられている。
一方で自由度が高すぎる文法は、後から修正を重ねていくようなものには不向きかもしれない。linterであったり、型アノテーションを書くようなモジュールも存在する。このようなものを用いて自分を律して書く分にはメンテ可能であるものの、現代のように多くの人が一つのスクリプトをいじることが求められる環境では不向きと言える。
実用的な面で向いているのは「一回書いたら修正を行わないスクリプト」かつ「10年単位で動かす必要のあるもの」である。そんなものはあるのかと思う人もいるかもしれないが、規模が小さければぴったりハマる場面もある。
言語としてはコンテキストだったり、ブロック単位で言語の挙動を変えられる点などが面白ポイントであるものの、これらはホビーとして楽しむのが良いというのが私の見解である。
AIが絵を描けるようになり、日本人なら漫画が描けるようになるのももうすぐと考えてしまうが、
AIに学習させる為のデータセットはManga109くらいしかない。
そしてアノテーションしようにも複雑だったりする。
「縦読みマンガ」は日本の漫画形式より簡略化されている(ように見える)ので、
先にAI対応して描けるようになったら、日本形式は駆逐されるのだろうか。
NovelAIで絵を描いたのを組み込んだのは、もう出てきた。
https://globalcomix.com/c/paintings-photographs/chapters/en/1/29
ツイッターで議論されていることを論理的に抽象化したら(自然言語処理的な意味で)アイデア生成機的に使えるのでは?と思ったのでブログでアノテーション作業を始めた。
https://tweetdiscussion.blogspot.com/2022/09/2022-072022-08ai.html
あんまし他の人から面白い行為に見えないかもしれないけど、自分としては面白いし暇つぶしにもなる。
アノテーションと言う割にルールの厳密性がなくて曖昧だが、将来的に巨大言語モデルに食わせる分にはそれでもいいとは思ってる。「自分の抽象化能力を再現できるか」という話。
例えば対象=お絵描きAI、対象A=AI、対象B=人間とすると以下のように議論を抽象化できる。(抽象化してるので、対象、対象A、対象Bに別のものを代入して色々と試せる)