I. 木( Trees )
最初のステップは、ある意味、最もシンプルなものだが、説明するのが最も難しいものでもある。まず最初に 1 つ質問したい。 写真に写っているのが猫なのか犬なのか、それをコンピュータにどうやって見分けさせるのか?この質問で問題となる点は、猫と犬は概して似ているということにある。どちらも 2 つの目と鼻穴、尻尾、4 本の爪の付いた足があり、表面は毛皮で覆われている。コンピュータは写真を認識することができる。明るいか暗いか、青が多いか赤が多いか等を判断することができる。しかし、そのように認識できたとしても猫と犬を見分けることはできない。AI は、犬と猫を識別するだけでなく、質問されればさまざまなものを識別することができる。例えば、ある文章を示して、それがウィリアム・シェイクスピアによって書かれた可能性が高いかどうかを質問すると、AI
はどのように分析するだろうか?
技術的な話をすると、AI の肝となるのはニューラルネットワークである。脳の神経細胞(ニューロン)が持つ回路網を模した数理モデルである。これが、複雑な統計学を駆使して計算を行っている。AI を理解するためには、ニューラル ネットワークの仕組みを理解しなければならない。それは、民俗技術( folk technologies )のようなものである。コンピュータ科学者が AI が「創発的特性(個々人の勝手な振る舞いとは無関係に全体のダイナミクスが存在すること)」を持っていると言う時、しばしば指摘されることであるが、ニューラルネットワークを構築してみるまでそれがどの様に機能するかわからないということを言い換えているのである。このような分野は AI だけではない。医学や経済学も同様である。これらの分野では、いろいろなことを試してみて、何度も試してみて、より上手くいくテクニックを見つけ出すのである。最初から固まった理論が存在していて、それを使って AI が複雑な演算をして理想的な結果を返すわけではない。AI でも医学でも経済学でも、複雑な事象を完璧に予測することはできない。しかし、複雑さを扱うことは可能である。
猫の画像と犬の画像を区別することについて考えたい。想像し易いように、絵で説明したい。デジタル画像は無数のピクセルが集まって構成されている。単にピクセルが羅列されているのを認識するだけでは画像を理解することはできないので、何かそれ以上のことをしなければならない。1 つのアプローチは、その画像の上にグリッドを敷いて、色以外の要素を測定することである。例えば、グリッドの小さなマス目ごとに色の変化の度合いを測定することから始めることができる。そうすれば、その画像の猫か犬の部分の全てのグリッドのマス目ごとの変化の度合いの激しさを数値化することができる。このような測定を 1 層重ねるだけでは不十分であり、猫と犬を見分けることはできない。しかし、1 つ目のグリッドの上に 2 つ目のグリッドを敷き、1 つ目のグリッドについて何かを測定し、さらにもう 1 つ、もう 1 つと重ねていくことができる。タワーになるほどグリッドを何層も重ねることができる。画像に接する最下部の層の上にどんどんと層を重ねていくわけだが、それぞれの層はその直下の層を測定している。この基本的な概念は半世紀前から存在していたが、最近になってようやく上手く機能させるためのコツのようなものが確立されたのである。もっと良い手法があるかもしれない。しかし、それは現時点では誰にもわからない。
ここでは、できるだけ簡単にわかりやすく説明したい。このようなグリッドの層を重ねた背の高い構造を、画像の上に伸びる大きな木の幹にたとえることにする。ほとんどの画像は長方形であるので、幹の断面は丸ではなく長方形になる。木の幹の内部にはグリッドがあり、各グリッド上の個々の小さなマス目には数字が飾られている。自分がその木に登り、X 線測定で中を見ながら登っていく様子を思い浮かべて欲しい。最も上部のグリッドの各マス目の数字は、それより下にあるグリッドの数字に依存している。
残念なことに、グリッドを積み上げてタワーを作るだけでは、まだ猫と犬を見分けることはできない。しかし、これでその木の訓練( training )を開始できるようになった。私は「訓練」という用語を使うことは、AI を擬人化するように思えるので好きではない。しかし、このエッセイでは説明し易さを優先するために使うことにした。この木の底が平らであり、その下に写真を滑リ込ませることができると想像して欲しい。ここで、猫と犬の画像を大量に準備する。いずれも鮮明でなければならない。それぞれに犬か猫のラベルが正確に貼られている。それらを 1 枚ずつ、一番下の層の下に滑り込ませる。最初に一番下の層のグリッドの各マス目の状況が数字化され、次にその上の層が数値化され、それが最上層(キャノピー層)まで繰り返される。キャノピー層の数値化された値はヘリコプターに乗った人しか見ることができないかもしれない。最初のうちは、キャノピー層に表示される数字は首尾一貫していない。しかし、魔法のレーザー撮像技術を使って木の幹の中を調べ、様々な層の数値を調整することで、より良い結果を得ることができるようになる。猫と犬を見分けるのに最も役立つ数字を増やすことができるようになる。このプロセスは一筋縄ではいかない。というのも、ある層の数値を変更させると、他の層にも影響が波及する可能性があるからである。最終的に成功すれば、キャノピー層に表示される数字は、犬が写っている時はすべて 1 になり、猫が写っている時はすべて 2 になる。
驚くべきことに、こうして私たちは犬と猫を区別するツール、つまり「訓練した木」を既に作り出せているのである。コンピュータ科学者は、各層で見られるグリッドの要素を「ニューロン( neurons )」と呼ぶ。それは生物学上の脳との関連を示唆しているわけだが、類似点は限られている。生物学上のニューロンは、大脳皮質( cortex )などでは層を成していることもあるが、常にそうとは限らない。実際、大脳皮質の層の数は AI の中にある層よりも少ない。しかし、AI では、多くの層を追加することでパフォーマンスが大幅に向上することが判明している。これが、「ディープラーニング」のように「ディープ」という言葉が使われる由縁である。
完璧な比喩を見つけるのは不可能である。この記事を書くにあたって、例えとしてタワーを使って説明した。木も使ったが、木以外のいくつかの高さを表現できるものでも説明を試みた。しかし、木で説明するのが一番相応しく思えた。木には金属などの無機物と違って親しみやすい性質がある。また、周りの出来事の影響を受けながら成長し、木の中で隅から隅まで情報伝達が為されている様子は、コンピュータ科学者ではない者に AI の仕組みを大まかに説明するのに相応しいように感じられた。しかし、木という語を例えに使って説明したことには欠点もある。というのは、木( tree:ツリー)という用語は、コンピュータ科学では最も一般的なものの 1 つだからである。「ツリー」という用語は、枝分かれした構造を指すために使われる。今回、私が AI の仕組みの説明のための比喩で使った木は、その意味ではない。
木はどのように訓練( training )されるのか?訓練の核となる技術は「最急降下法( gradient descent )」と呼ばれる方法がベースとなっている。最急降下法の歴史は少なくとも 1847 年にまで遡る。数学者オーギュスタン=ルイ・コーシー( Augustin-Louis Cauchy )が最初に説明した。基本的な考え方は、木のどのレベルのどの数字がより影響力を持つようになるべきかについて、繰り返し推測を重ねて、少しずつより正しい答えに近づいていくというものである。課題は、ある数字が影響力を持つべきと証明され始めるとすぐに、その数字が重視されすぎる危険性があることである。それで、他の数字の有益性が見逃される可能性がある。効果的な訓練のためには、より大きな影響力を持つに値する数字の組み合わせを見つけるための最適なバランスを保つことである。その数字の組み合わせは簡単には見つけられないものなので、推測を永遠と繰り返すことによって偶然見つけ出すしかない。
最適のバランスを保つのは、バイラリティ現象( vairalty )というしばしば起こる現象を避けるための代償と考えることができる。バイラリティ現象とは、何かが単に適切なタイミングでそうなり始めたという理由だけで、ますます有名になったり、影響力を持つとみなされることである。AI の訓練の際にしばしばバイラリティ現象が起こるわけだが、興味深いことに、私たちが現在生きている世界でもバイラリティ現象はしばしば起こる。しかもその頻度は急激に増えている。残念ながら負の側面しかない。私がこの話を持ち出したのは、IT 業界で働く専門家の中にこのことに興味を持っていない者が僅かに存在しているからで、彼らには警鐘を鳴らしたい。AI アルゴリズムはさまざまな場面で多くのことをこなしている。ソーシャルメディア上で自動で情報を流し、人々の間を取り持ったりするし、金融取引なども行っている。これらすべての場合において、バイラリティ現象が起こることが予期されている。しかし、AI の訓練について言うと、バイラリティ現象が発生しないよう制御しなければ機能しない。AI の導入に関しても、同じようなことを考えるべきではないだろうか?そうすれば、変なものがバズったりしなくなって文化も政治も経済も、少しはまともになるのではないだろうか?