AI検出器はどのように機能するのか, Perplexity, Burstiness, トークン確率
AI検出器は, 読者のように機械生成の文章を認識するわけではない。テキストがどれほど予測しやすいかを測定し, それをスコアに変換する。これが理解できれば, 技術そのものとその失敗の両方が, より理解しやすくなる。
あなたの大学では、提出物をAI detectorに通す運用が始まっており、予想していなかった数値を示す報告書が返ってきました。それに異議を唱えようとする前に、その数値が何を意味するのかを知っておくと役に立ちます。AI detectorはどのように機能するのでしょうか。人がするようには機械生成の文章を読みません。言語モデルにとってその文章がどれほど予測しやすいかを測定し、その予測しやすさをスコアに変換します。その過程のどこにも、あなたが何を意味しているのか、議論の内容は何か、あるいは実際にそれを書いたのがあなたかどうかは見ていません。
私は長年にわたり、テキストを統計的に分解するツールを作ってきましたが、検出について理解するうえで最も有用なのは、これが出所ではなく典型性の測定であるという点です。これが腑に落ちると、その技術も、その失敗も、ずっと理解しやすくなります。
検出器が実際に測定しているもの
検出器は、誰が何を書いたかを知りません。そこにあるのは言語モデルとスコアリング関数だけです。モデルはあなたのテキストを左から右へ読み、各時点で次に来るべき単語についての確率分布を生成します。たとえば "the results of the" という語を与えると、"study" を最も高く、"experiment" をやや低く、"marmalade" をほぼゼロに近い位置に並べます。
そこで検出器は、あなたの文書に対して一つの問いを立てます。このテキストは、モデルが予想した単語をどれほど頻繁に選んだのか、という問いです。高確率の単語に何度も着地する書き方は、機械が作ったように見えます。なぜなら、それはまさにテキスト生成器が行うことだからです。モデルは、自身の分布の上位から、何千もの token にわたって何度も何度もサンプリングします。
このため、この分類全体は、宣伝文句が示すよりもはるかに不安定な基盤の上にあります。検出器は透かしや指紋を見つけているのではありません。あなたの文章が統計的に意外ではないことに気づいているだけであり、意外ではない文章には chatbot 以外にも多くの原因があります。
Perplexity, モデルがどれだけ驚くか
見出しとなる指標は perplexity と呼ばれ、見た目ほど難しくはありません。モデルが実際に現れた各単語に割り当てた確率を取り、その確率の対数を平均し、結果を指数化します。そうして得られるのは、モデルがあなたの文書にどれほど驚いたかを示す単一の数値です。推測するよりも、自分の下書きの perplexity を確認することができます。
perplexity が低いということは、テキストがモデルの予測どおりに進んだということです。perplexity が高いということは、モデルが予想しなかった方向へ何度も曲がりながら進んだということです。人間の文章は一般に高めになりやすいです。人は珍しい具体的な名詞や、普通ではない構文、予想外の場所から始まる文を選びがちだからです。生成されたテキストは一般に低めになりやすいです。なぜなら、デコード過程はまさにそうした動きを避けるように作られているからです。
方法の節の冒頭を二通り比べてみてください。"The results of the study were statistically significant" は、ほとんどどのモデルでも高い確信をもって予測するであろう連続です。そこには予想外の情報がないからです。"Two of the three cohorts drifted before week six, which we had not planned for" は、はるかに予測しにくいです。なぜなら、論文の残りからは推測できない、具体的で扱いにくい情報を含んでいるからです。後者は検出器に本当の驚きを与え、その驚きこそが人間らしさとして記録されます。
Burstiness: 平均ではなく分散
perplexity だけでは十分ではありません。文書全体の平均がまったく妥当な数値になっていても、その下では不自然なほど均一である場合があるからです。重要なのはテキスト全体にわたる変動であり、それを測るのが burstiness です。つまり、文章が進むにつれて文の長さと文単位の perplexity がどれほど揺れ動くかです。burstiness checker を使えば、その広がりを直接確認できます。
私たちは確信があるときには速くなり、ためらっているときには遅くなります。そのリズムは散文にも残ります。人は断続的に書きます。ある段落は8語の短い断定文で始まり、3つの節と挿入句を含む34語の文へ進み、その後また簡潔な文に戻るかもしれません。
モデルの出力は、これを信頼できる形では行わない。文は平均的な長さの近くに集まる。段落は整った束として現れる。各節は、自身の見出しを言い換えることから始まる。読みやすさは高いが、評価は低い。なぜなら、文全体での分散が小さいことは、検出器が持つ最も強いシグナルの一つだからである。見破られるのは、個々の文のどれかではない。均一性である。
| シグナル | 測定するもの | 機械生成テキストの評価が低くなる理由 |
|---|---|---|
| Perplexity | 文書全体で平均したときに、モデルが語の選択をどれほど予測外と感じるか | 高確率トークンからのデコードを設計上行うため |
| Burstiness | テキスト全体で文の長さと予測可能性がどれほど変動するか | 出力が揺れずに平均付近へ集まるため |
| トークン確率 | 他の二つが算出される、語ごとの尤度 | 個々には特に目立たない選択が長く続くため |
トークン確率と、スコアがどこから来るか
これら二つの数値は、第三の数値から構成される。それは各トークンの対数尤度であり、他のすべてがそこから計算される原材料である。いくつかのツールはそれを直接表示し、テキストが最も予測しやすかった箇所を強調する。そうした強調表示は、インターフェースが示唆するような、特定の文に対する非難ではない。それらは、文書全体の数値に最も大きく寄与した部分である。
研究上の手法は、単純な閾値を超える段階に進んでいる。DetectGPT とその後継は曲率に注目する。つまり、テキストをわずかに摂動させ、生成テキストに典型的に見られるパターンで尤度が低下するかどうかを確認する。他の手法は、同じ一節を二つの異なるモデルの下で比較し、その不一致をシグナルとして用いる。
一つの帰結は、評価を受ける人にとって重要である。指標は特定の参照モデルに対して計算されるため、スコアは常にそのモデルに対する相対値である。二つの検出器が同じ段落を読み、完全に異なる判断を下すことがあり得るが、どちらも故障しているわけではない。両者は、異なる参照点を用いて同じ問いに答えているのである。
第二の帰結は、あまりしばしば指摘されない。モデルがある箇所を予測可能だと見いだせるのは、その箇所が学習対象に似ている場合に限られるため、参照モデルと実際にその文章を生成したものとの隔たりが広がるほど、検出品質は低下する。より新しい生成器、特殊な分野、英語以外の言語はいずれもその隔たりを広げる。制御されたベンチマークで測定された精度が、実際の提出物の山に接したとたんにほとんど持ちこたえないのは、そのための一部である。
Humanize your own paper
Transform your AI-assisted text and make it sound human, without touching important words or citations.
商用検出器が上乗せするもの
実際に機関が購入するツールは、教科書的な perplexity を実行しない。Turnitin、GPTZero、Originality などは、人間と機械の文章からなる大規模なラベル付きデータ集合で教師あり分類器を訓練し、文体的特徴と並んで統計的特徴を用いる。分類器が学習するのは、訓練データの中でその二つの山を分けるものにすぎず、それは一般的な「AI writing」よりもはるかに狭く、より歴史的なものである。
訓練への依存は、静かな問題である。主として一世代のモデル出力で訓練された分類器は、より新しいモデル、見慣れない分野、そしてその英語が訓練分布に似ていない書き手へと一般化しなければならない。提供者は自社評価から得た精度を公表するが、独立したベンチマークでは、同じツールに対してその数値をしばしば大きく下回る結果が出る。
過剰に読み取らずにスコアを読むこと
検出器の報告は通常、百分率として示され、その百分率はしばしば誤読される。それは、あなたの文書のうち機械が書いた割合ではない。ツールによって、それは分類器の確信度であったり、ある内部閾値を超えた文の割合であったりし、提供者はどれを指すのかについて曖昧なことが多い。どちらも六十パーセントを示している二つの報告は、かなり異なる意味を持ちうる。
また、誰が書いたかとは無関係な理由でスコアが動くことを知っておく価値もある。短い文書はノイズが大きい。平均が安定するためのテキスト量が少ないためであり、500語のエッセイは、2つか3つの珍しい文だけで大きく変動しうる。引用された素材も、ツールがそれを除外しない限りは同様に数えられるので、ブロック引用で埋め尽くされた文献レビューは、引用先の内容が持つ予測可能性を引き継ぐ。標準的な用語を多く含む技術的な文章も同じように振る舞う。
もしフラグを付けられた側に立つなら、有用な対応は指標についての議論ではなく、証拠である。版の履歴、下書き、メモ、検索記録はいずれも作成過程を示し、そして不正行為の審査委員会が実際に評価できるのはその過程である。注意深い書き手とモデルを分ける閾値を、誰も指し示すことはできない。
なぜ検出器は、どのモデルも生成していない文章にフラグを付けるのか
偽陽性は、まれな不具合ではない。それは典型性を測定することから直接生じる。真に予測可能な文章は、誰が生成したかにかかわらず、予測可能としてスコア付けされる。
英語を母語としない書き手が最も影響を受ける。スタンフォードの研究者は、検出器が非母語話者によるエッセイの大きな割合を機械生成と誤分類した一方で、母語話者のエッセイは正しく分類したことを明らかにした。その理由は悪意ではなく機械的である。第二言語で書く人は、使い古された構文やより一般的な語彙に頼る傾向がある。これはまさに低い perplexity の特徴であり、そのためESL の書き手は、慎重に書いたことでフラグを付けられるのである。
学術的な慣例も同じ問題を引き起こす。方法の節は定型的であることが求められる。法律文書、技術文書、臨床報告はいずれも、独創的な言い回しより標準的な言い回しを評価する。大幅な編集はさらにそれを強める。なぜなら、下書きを磨くことは通常、統計的な署名を担っていた不規則性を取り除くことを意味するからである。
機関もこれに気づいている。Vanderbiltは、検証できないスコアに基づいて行動するよりも、TurnitinのAI検出機能を無効化した。また、他の大学では、数値を不正行為手続でどのように用いてよいかを制限している。検出器のスコアは、判定ではなく、弱い証拠の一つとして扱うべきである。
これがあなた自身の文章にとって意味すること
仕組みから導かれる実践的な助言は、特異なものではなく、そのどれもが何かを不正に操作することを含まない。文の長さは意図的に変えるべきである。均一性こそが検出されるからである。具体的な細部は保つべきである。実際の数値、実際の制約、第6週に何がうまくいかなかったのか、である。一般的な有能さは機械生成として得点化されやすく、具体性はよりよい文章であると同時に、より強いシグナルでもある。
自分自身の言い回しも保つべきである。物事を表現する独自のやり方があるなら、それを残すべきである。下書きを、分野の他の論文と同じように聞こえるまで削り取ろうとする衝動は、perplexity を下げる衝動である。
避けるべきことが一つある。いくつかのツールは、perplexity を上げるために意図的に文法上の誤りを導入する。これは指標上は機能するが、採点対象や査読対象のものにとっては非常に悪い考えである。なぜなら、疑いを確実なものに置き換えてしまうからである。目標は、あなた自身の文章として読まれる文章であって、意図的に損なわれた文章ではない。これこそが、人間の読者向けに書き換えることと、採点者を欺くために文章を壊すこととの間の、全体的な違いである。
これらの数値を、ブラックボックスの言うことをそのまま受け取るのではなく、自分の下書きについて確認したいなら、基礎となる測定値は秘密ではない。無料のテキスト分析ツールを使えば、自分の文章がどこに位置しているかを示してくれるので、平坦な部分が修正に値する文体上の問題かどうかを、自分で判断できる。
Frequently Asked Questions
はい, そしてそれは予測可能である。検出器は, 誰が書いたかではなく, テキストが統計的にどれほど予測しやすいかを測定するため, 真に定型的な文章は機械生成と判定される。独立したベンチマークは一貫してベンダーの主張を下回る精度を報告しており, 複数の大学はスコアの使用方法を制限している。
PhD in natural language processing, with years spent building NLP applications end to end. Moe works on text analysis: lexical and syntactic structure, and what separates machine-generated prose from human prose statistically. He has been experimenting with computational linguistics since the early days of NLTK, spaCy and WordNet, and still writes most of his tooling in Python.