第四次産業革命だぁ、人工知能・ロボット社会が来る〜、仕事がなくなる? 人類は絶滅する!と、大騒ぎする前に、いったん落ち着いて、人工知能の基本的な仕組みを確認しておきたい。
 道を歩いている人に人工知能の基礎である「ニューラルネット」の図を見せて、
「この図で人工知能の仕組みを説明してください」
と訊ねたら、おそらくほとんどの人が「そんなの知らん!」と、首を横に振るだろう。もちろん、全人類が、人工知能開発者・研究者みたいに仕組みを理解する必要などない。われわれはみんな、自分たちの仕事をこなすのに精一杯だ。でも、人類社会に甚大な影響を与える連中が、どういう原理で稼働しているのかを知らずして、そもそも対処法など考えられるはずもない。だから、この連載では、ごまかさず、本当の仕組みを説明したいと思う(チョー簡単に……)。
 私は物理学が専門で、三十代はチャキチャキのプログラマーだったので、いろいろな場面で人工知能を使ってきた。たとえば、広告代理店に納入する視聴率計算予測プログラムを開発していたとき、クライアントから「最近流行りの人工知能を入れてくれないか」と要望があり、実際にプログラムを書いて、過去の視聴率データを機械学習させた経験もある。当然、ホワイトボードを使って、クライアントに人工知能の仕組みについて説明する機会も多かった。
 ということで、人工知能の基本である。
 そもそもの始まりは1958年。まさに人類の歴史を塗り替える出来事があった。それは「ニューラルネットワーク」の発見だ(正確にはパーセプトロンという名称で、1943年に起源を求める考えもあるが、ここでは立ち入らない)。ニューラルは「神経の」、ネットワークは「網」。よって、ニューラルネットワークは「神経網」という意味になる。文字通り人間の脳の神経網をコンピュータ内でシミュレートする仕組みである。それは、こんな格好をしている。

 

 この模式図で、〇はノード(=節)、ノード同士を結んでいる線はリンク(=つながり)だ。左端に並んでいるノードから電気信号を入力すると、それがネットワークを伝わって、右端に並んでいるノードから電気信号が出力される。電気信号は、たとえば、1ボルトより大きければ「1」、小さければ「0」と解釈する。すると、ニューラルネットワークは、「数字の1と0の羅列を入力すると、数字の1と0の羅列が出力されるシステム」ということになる。
 えええ? さっき、人間の脳神経網をシミュレートするって言ってたよね? たとえば人間の脳に100100というような数字を入れたら、人間の脳が010101というような数字を吐き出すというの? 意味不明なんだけど〜。
 ええと、コンピュータは「計算機」なので、ようするに、ある数字を入れると別の数字が出てくるマシンである。たとえば、1と3を入れると4が出てきたら、それは足し算という名の計算だが、コンピュータは二進法を使うので、1と11(=二進法の3)を入れると100(二進法の4)が出てくる。
 だが、人間にとって、そのような数字の羅列は音だったり絵だったりする。たとえば次の絵は数字で描かれているアートだが、芸術性は別にして、数字の羅列は絵や写真を意味することがある。白黒のデジタル写真かテレビ画面を思い浮かべてほしい。そこにあるのは白か黒のドットだけ。0を白、1を黒とすれば、モノクロの画像が数字の羅列にすぎないことがおわかりいただけるだろう。

 

 同じように数字の羅列は音や音楽を意味することもある。さらにいえば、パソコンで文字を使う場合、各文字には「背番号」が振られているから、数字の羅列は文字や文章を意味することもできる。
 だとしたら、人間に絵を見せて、「ステキ!」という言葉が出てくるシチュエーションをコンピュータにおきかえると、どうなるか? もうおわかりですよね。その絵に相当する数字をニューラルネットワークに入力すると、「ステキ!」に相当する数字が出力されるのだ。
 だから、計算だけやっているにもかかわらず、ニューラルネットワークは、人間の脳をシミュレートすることができる。
 ここまでで、数字とのつながりはわかったが、いったい、どうやってシミュレートするのか?
 そろそろ読者も欠伸が出そうになっていることと思うので、サクッと答えを書いてしまうと、
「水道管の太さを徹底的に調整する」
というのが答えだ。
 すみません、一つ話が飛んでしまった。
 ニューラルネットワークの話の始めに「電圧」の話をした。人間の脳神経では、実際に電気パルスが飛び交っている。でも、電気信号と電気回路の話ではわかりにくいので、水と水道管の話におきかえてみよう。
 いいですか? こんがらがりそうなので、整理しておこう。コンピュータは数字を扱っているが、実際のコンピュータは電子を動かして、電圧の高低を数字の1、0とみなして計算する。ニューラルネットワークは数字を扱うが、便宜上、水で話をするのである。たとえ話だが、正確さが損なわれるわけではない。
 ニューラルネットワークならぬ、ニューラル水道管の左端の上から順に、水滴が1滴、0滴、1滴、0滴……と流れ込んでくる。その水は複雑に張り巡らせた水道管を通って、右端の蛇口から、水滴が0滴、1滴、1滴、1滴……としたたり落ちる。
 ニューラル水道管に学習させるというのは、すべての水道管の「太さ」をうまく調整することにあたる。水道管が太ければ多くの水が通るし、細ければ水は通りにくい。せっせと水道管の太さを調整してゆくと、しまいに、将棋の盤面を見て、最適な次の一手が出てくるし、その同じニューラル水道管に絵を見せると「ステキ!」と反応するようになる。
 いかがだろう。なんと、人類の命運を握る人工知能の基本的なしくみは、水道管工事と同じだったのだ!
 ちなみに、ニューラルネットワークの模式図において、入力と出力の間に挟まれた、ノードとリンクの層が、たくさんある、いいかえると「層が深い」と、ディープラーニング(=深層学習)が可能になり、学習能力が高まり、人智を越えた所業も可能となる。むかしは、中間層が薄く、人工知能は高度な学習ができなかったから、私が書いた広告視聴率予測人工知能も、あまり役に立たなかった(笑)。
 機械学習というのは、まさに機械的に入力と出力をくりかえし、人間が望む結果を出力できるように水道管工事をすることに相当する。具体的な方法は、さすがにこの連載で踏み込む意味もないので、ここまでにするが、いかがだろう。人工知能の学習の基本的な枠組みが、決して難しくないことがおわかりいただけただろうか?