正月休みに Twitter(現 X)を眺めていると面白いポストを見かけました。
これまで人類は真理とは単純なものであると考えて、 や
のような単純な真理を追いかけてきたわけですが、このようなものは実は真理のうちのごく一部であり、人間には理解できないほど複雑な真理もあるのではないかという考え方です。
❌「AIが人間より質的量的に賢くなったら人間には理解しきれなくなる」
— すきえんてぃあ@書け (@cicada3301_kig) 2024年12月31日
⭕️「この世界はもともと人間には理解しきれない構造になっていて、AIはそこを扱えるようになる」
みたいな世界観を持っていたほうが良さそうな気がする
似た話が 2018 年頃に敵対的摂動の文脈で議論されているのですが、本稿ではそのあたりの話を最近の文脈に絡めてお話します。
目次
AI は人間には認知できない情報を活用できる
敵対的摂動についてはなんとなく聞いたことがあるかと思います。犬の画像にノイズのような特殊なパターンを少し加えると、見た目は変わらないのに AI は猫と判断するようになってしまう、というものです。
かつては「簡単なフェイクに騙されるなんで AI は間抜けな奴め……」と考えられていたのですが、アンドリュー・イリアスらの研究 [Ilyas+ NeurIPS 2019] 以降、間抜けだったのは人間の方だということが明らかになってきています。
かつてこのノイズのような特殊なパターン はAI をだますためだけの意味のないパターンだと考えられていました。しかし、よく解析してみると(人間には認知できないだけで)このパターン
には猫の画像特有の性質が強く含まれており、猫の画像にはよく現れるが犬の画像には現れないことが分かりました。なのでこのパターン
が出現する画像は猫の画像であると分類するのはある意味で合理的な判断です。合成した画像(上図右)は犬のような大きな舌や黒い鼻といった特徴を持っているので人間には犬にしか見えないですが、猫にしか現れないパターン
が含まれているので、総合的に判断すると(人間には分からないだけで)実はかなり猫っぽい画像なのです。間抜けな人間にはそれを見抜けなかったが、AI 様は賢いので見抜けていたということです。
アンドリュー・イリアスら [Ilyas+ NeurIPS 2019] は人間だけが騙されるようなデータを作り、この仮説を実験的に検証しているのが見事なところです。
上述の(犬の画像 + 0.01 x 敵対的摂動で作った猫っぽいパターンの画像 )に「猫」というラベルを付け、同様に作った(猫の画像 + 0.01 x 敵対的摂動で作った犬っぽいパターンの画像
)に「犬」というラベルを付けて訓練データセットを作ります。この敵対的摂動
はあらかじめ普通に訓練して作ったモデル A に対して作成します。このモデル A はデータセットを作成後に削除します。
我々には犬のように見える画像に「猫」というラベルが付けられており、我々には猫のように見える画像に「犬」というラベルが付けられており、我々には全く間違ったデータセットに見えます。
思考実験として、まだ犬猫の区別の付いていない幼児に、これらの嘘画像を見せて、「これは犬だよ」「これは猫だよ」と教え続けてみましょう。そうしてその子どもが犬猫の区別を覚えたあと、新しく撮影した普通の犬の画像(微小なパターンを入れていない普通の画像)を見せると、「猫!」と答えるはずです。我々には犬のように見えるものを猫と呼ばせ、我々には猫のように見えるものを犬と呼ばせ続けたので当然です(実際にはこんなことしないでくださいね)。
一方、機械学習モデル(例えば ResNet-50)をこのデータで訓練したらどうなるでしょうか。驚くべきことに、新しく撮影した普通の犬の画像(微小なパターンを入れていない普通の画像)を見せると、「犬」と正答します。これは、(人間には見えない)犬っぽいパターンが含まれていると「犬」ラベルであるということを訓練中に学習したからです。テスト時にもこの情報を活用して「犬」と答えることができました。もちろん、普通の犬の画像には大きな舌や黒い鼻などの「猫の特徴」(この嘘データセット的にはこれらは猫の特徴です)があるので、AI もそこを見て「猫」と答えてしまうことはありますが、このデータセットで学んだ人間は絶対に「猫」と答えてしまうのに対し、AI はかなりの確率で「犬」と正答することが重要です。
実験のデータセットは我々には全く間違ったデータセットに見えており、こんなデータで学習しても犬猫の分類ができるようになるとは思えなかった訳ですが、そう思えていたのは人間だけで、実はこのデータセットには犬猫を分類できるようになる手がかりがちゃんと含まれていたのです。実際、AI はその手がかりの部分を学習して、はじめて見る普通の画像に対しても正答できるようになっています。つまり、このパターン はランダムなノイズでもモデル A 特有の癖でもこの訓練データ特有の癖でもなく、犬猫を分類できるようになるための正当な手がかりだった訳です。大きな舌や黒い鼻などの特徴は犬と猫を区別するための手がかりのごく一部にしかすぎず、犬と猫を区別するためにはこのパターン
のような様々な手がかりが実はあるのです。間抜けな人間にはその手がかりが見えず、表面的な情報だけを見て騙されてしまった。一方、AI は人間には認知できない情報まできちんと読み取って、このデータセットからでも正解できるようになったという訳です。
今回はわざとそうなるように構築したわけですが、この例のように、人間がいくら学習しても正しく分類できるようにならないが、AI ならば学習できるというようなデータが自然界にも存在するかもしれません。
追記(1/16):ちなみに、AI にこういうパターン が見えなくなるように制限を加えて、観測できる情報を人間と同じにすれば、人間と同じような分類法則となり、敵対的摂動で予測が反転しなくなるし、上の実験では人間と同様に逆に答えるようになります。重要なのは、これは AI の能力を制限したときに人間と同様になるということで、制限をしなければ AI は人間に認知できない情報「も」活用して、より広範な問題に対処できるということです。
微弱な情報を活用する AI
このような「人間には認知できないが AI には認知できる情報」は簡単な例で構築することができます。ディミトリス・ツィプラスら [Tsipras+ ICLR 2019] による以下のデータセットを考えてみます。
正例データ:
1 次元目は確率 0.95 で 1、確率 0.05 で -1 を取る
2 ~ 1,000,001 次元目は平均 0.01、分散 1 の独立な正規分布に従う
負例データ:
1 次元目は確率 0.95 で -1、確率 0.05 で 1 を取る
2 ~ 1,000,001 次元目は平均 -0.01、分散 1 の独立な正規分布に従う
正例と負例は半々とします。
例えば、 というようなデータです。これはかなり正例っぽいデータです。一次元目は正例データでは 1 を取る確率かなりが高く、負例では 1 を取る確率がかなり低いなかで、このデータでは値が 1 だからです。
二次元目は -1.476 と負ですが、このこと単体では負例である根拠としてはかなり薄弱です。実際、 で確率はほどんど変わりません。ここで
は正例における 2 次元目の確率密度関数で、
は負例における確率密度関数です。
しかし、それぞれの次元の情報が微弱なだけで、これらを束にすると多くの情報が得られます。 という重み (
) を用いて
と分類する線形分類器を考えましょう。これは 2 ~ 1,000,001 次元目の値を平均してその符号を出力する関数です。1,000,000 個の信号の平均は標準偏差が 1/1000 になるので、
は正例では平均 0.01, 標準偏差 0.001 の正規分布、負例では平均 -0.01, 標準偏差 0.001 の正規分布となり、ミスする確率は 0.000001 以下、精度でいうと 99.9999% 以上です。
つまり、各要素の情報は人間に認知できないほど微弱でも、それらを人間が把握できないほど大量に集めると強固な根拠になり得るということです。
1 次元目がラベルの予測に寄与することは分かりやすく、人間にも解釈しやすいです。しかし、1 次元目だけしか活用しないと、精度はせいぜい 95% 止まりです。これ以上の精度を得ようと思うと、2 次元目以降の情報を活用する必要があります。が、それらの信号は人間には認知しづらいことが問題です。上記のようにベクトルとして数値で表現されていればまだ時間をかければ人間にも計算が可能ですが、冒頭の画像のような形で表現されているときには、微小なパターンがどれほど重ね合わされているかということは人間の目では認識できません。
要素還元主義では解けない問題
科学ではしばしば複雑な対象を単純な要素に分解して議論を進めます。例えば、たばこを吸うと肺がんのリスクが上がる、〇〇を食べると肺がんのリスクが下がる、などです。
しかし、上の例に見たように、個別の要素は統計的には有意と言えなかったり、効果量が小さかったりして見過ごされてしまうほど微弱でも、それらを合わせれば問題が解けることがあります。逆に言えば、「この要素は結果に寄与しているか」「この要素は結果に寄与しているか」と一つずつ調べていては解けない問題があるということです。
AI の判断を解釈できない問題
人間には理解できないほど複雑で賢い AI 様を理解するために、AI がどのようにその判断をしたのか解釈する手法が数多く研究されています。しかし、それでは解けない問題もあります。
上記では説明のために 1 次元目を考えましたが、ここでは邪魔になるので 1 次元目を削除しましょう。つまり、正例データは 1 ~ 1,000,000 次元目は平均 0.01、分散 1 の正規分布に従う、負例データは 1 ~ 1,000,000 次元目は平均 -0.01、分散 1 の正規分布に従う 1,000,000 次元のデータを考えます。この分布でも、上記と同じ方法で線形分類器 を構築すれば、この問題が解けます。つまり、
というデータを AI に見せると正例と答えが返ってきて、
というデータを AI に見せると負例が返ってきます。しかも、この予測は 99.9999% 以上の確率で当たっています。
しかし、データの差はかなり微妙なので、AI がなぜこのような判断をして、しかもなぜいつも正解できているのか、人間には分かりません。AI はどのようにして上のデータに正例と答え、下のデータに負例と答えたのか、知りたいとします。
AI がどのようにその判断をしたのか解釈する手法としては、どの次元・どの箇所を見てそう判断したかを計算するクラス活性化マッピング (class activation mapping; CAM) や、各次元が結果にどれほど寄与したかを計算する帰属手法 (attribution methods) などが有名です。
しかし、上記の例の場合、どの箇所が重要かを特定するのは困難です。この種の可視化手法を適用しても、すべての次元が真っ赤になって役に立たないでしょう。「結局どこを見たのか」「一番重視したところを一つ答えよ」と言われても、全ての要素を平等に考慮したと言うしかありません。あるいは、正例において値が最も大きい次元を示すことができるかもしれませんが、5.14 などの大きな値があったとしても、1,000,000 次元あれば負例でもそのくらいの値を取ることは十分に(正例とほとんど同じくらいの確率で)あります。むしろ、この次元が 5.14 だったから正例だったのかと鵜飲みにしてしまっては、大きな値を含む別の負例が来た時に誤って正例と判断してしまうようになります。各次元を見ても人間には認知できないほどの(そして統計的にも有意といえないほどの)差しかないので、なぜ各データが正例・負例となっているかを一目で理解することはできません。ここでは簡単のため、依存する要素の数を複雑さの指標としましたが、非線形性・マージンの狭さ・記述長など、どのような複雑性の基準を取っても議論は同様です。結局、法則自体が本質的に複雑であれば複雑にしか説明ができず、人間に理解できるほど簡単な説明で近似できることがあったとしても、それは近似に過ぎないので誤りを含みうるということです。
ではどうすればいいか
では AI 様が賢くなりすぎて人間には何をやっているのかが理解できなくなったとき、AI 様に従属して信託をうかがうしかないのでしょうか。そうではないはずです。
特徴量として活用する
単に予測が当たればよいときには、AI の出力も他の自然界の信号と同様、環境の一部ととらえて、人間が予測するときに一つの根拠とすることができます。
次の日の天気を予測することを考えたとき、
「秋の西空に大きなうろこ雲があるときには次の日に雨が降る」
「AI が次の日に雨が降ると言っているから次の日に雨が降る」
などの判断が可能です。ここで、うろこ雲という特徴量に頼ることが「自然」で AI という特徴量に頼ることが「不自然」と考える理由はありません。突き詰めていけば自然界にも人間が理解できていないが頼っている信号はあるでしょう。「雲がこういう形のときに次の日に雨が降る可能性が極めて高い」という気象分野の新発見があるのと同様に、「この AI が Yes と答えたときに次の日に雨が降る可能性が極めて高い」という発見は役に立つはずです。自然よりも AI の方が御しやすく、科学的に解析しやすい可能性すらあります。そういうとても予測に役に立つ信号が、環境中に現れてくれた・人類が新たに発見できたと考えることができます。
推論プロセスを理解できなくても検証ならばできる
推論プロセスを理解できなくても検証ならばできることは重要です。
科学の多くの問題は探索と検証に分かれており、探索は難しく、検証は簡単なことが多いです。なので、AI に探索を任せ、人間は検証を担当することで、AI の能力を最大限活用しながら、安全に科学を進めることができます。
例えば、ある病気に効くタンパク質を設計することは非常に難しいですが、有望なタンパク質があったときに、それが本当に病気に効くかを検証することは比較的簡単です。なぜそのようなタンパク質ができたかが分からなくても、役に立つタンパク質ができたのだからそれでオーケーと考えられます。実際、これまで天才的な科学者のひらめきで有用なタンパク質が設計できたこともあるはずですが、なぜそのようにひらめいたのか、どういう思考回路でそれができたのか、そのプロセスが説明できなくても、結果として有用なタンパク質が得られたわけであるし、それが有用であることは「分かる」ので十分です。それを実用化して社会の役に立てることも可能です。
Alpha Fold をはじめ、この方向の研究は数多くなされており、実際に科学において AI を活用するためはこの「探索は AI に任せ、人間は検証を担当する」という方向性が有望であると私も考えています。
この、「探索は難しく、検証は簡単」という構造はあらゆる場面で立ち現れます。
NP 完全性がこの構造をよく特徴づけています。
ハミルトン閉路問題を考えてみましょう。ハミルトン閉路とは、すべての地点をちょうど一回ずつ通って開始地点に戻ってくる経路のことです。同じ地点を二回以上通ってはいけませんし、漏れた地点があってもいけません。
グラフが与えられてハミルトン閉路を見つけるのは難しい問題ですが、経路が与えられて、それがハミルトン閉路であるかを検証するのは非常に簡単です。
例えば、以下のグラフのハミルトン閉路を見つけられるでしょうか。辺がクロスしていますが、そこで折れ曲がることはできません(まっすぐ突き進むことはできます)。頂点でしか曲がれないことに注意してください。
正解は以下の経路です。
頂点数 10 くらいであればなんとかなりますが、20, 30, ... となるにつれてハミルトン閉路を見つけるのは指数的に難しくなっていきます。
一方、経路がハミルトン閉路であることは、経路を辿ると元の点に戻るか、その過程で各点をちょうど一回通っているかをチェックすればよく、頂点数に比例する程度の労力しか必要ありません。
グラフ中にハミルトン閉路が存在するかだけに興味があり、実際にはハミルトン閉路自体は必要ないという場合にも、AI に「存在します」とだけ答えさせるのではなく、証拠としてハミルトン閉路を一つ出力させることが重要です。
AI がハミルトン閉路問題を解けたとき、どうやってハミルトン閉路が見つけたのか、そのプロセスを人間に説明できないかもしれなし、説明されても人類には理解できなかったり、真似できなかったりするかもしれません。それでも、証拠さえ出してもらえば、そのグラフのハミルトン閉路問題が解けたということを人類も確信することができます。
この構造を使えば、「AI に悪意がある」という SF チックな最悪の仮定の下でも、AI に騙されることなく、AI をうまく活用できるという点も重要です。人間ごときにはハミルトン閉路を見つけることができず、AI 様にしかハミルトン閉路を見つけることができないとなったときに、意地悪な AI が人間を騙そうとしてハミルトン閉路っぽいがハミルトン閉路ではない経路を出力したとしても、本当にハミルトン閉路であるかどうかは、能力の低い人間にも確実に判断することができます。この問題の構造を使えば、AI がなぜ・どうやってそのような答えを出したかが分からなくても結果を安全に有効活用することができます。
単に経路を一つ出力させるより巧妙な検証方法もあります。例えば、全ての観光スポットを回るのに最短でどのくらいの時間がかかるか知りたい(= 巡回セールスマン問題を解きたい)としましょう。AI に時間の予測値だけを出力させるのではなく、「最適値は少なくとも X 以上、Y 以下」であることを出力させ、その証拠として長さ Y の経路と、目的関数値 X の双対解を出力させることができます。どうやってこの結論を思いついたかが人間には分からなくても、これらが実際に長さ Y の経路と目的関数値 X の双対解になっていることは簡単にチェックでき、(弱双対性より)「最適値は少なくとも X 以上、Y 以下」であることを確信することができます。X = Y のときにはこの経路が最適であることも確信できます。この問題の場合、AI に経路を一つ出力させるだけでは、意地悪な AI が人間にバレないだろうと悪い経路を出力して、もっと良い解があることに人間が気づけない可能性があります。双対問題を使うことで上下から挟んで検証できるようになるというのがここでの非自明なポイントです。このほか、対話型証明系 [Goldwasser+ STOC 1985] の技術を使い、AI(証明者)と何度もやりとりしたり、複数の独立した AI(証明者)とやりとりをすることで、能力の低い人間(検証者)でも NP より広い範囲の問題(例えば IP = PSPACE や MIP = NEXPTIME)について確信をもって検証をすることが可能です。
人類は「検証作業」=「単純作業」に甘んじることになるかというと必ずしもそうではありません。人類が探索も検証も行っていた時代には、探索がボトルネックとなるので、せいぜい人間が探索でたどり着けるレベルの問題しか登場しえず、そのレベルの問題の検証は単純作業でした。しかし、人類が探索作業から解放されると、それに応じて扱える問題の範囲も格段に広がり、今度は検証作業が人類知のボトルネックとなります。検証することすら人間にとってギリギリとなるような難しい問題が立ち現れてくることになり、この領域では検証作業も人類にとってチャレンジングでやりがいのある課題となるはずです。
AI にどういうデータを入力して、何を出力させるかという問題の「型」は人間が定めることができます。AI の思考というブラックボックスな部分に面倒な探索をできるだけ負担させ、人間にとって検証しやすい形で出力させる、そういう問題の定式化を考えていくことが、これから人間と AI が協調して科学を進めていくうえで重要だと考えています。
おわりに
敵対的摂動に関する議論については、アレクサンダー・マドリーのグループの研究に直接的・間接的に多大な影響を受けました。ここに御礼申し上げます。
本稿の話題は科学研究の現場で実際に起きている問題から SF 的な想像まで、今なお活発に議論されており、はっきりした正解がなく、異論の多い話題かと思います。みなさんの考えや感想も SNS などでポストしていただければ幸いです。
英語版:The Hidden Information AI Understands but Humans Miss
連絡先: @joisino_ / https://joisino.net