電子透かしとは
Watermarking / AIウォーターマーク
生成テキストの単語選択に統計的な偏りを埋め込み、AI生成コンテンツかどうかを後から検出可能にする技術
ひとことで言うと
AIが書いた文章に人には気づかれない癖を仕込んでおき、後からAI製かどうかを判定できるようにする技術。
概要
電子透かしは、LLMがテキストを生成する際、次のトークンを選ぶ確率分布に人間には気づかれない程度の統計的な偏りを組み込み、生成された文章全体としてはその偏りのパターンを検出することで、後からAIが生成したものかどうかを高い精度で判定できるようにする技術。 代表的な方式では、直前のトークンをシードとして疑似乱数的に語彙を「緑リスト」と「赤リスト」に分割し、生成時に緑リストのトークンがわずかに選ばれやすくなるようロジットにバイアスを加える。 人間が読む分には文章の自然さがほとんど損なわれない程度の偏りに抑えつつ、統計的に検定することで、その文章が透かし入りのモデルによって生成された確率を計算できる。 生成AIによる誤情報の拡散や、教育現場でのAI使用の検出など、AI生成コンテンツの出所を判別する必要がある場面での活用が期待されている一方、言い換えや翻訳などの後処理によって透かしのパターンが壊されやすいという課題も指摘されている。
背景
生成AIの普及に伴い、AIが生成した文章と人間が書いた文章を見分けたいという需要が高まったが、文章の見た目だけから判別することは年々難しくなっている。 電子透かしは、生成過程そのものに検出可能な痕跡を統計的に埋め込むことで、後から機械的に判定できるようにする目的で研究されている。
歴史
2023年: Kirchenbauerらが論文「A Watermark for Large Language Models」で、緑リスト・赤リスト方式による実用的な透かし手法を提案。 2023年以降: 主要なLLM提供元が、生成コンテンツの検出技術として電子透かしの研究・実装を進める。
アーキテクチャ
生成の各ステップで、直前に生成されたトークンをシード値としてハッシュ関数にかけ、その結果に基づいて語彙全体を緑リストと赤リストに疑似乱数的に分割する。 次のトークンを決めるロジットのうち、緑リストに属するトークンにだけ小さな定数を加算してから、通常どおり確率分布を計算してサンプリングする。 検証時は、対象テキストの各トークンがどちらのリストに属していたかを再計算し、緑リストのトークンの出現割合が偶然の水準と比べて統計的に有意な偏りを示すかをZ検定などで判定する。
ワークフロー
生成の各ステップで、直前のトークンをシードとして語彙を緑リストと赤リストに疑似乱数的に分割する。 緑リストのトークンが選ばれやすくなるよう、ロジットにわずかなバイアスを加えたうえで次のトークンをサンプリングする。 検証時には、対象の文章に含まれるトークンがどれだけ緑リストに偏っているかを統計的に検定し、透かし入りモデルによる生成である確率を算出する。
コード例
緑リスト・赤リスト方式の概念的な実装
import hashlib
import random
def green_list(prev_token, vocab_size, green_ratio=0.5, key=42):
seed = int(hashlib.sha256(f"{key}-{prev_token}".encode()).hexdigest(), 16)
rng = random.Random(seed)
indices = list(range(vocab_size))
rng.shuffle(indices)
return set(indices[: int(vocab_size * green_ratio)])
def biased_logits(logits, green_set, bias=2.0):
for idx in green_set:
logits[idx] += bias # 緑リストのトークンを選ばれやすくする
return logits利点
- 人間の読みやすさをほとんど損なわずに、生成コンテンツへ検出可能な痕跡を埋め込める
- 統計的な検定に基づくため、検出結果の確信度を定量的に示せる
- 誤情報対策や教育現場でのAI利用検出など、コンテンツの出所判別が必要な場面で活用できる
欠点
- 言い換えや翻訳、部分的な編集などの後処理によって、透かしのパターンが壊れやすい
- 透かしを組み込んでいないモデルや、透かし機能のないオープンウェイトモデルで生成された文章には適用できない
- 検出アルゴリズムの詳細が広く知られると、透かしを回避する手法が開発されるいたちごっこになりうる
比較
関連用語
よくある質問
電子透かしは人間にわかる?
通常の読者が気づく程度の不自然さはほとんど生じないよう設計されている。専用の検出アルゴリズムを使って初めて、統計的な偏りとして検出できる。
電子透かしはどんな弱点がある?
文章の言い換えや翻訳、部分的な書き換えなどの後処理によって、埋め込まれた統計的パターンが崩れ、検出精度が落ちやすいという課題がある。
参考文献
- Research PaperA Watermark for Large Language Models