人間の理解を超えたアルゴリズムの誕生

初期のアルゴリズムは料理のレシピみたいなものだった。一歩一歩やるべきことがあって、それを地道に積み重ねると事前に指定した結果(たとえばラザニアとか)ができる。

その後、ひとつの決まった結果だけでなく、事前のプログラムに沿って、いくつかのメニューから予期せぬ出来事に応じて最適な結果を選べるようになった。準備中に挽き肉がなくなったので、ベジタリアンのラザニアに変更してほしいとシェフに頼むようなものだ。これが最初の飛躍。

この間に、アルゴリズムを動かすコンピュータのハードウェアにもまた大変革が起きていた。より多くの情報をより高速で処理するために、人間の脳を雑に真似した新しい設計のハードウェアが開発された。それぞれに有用な情報が含まれる多くの異なる接続点(ノード)をつなぐ、多層的なネットワーク構造が取り入れられたのだ。これが第二の飛躍。

だが、アルゴリズムを主体性のある行為者的なものにした、鍵となるイノベーションがあった。それが最後の飛躍――すなわち強化学習だ。

強化学習とは、アルゴリズムはみずからのパフォーマンスを評価して改善する能力を持っており、人間よりはるかに高速でそれができる、ということに気づいたソフトウェア・エンジニアたちが開発したものだ。

彼らは二種類のサブプログラム(またはサブルーティン)を書いた。ひとつは、アルゴリズムの作動中にものすごいスピードでそのパフォーマンスを測定するプログラム。もうひとつは、エンジニアの目標に合わせてパフォーマンスを向上させられるようにみずからを変えるアルゴリズム(報酬関数と呼ばれる)だ。

強化学習の機能を備えたアルゴリズムは、ニューラル・ネットワークを使って膨大な量のデータを処理し、想像もできないことを可能にした。プロンプトに対する何百万人もの反応を毎時数十億回にも及んで調べることにより、アルゴリズムは高速で自律的に学習し、私たちに影響を与えるばかりか、アレクサのようなデバイスに魅力的な新機能を付与した。

気がつくとアルゴリズムとの関係性が確立されている
気がつくとアルゴリズムとの関係性が確立されている

つまり、アルゴリズムが私たちに影響を与え、同じ方法でアルゴリズム自身も影響を受ける。人間がアルゴリズムによって変わるように、アルゴリズム自身もまた変化するようになったのだ。

それがどう変化するかは定かでない。アルゴリズムを書く人自身でさえ理解していない。アルゴリズムがいったん動き出すと、データが大量すぎて処理速度が速すぎるため、莫大な数の判断が次々と枝分かれして、どの道を辿るかを人間が追跡するのは不可能になる。活動の記録をすべて見ることができたとしても、人間には追いつけない。

だが、いわゆる「アルゴ」と呼ばれるこうしたシステムは、自分自身の行動の結果とその結果への反応を常に監視し、またそれに絶えず反応し続けることで、そのコードを書いた人やプログラマーにも理解できないような驚くべき能力を身につけた。

人の行動を変えるような自動システムをつくるという目的でアレクサのようなクラウドベースのデバイスを開発したエンジニアは、システムを複雑にしすぎて、そのシステムがなぜそのような動作をするのかを正確には理解できなくなってしまった。