ディープラーニングで多く使われるのは「ニューラルネットワーク」と呼ばれる仕組みだ。ここでは、ディープラーニングの基本を説明するため、ニューラルネットワークを簡単に説明する。

 ニューラル(neural)とは「神経」のことで、ニューラルネットワークとは、もともとはヒトの脳の研究から生まれたコンピュータによる「人工ニューロン」が始まりだ。しかし脳の研究が進み、ニューラルネットワークが進化していく過程で、両者は、ほとんど別ものになっている。ここでは、「ニューロン」を現実の神経という意味ではなく、ディープラーニングで利用する仮想的な計算機の名称として扱う。

 ニューラルネットワークは、ニューロンを複数組み合わせたものだ。ニューロンには、入力と出力があり、入力の状態に応じて出力が決まる。コンピュータを構成するときに利用するANDやORといった論理回路素子のようなものと考えてもいい。様々なニューロンやニューラルネットワークが考えられるが、ここでは話を単純化するためにいくつかのルールを決める。あくまでも説明上のものだが、実際にディープラーニングで利用されているニューラルネットワークとかけ離れたものでもない。

図1●ニューラルネットワークを構成するニューロンは、複数の入力を持ち、1つの出力を持つ。個々の入力には重みが対応しており、入力値に重みを乗じたものの和と出力の間に一定の関係がある
図1●ニューラルネットワークを構成するニューロンは、複数の入力を持ち、1つの出力を持つ。個々の入力には重みが対応しており、入力値に重みを乗じたものの和と出力の間に一定の関係がある
[画像のクリックで拡大表示]
  • ニューロンは、複数の入力を持つことができるが出力は1つだけ
  • ニューロンの出力は、他の複数のニューロンの入力と接続できる
  • ニューロンの出力を自分自身の入力に接続することはできない
  • ニューラルネットワークには、外部から情報(データ)を与えるための入力を持つニューロンがある
  • 同じく、結果を出力するためのニューロンがある