Best Engine

ITの最新動向を紹介する技術情報サイト

IT Terminology

ニューラルネットワーク

層状化で複雑な判断が可能になる

このような性質を持つ人工ニューロンを複数つないで作られた図2のようなものがニューラルネットワークです。

この図では、が人工ニューロンで、「層」として並んでいます。左側から複数の情報が0か1かで入力され、人工ニューロンが先のような計算をして0か1の出力値を右側の層に送ります。そうして様々な条件が考慮されて、最終的に右端の層から0か1かが出力されます。

この時、入力から出力までに経る層の数が多いほど複雑な判断が可能になります。先の例で言えば、a「日本語の表記が多いか」という条件の正否は、「看板の文字が半分以上日本語か」「道路標識が日本語か」など、より細かい複数の条件に分けて、重みづけと閾値を決めて判断することができます。そうして個々の条件を更に細かい条件に分けること、すなわちニューラルネットワークの層を増やすことで、より様々な要素を考慮して判断するモデルを構築することができるのです。

また、肝心の重みづけと閾値は、大量のデータを実際に読み込ませて学習させることで、ネットワーク自身が最適化していきます。その方法には、データと共に正解を教えて学ばせる「教師あり学習」と、正解を教えずにただ大量のデータを与えて自身で考えさせる「教師なし学習」がありますが、いずれにしても、より適した重みづけと閾値をネットワーク自身が見つけていくことになります。

このような原理で、ニューラルネットワークによって、脳に模した判断や意思決定をコンピュータ上で実現できるようになるのです。

図2 単純化したニューラルネットワークの概念図
図2 単純化したニューラルネットワークの概念図

情報は左側から入力され、左端の層で処理されたあと中央の層へ。そして同様に処理されて右端の層へと情報が送られ出力される。ちなみに最左列の人工ニューロンから出力の矢印が複数出ているのは、同じ出力値を複数の人工ニューロンに送っていることを表していて、「人工ニューロンの出力が1つ」であることに変わりはない。

技術的課題を乗り越え、より高度に

ニューラルネットワークは、人工知能(AI)の発展のためにはなくてはならない技術です。一方、AI と言えば、対のように「機械学習」「ディープラーニング(深層学習)」といった言葉が出てきます。

これらが互いにどういった関係にあるのかといえば、まず、機械学習とは、データを学習してAIが能力を高めるための方法の一つです。更に、機械学習の方法の一つとしてニューラルネットワークがあり、そのうち特に、人工ニューロンの層が何層にもわたり、条件が奥深くまで掘り下げられていくものがディープラーニングと呼ばれるのです。

ニューラルネットワークの研究は1940年代には始まっていたものの、コンピュータの技術上の問題や、学習させるための十分なデータがないなどといった理由で中断を余儀なくされてきました。2000年代後半になってようやくそういった問題が解決され、近年急激に、画像解析などの技術に生かされるようになりました。

ニューラルネットワークには、方法や目的の違いによっていくつかの種類があり、その一つが、画像認識において特に有効な「畳み込みニューラルネットワーク(CNN)」です。一般的に画像の1点は、遠くの点よりもその周囲の点と関係が深いという性質などを利用して、より効率的に計算を行う方法です。更に現在、CNNの欠点、すなわち画像を回転させると別の画像として認識してしまうといった問題を克服する「カプセルネットワーク」が登場するなど、ニューラルネットワークは、既にその先へと進化しています。

AIと脳。その差は今後どこまで縮まるのでしょうか。その行方は、ニューラルネットワークの進化にかかっているといえるかもしれません。

出典:Best Engine Vol.6

記載内容は掲載当時の情報です。最新情報と異なる場合がありますのでご了承ください。