ニューラルネットワーク
概 要
脳の神経回路を模した数理的モデル。とても小さく単純な神経細胞を模したものを組み合わせて、人工的な知能を作り出す基本的な構造。
解 説
脳のなかには「ニューロン」と呼ばれる神経細胞が多数存在し、それらが「シナプス」という結合部で接続されています。シナプスは、前段の神経細胞の情報をいつも伝えるわけではなく、ある程度の刺激以上でないときは、次の神経細胞へと伝えないことが知られています。
このシナプスの「刺激を伝えるか伝えないか」の閾値(いきち)は、経験によって変化します。これが「学習」です。脳は、このように神経細胞同士がつながり、閾値が調整されることで学習しているのです。
これをコンピュータ上で模したものが「パーセプトロン」と呼ばれるモデルです。パーセプトロンは、入力信号に対して重み付けを設定し、その総和が一定の閾値を超えるかどうかで、出力を変える(次のパーセプトロンの入力値を変化させる)単純な機構です。

出典:村上・泉田研究室「生体ニューロンについて」(2017)より
学習の対象が単純であれば、ひとつもしくは複数のパーセプトロンで実現できます。
パーセプトロンにおいて「学習する」とは、いくつか実際に入力し、その出力が本来の出力と合うように、重み付けの値を調整していくのです。これを何十回か繰り返せば、学習できます。
しかし1個や2個のパーセプトロンでは、複雑な学習ができません。というのは、パーセプトロンの計算は、重み付けの掛け算と足し算でしかないので、複雑な数式関係を表現できないからです。具体的には、事象を「直線」で区切って、「その上にあるか」「下にあるか」で2分できる場合には学習できますが(これを線形分離可能と表現します)、そうでないものは学習できません。原理的に(数式的に)実現できないからです。
そこでよりこのパーセプトロンを多層に組み合わせたものがニューラルネットワークです。ニューラルネットワークでは、組み合わせがたくさんあるので、より複雑で、直線的に分離できなくても学習できます。
どれだけ複雑な学習ができるのかは、「中間層」と呼ばれる、間の層を、いくつ用意するかによります。

出典:村上・泉田研究室「生体ニューロンについて」(2017)より
最近流行のディープラーニング(深層学習)は、この中間層の部分を1つではなく、さらに多段で構成したものです。
多段にすれば、複雑さが増すので、それこそ、「文章」「画像」「音楽」などを、そのまま入れて、それを学習できるようになります。ただし多段になれば、重み付けを調整する箇所の組み合わせは、とても多くなり、何万、何十万という箇所を調整しなければならなくなります。学習は、この重み付けを調整する操作なので、とても長い時間がかかります。
最近では、グラフィック処理に使うGPUのほか、人工知能専用の計算機能をもつTPUという演算装置を使うことでディープラーニングの学習にかかる時間が軽減されましたが、それでも、学習に数日かかることも珍しくありません。
実現できること
- ・人工知能の基礎
将来の展開
ニューラルネットワークの学習は、重み付けを決めるもので、少々、力業的な部分があります。そのためとかく、計算処理が膨大で、高性能なコンピュータが必要です。
データ量によっては、リアルタイムな学習は困難で、あらかじめ事前に学習しておき、使うときは、その事前の学習結果に基づく処理しかできないこともあります。つまり、事前に「犬」「猫」などの画像を学習させておき、使うときは、その学習に基づいて「犬」か「猫」かを決めるもので、使っている最中に、新たに、「鳥」とか「狸」などを新たに学習しながら使えないことがあります。
処理速度の高速化や学習のやり方(重み付けの算出方法)を短くする研究によって、こうした問題は、少しずつ解決される方向に向かっています。
人工知能の研究の進展はとても早く、もうしばらくすると、「日々、賢くなっていく人工知能」が、まさにスマホのような個人が使う装置に、組み込まれてくる日も、そう遠くありません。