このページは、ニューラルネットワークの基本的な仕組みを理解することに重点をおいています。
そのため実用的な解説にはなっていません。
ニューラルネットワークの実装(プログラミング等)については、さまざまな書籍、サイトがありますのでそちらを参照ください。
1.ニューラルネットワークとは?
1.1.ニューロン
ニューラルネットワークは脳内の神経回路網を模擬した数理モデルで、機械学習の1つの手法になります。
これを用いることにより人間と同じような“学習”を行い、入力データから望ましい出力が得られるようになります。
ニューラルネットワークを知る上で、生体内の情報伝達の仕組みを知っておくと便利です。
そこでまずは、神経回路網を構成する神経細胞(ニューロン:neuron)で起きる挙動の概要について説明します。
ニューロン(神経細胞)は下図のような構成になっています。
図1.1-1 ニューロン
ニューロンは、軸索端末と樹状突起の結合部であるシナプスを通じて、他のニューロンからの信号を受け取ります(図中①)。
その際、受け取る信号はシナプスの結合強度(効率)によって変化します。
ニューロンは細胞膜に包まれていて、その内外に電位差が生じています。これを膜電位といいます。膜電位は通常“内部電位<外部電位”の状態にあります。
①の入力信号によってこの膜電位が変化し、ある閾値を超えるとニューロンは興奮(発火)して内部電位が高くなり、パルス信号を出します。
このパルス信号は軸索を伝って他のニューロンへと伝達されます。
入力信号があっても、膜電位が閾値を越えなければ何もおきません。
このようなニューロンの挙動を数理モデルとして活用しよう、というのがニューラルネットワークのコンセプトです。
1.2.学習とは?
前節では「ニューロンがどうやって情報を伝達するか?」についての説明をしました。
しかし、ニューラルネットワークの本質は
“学習”です。
学習とは「ニューロン間の結合強度を何等かの更新式に基づいて変更することで、ネットワークが望ましい結果を出力すること」です。
“学習”といっても方法はいろいろで、正解を知っている先生が生徒に指導するような学習もあれば、正解のわからない研究をするような学習もあります。
機械学習では前者を
“教師あり学習”、後者を
“教師なし学習”といいます。
教師あり学習は、正解/不正解のラベルがついているデータを学習するので、何が正しくて何が間違っているか?を予測するような問題に用いられます。
具体的に言えば、データの中にある法則の抽出(回帰問題)や類似性の発見(判別問題)を導き出します
問題 |
グラフ:例 |
目的 |
回帰 Regression |
|
予測 (売上、株価など) |
分類 Classification |
|
判別 (画像、音声など) |
それに対し教師なし学習は、大量のデータから似たような特徴のものをグループ化するような問題、クラスター分析や主成分分析などに用いられます。