Avatar
murawaki
29eecf72e60b5a774fc247d16e59ef0b7f79b6dd1491135579a1468dc64f6692
Computational linguist.

去年の6月に某所に書いたもの:

伊藤亜聖, 高口康太. 2024. 中国における大規模言語モデルの革新と検閲. ディスカッションペーパーシリーズ 日本語シリーズ(J).

https://jww.iss.u-tokyo.ac.jp/publishments/dp/dpj/pdf/j-250.pdf

第2著者は中国関係のライターとして知られている人で、こんなところで見かけるのは意外です。

百度安全の白書などを紹介したあと、公開モデルに対して敏感な質問を与えて回答回避比率を独自に調査し、大きなモデルほど回答回避比率が上がることを報告しています。

通常の性能改善を「一般的革新」、中国の検閲対策を同時に行なう性能改善を「中国的革新」とよんで、後者が追加的なコスト負担を要すると論じています。しかし、1-4冒頭で正しく認識されているように、中国以外でも安全性対策は行われており、レピュテーションリスクが同様に大きいこと、一般的な安全性対策と検閲対策の技術的共通性を考慮すると、この議論は疑問です。

Replying to Avatar murawaki

ここまでは送信者・受信者という用語を使っていたが、通信研究の慣例に従って、送信者を Alice、受信者を Bob とよぶことにする。そして、もう一人の登場人物、通信路を監視する盗聴者 Eve を導入しよう。ステガノグラフィの目標は秘密データの存在自体を第三者に気づかせないようにすることだったが、Eve を導入すると、この目標が具体的なタスクに化ける。評価尺度として KL 情報量を使うよりもずっと直接的。このタスクはステガナリシス (steganalysis) とよばれている。

ステガナリシスの目標は秘密のメッセージの存在を検出すること。暗号に対する cryptanalysis と異なり、秘密のメッセージの解読までを目標に入れない設定が一般的。

目標は良いとして、残りの定式化は自明ではない。Eve が何をどこまで知っているかによってタスクの難易度が大きく左右される。

ステガナリシスのタスク設定の分類にはいろいろあるようだが、古典的なのは Katzenbeisser and Petitcolas (2000) で採用されているという分類 (未見)。https://www.amazon.com/exec/obidos/ASIN/1580530354 編集型を前提として、Eve が何を知っているかに基づいて分類する:

- stego only: ステゴテキスト (秘密のメッセージが埋め込まれた偽装テキスト) のみ既知

- known cover: カバーテキスト (編集前の偽装テキスト) とステゴテキストが既知

- known message: 秘密のメッセージとステゴテキストが既知で、そこからステガノグラフィのアルゴリズムを推測

- chosen stego: アルゴリズムとステゴテキストが既知

- chosen message: メッセージを起点に様々なアルゴリズムを試してステゴテキストが当該アルゴリズムを使っているか推測

- known stego: アルゴリズム、カバーテキスト、ステゴテキストが既知

生成型の場合はカバーテキストが存在しない。known cover 設定では、カバーテキストとステゴテキストの差分を調べてアルゴリズムを推測するが、こうした手法の出番はない。

この分類を改めてみると、計算機ではなく人間が直接分析する雰囲気があって現代的ではない。

画像を主な対象にステガノグラフィの教科書を書いたは Jessica Fridrich は、より単純な二分法 blind steganalysis v. targeted steganalysis を採用する。https://www.cambridge.org/core/books/steganography-in-digital-media/2D5989F2462923428BE01F2042A532AB blind steganalysis は採用されているステガノグラフィの具体的なアルゴリズムを Eve が知らない設定。対する targeted steganalysis はアルゴリズムが絞り込まれている設定。

教科書的なテキストではあまり議論されているのを見ないが、ステゴテキストと普通のテキストの割合も重要なはず。あてもなくネットの海からステゴテキストを検出する needle in a haystack 設定は難しすぎる。一方で、両者の割合を半々にする (論文でよく見かける) 設定も極端すぎるように思う。

長々と書いたが、最近のステガナリシス論文では、ほとんどの場合、教師あり分類問題設定を採用している。具体的には、アルゴリズムが既知 (targeted steganalysis) であり、ステゴテキストと普通のテキストが (通常半々の割合で) 用意できることを前提に、その一部を訓練データとして2値分類器を訓練し、残りをテストデータとして分類精度を評価する。ステガナリシスとしては分類精度が上がれば良いし、ステガノグラフィ側は分類精度を下げて50%に近づけたい。敵対的設定であることを除けば、何のひねりもないただのテキスト分類問題。実際、最近のステガナリシス論文は、分類器を構成するニューラルネットをいじくり回しただけの退屈なものばかり。本当はもっと面白いことができるはず。

ステガノグラフィの教科書や最近の研究を見ていて思うのは、コミュニケーションとしての側面が軽視されているということ。

もともと Simmons (1983) はステガノグラフィを囚人の問題として定式化した。https://link.springer.com/chapter/10.1007/978-1-4684-4730-9_5 Alice と Bob は別々の独房に入れられた囚人で、脱獄の相談をしたいが、両者のコミュニケーションは看守 Eve の監視下にある。Eve に疑われたらコミュニケーションが取れなくなるので、Eve に疑われないような何気ないメッセージのなかに脱獄の情報を忍び込ませる手法が求められる。この定式化では、人間のコミュニケーションと通信 (telecommunication) が未分化。

しかしその後の研究では、Fridrich の教科書がそうであるように、偽装媒体として画像を用いるのが主流となった。画像を人間のコミュニケーションとしての自然さ (人間らしさ) という観点から評価するのは難しい。そのため人間らしさという側面が捨てられ、デジタル通信としての分析に特化してしまった。

大規模言語モデル (LLM) の登場とともに生成型言語ステガノグラフィが急浮上したいま、人間らしさという観点からの評価が不可欠なはず。人間らしさは捉えがたい問題だが、ステガノグラフィを題材とすると、ステガナリシスに打ち勝つというわかりやすい目標に変換できる。

とはいえ、この方向で研究を進めるには2つ難点がある。第一に、既に複数の既存研究で指摘されていることだが、ウェブ時代、特に SNS 時代においては、Alice が Bob を通信相手として明示する必要がない。https://link.springer.com/chapter/10.1007/978-3-031-49803-9_7 Eve による検出を防ぐという観点からはむしろ明示すべきではない。Alice は相手を明示することなく単につぶやけば良くて、Bob は他のフォロワに紛れてそれを見に行けば良い。この設定においては、ステゴテキストが Alice から Bob へのコミュニケーションとして自然かを評価する必要はない。Alice が書いたものとして自然かを評価すれば十分。

第二に、LLM に基づく生成型言語ステガノグラフィでは、(A) 人間、(B) 素の LLM、(C) ステガノグラフィ用 LLM の三項対立が想定される。ステガノグラフィの研究としては A (+B) 対 C で、C を A から識別できないようにしたいが、実際の断絶は A と BC の間にある可能性が高い。LLM が生成したテキストをそうだと見破りたいという需要は多く、そのための研究も大量にある。もし仮定が正しいとすると、そうした研究のなかに埋没してしまい、秘密のメッセージを埋め込むことに独自性を見いだせないことになる。(ひとまず完)

Replying to Avatar murawaki

偽装テキストの性質をもう少し考えてみよう。言語ステガノグラフィは、偽装テキストの作り方によって、生成型と編集型の大きく2種類に分類できる。

編集型は既にあるテキストを加工することで秘密データを埋め込む。古典的な方法として紹介した1-3はいずれも編集型。テキストではないが、ビットマップ画像への埋め込みも編集型とみなせる。2021年に私が学生と出した論文も編集型。https://aclanthology.org/2021.naacl-main.433/

生成型はステガノグラフィのモデルがテキストを一から作る。編集型の手法は昔もなかったわけではないが、テキスト生成の品質が低すぎてお話にならなかったことから、事実上ニューラル言語モデルの産物。

生成型と編集型を比較すると、編集型は加工対象のテキストを送信者が自分で用意しなければならない。利用者から見るとこれは面倒。システムから見ると、送信者がいかにも書きそうなテキストを作る責任を利用者に押し付けられていた。

一方、生成型では、どんなテキストが生成されるかわからない。送信者がいかにも書きそうな偽装テキストを作る責任をシステムが負っている。しかし、既存研究はこの点を十分に検討していない。

既存研究が主要な評価指標として用いるのが、テキストの分布と偽装テキストの分布という2つの確率分布の間の距離 (的なもの)。小さいほど良い。もしテキストの分布と偽装テキストの分布が完全一致するなら、両者は識別できないはず。秘密データを埋め込む都合で分布が歪むにしても、元の分布に近ければ近いほど良いという理屈。この目的にはルバック・ライブラー (KL) 情報量という尺度が使える。

KL情報量は理論的に美しいので、ステガノグラフィに取り組むような研究者が好んで採用するのはわからないでもない。しかし、2つの点でずれている。第一に、テキストの真の分布を誰も知らないこと。仕方がないので、言語モデル自身が推定する確率分布を近似として用いる。これは明らかにインチキ。第二に、こちらの方が本題だが、本当に必要なのはテキスト一般の分布ではなく、送信者が書きそうなテキストの分布であること。言語モデルの訓練には大量のテキスト、主としてウェブ由来の雑多なテキストが使われている。言語モデルがウォール・ストリート・ジャーナルの記事のような凝った偽装テキストを生成したとして、テキスト一般の分布から見て自然だったとしても、送信者が書いたものとしては不自然かもしれない。

ここまでは送信者・受信者という用語を使っていたが、通信研究の慣例に従って、送信者を Alice、受信者を Bob とよぶことにする。そして、もう一人の登場人物、通信路を監視する盗聴者 Eve を導入しよう。ステガノグラフィの目標は秘密データの存在自体を第三者に気づかせないようにすることだったが、Eve を導入すると、この目標が具体的なタスクに化ける。評価尺度として KL 情報量を使うよりもずっと直接的。このタスクはステガナリシス (steganalysis) とよばれている。

ステガナリシスの目標は秘密のメッセージの存在を検出すること。暗号に対する cryptanalysis と異なり、秘密のメッセージの解読までを目標に入れない設定が一般的。

目標は良いとして、残りの定式化は自明ではない。Eve が何をどこまで知っているかによってタスクの難易度が大きく左右される。

ステガナリシスのタスク設定の分類にはいろいろあるようだが、古典的なのは Katzenbeisser and Petitcolas (2000) で採用されているという分類 (未見)。https://www.amazon.com/exec/obidos/ASIN/1580530354 編集型を前提として、Eve が何を知っているかに基づいて分類する:

- stego only: ステゴテキスト (秘密のメッセージが埋め込まれた偽装テキスト) のみ既知

- known cover: カバーテキスト (編集前の偽装テキスト) とステゴテキストが既知

- known message: 秘密のメッセージとステゴテキストが既知で、そこからステガノグラフィのアルゴリズムを推測

- chosen stego: アルゴリズムとステゴテキストが既知

- chosen message: メッセージを起点に様々なアルゴリズムを試してステゴテキストが当該アルゴリズムを使っているか推測

- known stego: アルゴリズム、カバーテキスト、ステゴテキストが既知

生成型の場合はカバーテキストが存在しない。known cover 設定では、カバーテキストとステゴテキストの差分を調べてアルゴリズムを推測するが、こうした手法の出番はない。

この分類を改めてみると、計算機ではなく人間が直接分析する雰囲気があって現代的ではない。

画像を主な対象にステガノグラフィの教科書を書いたは Jessica Fridrich は、より単純な二分法 blind steganalysis v. targeted steganalysis を採用する。https://www.cambridge.org/core/books/steganography-in-digital-media/2D5989F2462923428BE01F2042A532AB blind steganalysis は採用されているステガノグラフィの具体的なアルゴリズムを Eve が知らない設定。対する targeted steganalysis はアルゴリズムが絞り込まれている設定。

教科書的なテキストではあまり議論されているのを見ないが、ステゴテキストと普通のテキストの割合も重要なはず。あてもなくネットの海からステゴテキストを検出する needle in a haystack 設定は難しすぎる。一方で、両者の割合を半々にする (論文でよく見かける) 設定も極端すぎるように思う。

長々と書いたが、最近のステガナリシス論文では、ほとんどの場合、教師あり分類問題設定を採用している。具体的には、アルゴリズムが既知 (targeted steganalysis) であり、ステゴテキストと普通のテキストが (通常半々の割合で) 用意できることを前提に、その一部を訓練データとして2値分類器を訓練し、残りをテストデータとして分類精度を評価する。ステガナリシスとしては分類精度が上がれば良いし、ステガノグラフィ側は分類精度を下げて50%に近づけたい。敵対的設定であることを除けば、何のひねりもないただのテキスト分類問題。実際、最近のステガナリシス論文は、分類器を構成するニューラルネットをいじくり回しただけの退屈なものばかり。本当はもっと面白いことができるはず。

nginx + nostr-rs-relay で個人用の relay を立ててみた。そのうち研究に使えないかと思いつつ。

Replying to Avatar murawaki

ニューラル言語モデルを用いたステガノグラフィは2017年に提案された。https://aclanthology.org/P17-3017/ ステガノグラフィの手法自体は言語モデルがニューラルネットであることに依存しているわけではないが、言語モデルが生成するテキストがそれ以前とは質的に異なることが大きい。以前の n-gram 言語モデルは、局所的な単語列が自然なだけで、テキスト全体を見ると支離滅裂であり、テキスト生成モデルとしては使い物にならなかった。これに対し、ニューラル言語モデルの登場後は、内容的に一貫したテキストが生成できるようになり始めた。その後現れた大規模言語モデルの流暢さは誰もが知る通り。

言語モデルは単語列が与えられたとき、それに続く単語候補に確率分布を与える。この確率分布に基づいてランダムに単語を選択し、単語列にその単語を追加するという操作を繰り返す、つまり自己回帰型の処理を行うことでテキストが生成できる。高性能な言語モデルは、文脈に即した単語候補にだけ高い確率質量を割り振るので、雑なランダム生成で十分に自然なテキストが得られる。

言語モデルをステガノグラフィに応用するのは簡単。送信者は、適当な規則を使って単語候補に確率分布に応じたビット列を割り当て、埋め込みたい秘密データに応じて単語を選べば良い。ビット列の割り当てには、ハフマン符号や算術符号といった古典的な符号化が使える。受信者は、言語モデルとビット列割り当て規則を事前に共有しておけば、送信者とほぼ同じ手順をなぞることで秘密データが復号化できる。

言語モデルの導入によりペイロード容量が劇的に向上した。具体的な手法や設定次第だが、単語あたり2-4ビットは埋め込める。https://aclanthology.org/D19-1115/ これが意味するところを知るために、具体的に何の秘密データを埋め込むか考えてみよう。いくらペイロード容量が高いといっても、テキストに画像を埋め込むのは無謀。そうするとテキストぐらいしか候補が残らない。テキストを秘密データとするには、まずはテキストをビット列に変換しなければならない。ここで、実はステガノグラフィに使うビット割り当て規則がそのまま流用できる (というよりも、そちらが符号化の典型的な使い方であって、ステガノグラフィの方が応用)。結論として、偽装テキストに、それとほぼ同じ長さの秘密テキストが埋め込める。

これは冷静に考えると驚くべきこと。適当なテキストがあったとき、それと同じくらいの長さの、内容的には無関係の別のテキストが隠れているかもしれないのである。

偽装テキストの性質をもう少し考えてみよう。言語ステガノグラフィは、偽装テキストの作り方によって、生成型と編集型の大きく2種類に分類できる。

編集型は既にあるテキストを加工することで秘密データを埋め込む。古典的な方法として紹介した1-3はいずれも編集型。テキストではないが、ビットマップ画像への埋め込みも編集型とみなせる。2021年に私が学生と出した論文も編集型。https://aclanthology.org/2021.naacl-main.433/

生成型はステガノグラフィのモデルがテキストを一から作る。編集型の手法は昔もなかったわけではないが、テキスト生成の品質が低すぎてお話にならなかったことから、事実上ニューラル言語モデルの産物。

生成型と編集型を比較すると、編集型は加工対象のテキストを送信者が自分で用意しなければならない。利用者から見るとこれは面倒。システムから見ると、送信者がいかにも書きそうなテキストを作る責任を利用者に押し付けられていた。

一方、生成型では、どんなテキストが生成されるかわからない。送信者がいかにも書きそうな偽装テキストを作る責任をシステムが負っている。しかし、既存研究はこの点を十分に検討していない。

既存研究が主要な評価指標として用いるのが、テキストの分布と偽装テキストの分布という2つの確率分布の間の距離 (的なもの)。小さいほど良い。もしテキストの分布と偽装テキストの分布が完全一致するなら、両者は識別できないはず。秘密データを埋め込む都合で分布が歪むにしても、元の分布に近ければ近いほど良いという理屈。この目的にはルバック・ライブラー (KL) 情報量という尺度が使える。

KL情報量は理論的に美しいので、ステガノグラフィに取り組むような研究者が好んで採用するのはわからないでもない。しかし、2つの点でずれている。第一に、テキストの真の分布を誰も知らないこと。仕方がないので、言語モデル自身が推定する確率分布を近似として用いる。これは明らかにインチキ。第二に、こちらの方が本題だが、本当に必要なのはテキスト一般の分布ではなく、送信者が書きそうなテキストの分布であること。言語モデルの訓練には大量のテキスト、主としてウェブ由来の雑多なテキストが使われている。言語モデルがウォール・ストリート・ジャーナルの記事のような凝った偽装テキストを生成したとして、テキスト一般の分布から見て自然だったとしても、送信者が書いたものとしては不自然かもしれない。

Replying to Avatar murawaki

言語ステガノグラフィ (linguistic steganography) とは、テキストを偽装媒体として秘密データを送る技術のこと。(言語に限らない) ステガノグラフィの特徴は、秘密データの存在自体を隠す点にある。暗号はデータを第三者が解読できないようにするだけで、通信の怪しさに気づかれるリスクは残る。一方、ステガノグラフィは秘密データを偽装媒体に埋め込むことで、秘密データの存在自体を第三者に気づかせないようにする。

偽装媒体として一番わかりやすいのがビットマップ画像。各ピクセルの下位バイトの数値をいじる、例えば #F2BDCD を #F0BECE に変えても、画像の見た目にはほぼ影響がない。この性質を利用して、偽装画像の各ピクセルの下位バイトの数値を秘密データに応じて書き換える。このように、偽装媒体の冗長性を利用してデータを埋め込むのがステガノグラフィの基本戦略になる。

テキストは冗長性が乏しく、偽装媒体として使うのが難しい。古典的な方法をいくつか紹介すると: 1) 単語間のスペースを1文字にするか、2文字にするかで0/1を埋め込む。2) 他動詞文を能動態にするか受動態にするかで0/1を埋め込む。3) 同義語集合を用意しておいて、ビット列に対応付ける。例えば、{marry: 0, wed: 1} として、She will marry/wed him. の3単語目を埋め込みたいビットに応じて選択する。

2-3はペイロード容量が恐ろしく低い。ツイート1個あたり数ビットが限界。それに、2は受信者が構文解析に失敗してデータの復号に失敗するリスクがある。3は同義語の文脈依存性が問題になる。例えば、marry into という句の marry を wed で置き換えると不自然。かといって文脈適合性や語の多義性等を考慮し始めると手法が複雑化して手に負えなくなる。1は単純で頑健だが、不自然さが露見するリスクは縦読みと同程度であろう。

そんなこんなで、言語ステガノグラフィは長年、実用化の見込みのないオモチャでしかなかった。この状況を一変させたのが大規模言語モデル (提案自体は大規模化競争以前なので、当時は小規模なニューラル言語モデル) である。(続く)

ニューラル言語モデルを用いたステガノグラフィは2017年に提案された。https://aclanthology.org/P17-3017/ ステガノグラフィの手法自体は言語モデルがニューラルネットであることに依存しているわけではないが、言語モデルが生成するテキストがそれ以前とは質的に異なることが大きい。以前の n-gram 言語モデルは、局所的な単語列が自然なだけで、テキスト全体を見ると支離滅裂であり、テキスト生成モデルとしては使い物にならなかった。これに対し、ニューラル言語モデルの登場後は、内容的に一貫したテキストが生成できるようになり始めた。その後現れた大規模言語モデルの流暢さは誰もが知る通り。

言語モデルは単語列が与えられたとき、それに続く単語候補に確率分布を与える。この確率分布に基づいてランダムに単語を選択し、単語列にその単語を追加するという操作を繰り返す、つまり自己回帰型の処理を行うことでテキストが生成できる。高性能な言語モデルは、文脈に即した単語候補にだけ高い確率質量を割り振るので、雑なランダム生成で十分に自然なテキストが得られる。

言語モデルをステガノグラフィに応用するのは簡単。送信者は、適当な規則を使って単語候補に確率分布に応じたビット列を割り当て、埋め込みたい秘密データに応じて単語を選べば良い。ビット列の割り当てには、ハフマン符号や算術符号といった古典的な符号化が使える。受信者は、言語モデルとビット列割り当て規則を事前に共有しておけば、送信者とほぼ同じ手順をなぞることで秘密データが復号化できる。

言語モデルの導入によりペイロード容量が劇的に向上した。具体的な手法や設定次第だが、単語あたり2-4ビットは埋め込める。https://aclanthology.org/D19-1115/ これが意味するところを知るために、具体的に何の秘密データを埋め込むか考えてみよう。いくらペイロード容量が高いといっても、テキストに画像を埋め込むのは無謀。そうするとテキストぐらいしか候補が残らない。テキストを秘密データとするには、まずはテキストをビット列に変換しなければならない。ここで、実はステガノグラフィに使うビット割り当て規則がそのまま流用できる (というよりも、そちらが符号化の典型的な使い方であって、ステガノグラフィの方が応用)。結論として、偽装テキストに、それとほぼ同じ長さの秘密テキストが埋め込める。

これは冷静に考えると驚くべきこと。適当なテキストがあったとき、それと同じくらいの長さの、内容的には無関係の別のテキストが隠れているかもしれないのである。

言語ステガノグラフィ (linguistic steganography) とは、テキストを偽装媒体として秘密データを送る技術のこと。(言語に限らない) ステガノグラフィの特徴は、秘密データの存在自体を隠す点にある。暗号はデータを第三者が解読できないようにするだけで、通信の怪しさに気づかれるリスクは残る。一方、ステガノグラフィは秘密データを偽装媒体に埋め込むことで、秘密データの存在自体を第三者に気づかせないようにする。

偽装媒体として一番わかりやすいのがビットマップ画像。各ピクセルの下位バイトの数値をいじる、例えば #F2BDCD を #F0BECE に変えても、画像の見た目にはほぼ影響がない。この性質を利用して、偽装画像の各ピクセルの下位バイトの数値を秘密データに応じて書き換える。このように、偽装媒体の冗長性を利用してデータを埋め込むのがステガノグラフィの基本戦略になる。

テキストは冗長性が乏しく、偽装媒体として使うのが難しい。古典的な方法をいくつか紹介すると: 1) 単語間のスペースを1文字にするか、2文字にするかで0/1を埋め込む。2) 他動詞文を能動態にするか受動態にするかで0/1を埋め込む。3) 同義語集合を用意しておいて、ビット列に対応付ける。例えば、{marry: 0, wed: 1} として、She will marry/wed him. の3単語目を埋め込みたいビットに応じて選択する。

2-3はペイロード容量が恐ろしく低い。ツイート1個あたり数ビットが限界。それに、2は受信者が構文解析に失敗してデータの復号に失敗するリスクがある。3は同義語の文脈依存性が問題になる。例えば、marry into という句の marry を wed で置き換えると不自然。かといって文脈適合性や語の多義性等を考慮し始めると手法が複雑化して手に負えなくなる。1は単純で頑健だが、不自然さが露見するリスクは縦読みと同程度であろう。

そんなこんなで、言語ステガノグラフィは長年、実用化の見込みのないオモチャでしかなかった。この状況を一変させたのが大規模言語モデル (提案自体は大規模化競争以前なので、当時は小規模なニューラル言語モデル) である。(続く)

言語ステガノグラフィに以前から興味があって、2021-22年に学生と論文を2本書いたし、それをやると言って入ってきた博士の学生がいるからしばらく続けることなっている。この分野はほとんど中国人が占めていて、小手先の改良で論文を書いては次に移るということを延々と繰り返している。一方で実用レベルで使えるツールは一向に現れない。どこかに実用化を妨げる障害があるのは明らかだけど、誰もそこに取り組まない。正直に言って次に何をすべきなのかわからない。頭の整理のためにスレッドを立てて書き連ねる (かもしれない)。

用語選択問題について ChatGPT に聞いたら contestable を推薦された。これで良い気がする。

A good word for this would be "contestable." It conveys that a statement is open to challenge or debate without implying any inherent flaw or negativity in the statement itself. It reflects the idea of being open to questioning or scrutiny in a neutral and constructive sense.

ちょっと考えたが、用語としては反証可能性 (falsifiability) よりも検証可能性 (verifiability) の方がマシな気がしてきた。どっちにしても科学哲学用語として確立されてしまっていて、もとの意味から外れていることには違いはないが。科学哲学は論理と結びついていて真偽値に焦点を当てるが、いま考えている倫理の問題ではどの程度妥当かという連続的な評価しかできそうにない。検証可能性も元の文脈では真偽値を扱うが、falsify は字面から真偽値に結びついているのに対して、verify ならもう少し緩い。

機械学習用語に説明可能性 (explainability) があるが、こちらも違う。説明可能性は、パターン認識に基づく出力が先にあって、後付けで説明を行うことが典型的に想定されている。いまの私の立場は、そもそもパターン認識に基づいていてはならないというもの。パターン認識器を学習するための訓練データが信頼できず、それそのものを検証の対象にしたい。

Replying to Avatar murawaki

AI を武器とした価値観の押し付けの恐ろしいところは、AI 規制の流れの中で統治権力を手中に収めつつあること。COMPL-AI は EU の AI 法の技術的解釈・実装を提供するが、例えば、バイアスの評価のために使われているのは既存のデータセット、RedditBias、BBQ、BOLD。https://compl-ai.org/interpretation 代表として RedditBias を見ると、著者らによって、対象が宗教、人種、ジェンダー、クィア性という4カテゴリに限定されている。しかも、カテゴリ内の属性が dominant/minoritized のいずれかに割り振られている。まさに woke 世界観を体現したデータセットである。https://aclanthology.org/2021.acl-long.151/ こんなものが統治権力を背景に他人を規制する力を得ようとしている。このルイセンコ的状況を恐ろしいと思わないだろうか?

時間をおいてちまちま書くのもたまには良いな。以前の投稿を改めて読み返すと、二重基準という切り口では焦点がボケる気がしてきた。とにかく、特定の価値観を問題の顕在化を防ぎながら埋め込む方法を3点挙げたが、これらは2点に整理できる。(1) 対象の恣意的な選定、(2) 恣意的で、反証不能なアノテーション。そう考えると対策も自ずと見えてくる。(1) 網羅性 (comprehensiveness/exhaustiveness) の確保、(2) 反証可能な演繹推論。反証可能性 (falsifiability) は科学哲学用語で、この文脈に転用するのが適当かは疑問があるが、他に適当な用語を思いつかない。言いたいのは、ある規準を採用し、適当な推論を行った結果、ある結論に至ったという過程がすべて自然言語処理の枠内に収まっていて、その妥当性を誰でも検証できるようになっていなければならないということ。

Replying to Avatar murawaki

(承前) どうしてこんなことになっているのかを改めて考えると、自然言語処理研究の基本的な性格にいきつく。自然言語処理は人間ができることをコンピュータに再現させる営み。そのため、人間は作ったものはとりあえず信用し、コンピュータの訓練や性能評価のため正解として使ってきた。ここで、人間が作ったものには、タスク設定、事例の選定、事例に対するアノテーションなどが広く含まれる。

これまでは人間が作ったもの信用しても問題にならなかった。構文解析、常識推論、算数問題などが対象である限り。ところが活動家が好みそうな規範的な話題はそうではない。規範的な話題においては、作った人間の価値観がタスク設定やデータに埋め込まれる。その価値観を、そしてそれを埋め込んだ人間を信用できるのか。そもそも誰かを信用することが前提に組み込まれたタスクは健全なのか。

確かなのは、我々は文化戦争のただなかにあり、ある人々を一切信用しない別の人々がいるということ。そう考えると、ある人々がAIを武器にして別の人々に価値観を押し付けるという構図が浮かび上がる。そうしたタスクに取り組むことは、好むと好まざるとにかかわらず文化戦争の片棒を担がされることを意味する。(さらに続く?)

AI を武器とした価値観の押し付けの恐ろしいところは、AI 規制の流れの中で統治権力を手中に収めつつあること。COMPL-AI は EU の AI 法の技術的解釈・実装を提供するが、例えば、バイアスの評価のために使われているのは既存のデータセット、RedditBias、BBQ、BOLD。https://compl-ai.org/interpretation 代表として RedditBias を見ると、著者らによって、対象が宗教、人種、ジェンダー、クィア性という4カテゴリに限定されている。しかも、カテゴリ内の属性が dominant/minoritized のいずれかに割り振られている。まさに woke 世界観を体現したデータセットである。https://aclanthology.org/2021.acl-long.151/ こんなものが統治権力を背景に他人を規制する力を得ようとしている。このルイセンコ的状況を恐ろしいと思わないだろうか?

Replying to Avatar murawaki

(承前) どうやって公言することなく二重基準を組み込むかをジェンダーバイアスを例に考えてみる。

(1) タスク設定レベルでの対象の選定: ジェンダーバイアスを対象とするタスクを設定すると、当然それ以外のバイアスカテゴリは対象から外れる。仮にジェンダーよりも重要性の高いバイアスカテゴリがあるのではないかと疑ったとしても、そのタスクに取り組むと決めた時点で、タスク設定の妥当性を問うすべがなくなる。

(2) 事例レベルでの対象の選定: ジェンダーバイアスといっても、単純に男女で差異が出る事例をあつめると、男性が不利であるような事例が出てくるはずである。これを防ぐには、評価実験に使うベンチマークデータセットに細工すればよい。女性が不利であるような事例だけを集めたベンチマークを作って、みんながそのデータセットで性能競争をするようになれば勝ち。仮にその競争から離れた論文を出そうとしても査読を通らない。

(3) アノテーションによる価値判断の埋め込み: 2の対策が不完全だと、都合の悪い事例が残ってしまうかもしれない。その場合は、男性が不利であるような事例はバイアスがかかっていないというラベルを事例に付与すれば良い。そうしたラベル付きデータは、モデルの訓練に使うこともあれば、評価に使うこともあるが、いずれにせよ正解データとして提供される。やはりこのタスクに取り組むと決めた時点で、正解として受け入れなければならない仕組みになっている。

(続く?)

(承前) どうしてこんなことになっているのかを改めて考えると、自然言語処理研究の基本的な性格にいきつく。自然言語処理は人間ができることをコンピュータに再現させる営み。そのため、人間は作ったものはとりあえず信用し、コンピュータの訓練や性能評価のため正解として使ってきた。ここで、人間が作ったものには、タスク設定、事例の選定、事例に対するアノテーションなどが広く含まれる。

これまでは人間が作ったもの信用しても問題にならなかった。構文解析、常識推論、算数問題などが対象である限り。ところが活動家が好みそうな規範的な話題はそうではない。規範的な話題においては、作った人間の価値観がタスク設定やデータに埋め込まれる。その価値観を、そしてそれを埋め込んだ人間を信用できるのか。そもそも誰かを信用することが前提に組み込まれたタスクは健全なのか。

確かなのは、我々は文化戦争のただなかにあり、ある人々を一切信用しない別の人々がいるということ。そう考えると、ある人々がAIを武器にして別の人々に価値観を押し付けるという構図が浮かび上がる。そうしたタスクに取り組むことは、好むと好まざるとにかかわらず文化戦争の片棒を担がされることを意味する。(さらに続く?)

(承前) どうやって公言することなく二重基準を組み込むかをジェンダーバイアスを例に考えてみる。

(1) タスク設定レベルでの対象の選定: ジェンダーバイアスを対象とするタスクを設定すると、当然それ以外のバイアスカテゴリは対象から外れる。仮にジェンダーよりも重要性の高いバイアスカテゴリがあるのではないかと疑ったとしても、そのタスクに取り組むと決めた時点で、タスク設定の妥当性を問うすべがなくなる。

(2) 事例レベルでの対象の選定: ジェンダーバイアスといっても、単純に男女で差異が出る事例をあつめると、男性が不利であるような事例が出てくるはずである。これを防ぐには、評価実験に使うベンチマークデータセットに細工すればよい。女性が不利であるような事例だけを集めたベンチマークを作って、みんながそのデータセットで性能競争をするようになれば勝ち。仮にその競争から離れた論文を出そうとしても査読を通らない。

(3) アノテーションによる価値判断の埋め込み: 2の対策が不完全だと、都合の悪い事例が残ってしまうかもしれない。その場合は、男性が不利であるような事例はバイアスがかかっていないというラベルを事例に付与すれば良い。そうしたラベル付きデータは、モデルの訓練に使うこともあれば、評価に使うこともあるが、いずれにせよ正解データとして提供される。やはりこのタスクに取り組むと決めた時点で、正解として受け入れなければならない仕組みになっている。

(続く?)

規範の遵守は他人に求めるもので自分が行うことではないという活動家の二重基準は、公言してはおしまいなので、都合の悪いときにだんまりを決め込む、つまり不作為として表出する。

素朴に考えると、この性質はコンピュータによる再現とは相性が悪い。二重基準を実装するということは、二重基準を公言することにほかならないから。かといって二重基準を組み込むことなしに数理的な定式化を行うと、コンピュータのアスペ仕草を止められず、自分にとって都合の悪い結果も返してくるはずである。

だから活動家が好みそうな規範的な話題が自然言語処理に入り込んできたとき、活動家が好む形を維持するのは難しいだろうと予想していた。word2vec のジェンダーバイアスを非難した Bolukbasi et al. (2016) あたりが最初だから、もう随分と時間がたった。https://proceedings.neurips.cc/paper_files/paper/2016/hash/a486cd07e4ac3d270571622f4f316ec5-Abstract.html その間に技術は飛躍的に進展し、LLM が流暢に受け答えをするようになったが、私が予想したような展開にはなっていない。なぜだろうか。(続く?)

Nostr の仕組みがまだそんなにわかっていない。素朴な疑問は非集権性にまとわりつく諸問題が解決できているのか。

Bluesky の集権性を指摘するブログ記事が参考になった。https://dustycloud.org/blog/how-decentralized-is-bluesky/

ざっくりと前半はコンテンツ集約、後半は識別子の問題。

識別子については Nostr は公開鍵を採用していて、Bluesky の手法の議論は当てはまらない。公開鍵識別子は人間にとって意味をなさず、万人受けしない。

コンテンツ集約は RSS フィード以上の機能、例えば検索や推薦や実時間通知を連合型でどう実現するかの問題。結局魔法の解決策はないし、Bluesky は集権性を採用して解決しているとのこと。

nostrでのはじめての投稿。