AIを賢くするニューラルネットワークの仕組み

経営者のためのAI入門(2)

神崎 洋治/2018.6.20

いいね ツイートする

 ニューラルネットワークに情報を入力すると、入力層のニューロンが情報を処理し、中間層のニューロンに伝達。さらに中間層の各ニューロンが情報を処理して出力層のニューロンに伝達する。こうした処理を行い、何らかの情報を出力する。

 AIの文脈でしばしば耳にするアルゴリズムや数学モデルというのは、ニューラルネットワークにおいて、物事の「考え方」をつかさどるものだ。情報として与えられた物事を入力層、中間層、出力層のニューロンが処理して最終的にどのように捉えるか、ニューラルネットワークの判断機能を担う。

 人間の脳を模しているだけに、ニューラルネットワークは人間を同じように「学習」を重ねながら知見を深められる。これがニューラルネットワークの面白いところだ。

 ここで少し考えてみてほしい。私たちは犬と猫をどのように見分けているだろうか? 耳の形で判断しているか、それとも目やヒゲの様子か。どのように両者を判別しているかを明確に説明するのは、意外と難しい。多くの人は「見れば分かる」「何となく・・・」といった回答しか持ち合わせていないだろう。

 人間の脳は、何かの「特徴」をとらえて犬か猫かを見分けている。だが、その特徴は必ずしも言葉にできるものではない(もちろん、言葉にできるものもたくさんあるが、ここではそれは主題ではない)。

 一方で、一般にコンピュータは、開発者が作るソフトウェアの指示(プログラム)に従って正確に動作する。犬と猫を見分けるソフトウェアを開発しようと思ったら、開発者が両者を見分けるためのポイントを定義し、プログラミングしなければならない。「見れば分かる」「何となく・・・」という曖昧な基準では、犬と猫を見分けるソフトウェアを開発できない。

 ところが、人間のように学習できるニューラルネットワークは、それを可能にする。

正解のある「教師ありデータ」で自ら学習

 ニューラルネットワークにおける典型的な学習方法の一つが、膨大な数の犬の写真をコンピュータに見せる(解析させる)ものである(図2)。

図2 教師ありデータを使い特徴を学習する