ニューラルネットワーク
機械学習および データマイニング |
---|
![]() |
![]() |
(人工知能の分野で)ニューラルネットワーク(英: neural network; NN、神経網)は、生物の学習メカニズムを模倣した機械学習手法として広く知られているものであり[1]、「ニューロン」と呼ばれる計算ユニットをもち、生物の神経系のメカニズムを模倣しているものである[1]。人間の脳の神経網を模した数理モデル[2]。模倣対象となった生物のニューラルネットワーク(神経網)とはっきり区別する場合は、人工ニューラルネットワーク (英: artificial neural network) と呼ばれる。
以下では説明の都合上[注釈 1]、人工的なニューラルネットワークのほうは「人工ニューラルネットワーク」あるいは単に「ニューラルネットワーク」と呼び、生物のそれは「生物のニューラルネットワーク」あるいは「生物の神経網」、ヒトの頭脳のそれは「ヒトのニューラルネットワーク」あるいは「ヒトの神経網」と表記することにする。
概要

人工ニューラルネットワークを理解するには、そもそもそれがどのようなものを模倣しようとしているのかを知っておく必要があるので説明する。ヒトの神経系にはニューロンという細胞があり、ニューロン同士は互いに軸索 (axon) と樹状突起 (dendrite) を介して繋がっている。ニューロンは樹状突起で他の神経細胞から情報を受け取り、細胞内で情報処理してから、軸索で他のニューロンに情報を伝達する[3]。そして、軸索と樹状突起が結合する部分をシナプス(synapse)という[3][1](右図も参照。クリックして拡大して見ていただきたい。紫色の部分がひとつのニューロンであり、Dendrite, Axonなどが示されている。)。 このシナプスの結合強度というのは、外的な刺激に反応してちょくちょく変化する。このシナプス結合強度の変化こそが生物における「学習」のメカニズムである[1]。[注釈 2]

ヒトの神経網を模した人工ニューラルネットワークでは、計算ユニットが《重み》を介して繋がり、この《重み》がヒトの神経網のシナプス結合の「強度」と似た役割を担っている[1]。各ユニットへの入力は《重み》によって強さが変化するように作られており、ユニットにおける関数計算に影響を与える。ニューラルネットワークというのは、入力用ニューロンから出力用ニューロンへと向かって計算値を伝播させてゆくが、その過程で《重み》をパラメータとして利用し、入力の関 数を計算する。(ただし計算値が出力用ニューロンへと伝播されてゆくというだけでは入力パターンからある決まった出力パターンが出るだけなので、さほど有益というわけではない[4]。)《重み》が変化することで「学習」が起きる[1](ここが重要なのである[4])。
- (右図も参照のこと。右図で「weights」や、丸で囲まれた「w」が縦に並んでいるのが《重み》である。)
生物のニューラルネットワークに与えられる外的刺激に相当するものとして、人工ニューラルネットワークでは「訓練データ」が与えられる[1]。いくつか方法があるが、たとえば訓練データとして入力データと出力ラベルが与えられ、たとえば何かの画像データとそれについての正しいラベルが与えられる(たとえばリンゴの画像データとappleというラベル、オレンジの画像データとorangeというラベルが与えられる)。ある入力に対して予測される出力が本当のラベルとどの程度一致するかを計算することで、ニューラルネットワークの《重み》についてフィードバックを得られ[1]、ニューロン間の《重み》は誤差(予測誤差)に応じて、誤差が減少するように調整される[1]。多数のニューロン間で《重み》の調整を繰り返し行うことで次第に計算関数が改善され、より正確な予測をできるようになる。(たとえばオレンジの画像データを提示されると「orange」と正しいラベルを答えられるようになる[1]。) 《重み》の調整方法の代表的なものがバックプロパゲーションである[4]。
なお、ヒトのニューロンを模したユニットは人工ニューロンあるいはノードと呼ばれる。

右図の、多数のユニットが結合しネットワークを構成している数理モデルは、ニューラルネットワークのほんの一例である。(実際にはニューロンの数もさまざまに設定可能であるし、結合のしかたもさまざまに設定可能である。右図はあくまで、とりあえず説明にとりかかるための "一例" と理解いただきたい。 ユニットの構成(例: 線形変換の次元、非線形変換の有無・種類)やネットワークの構造(例: ユニットの数・階層構造・相互結合、入出力の再帰)に関して様々な選択肢があり、様々なモデルが提唱されている。)
各ユニットは入力の線形変換を必ず含み、多くの場合それに後続する非線形変換を含む( 誤差逆伝播法に用いられる活性化関数に放射基底関数を用いたニューラルネットワーク
自己組織化写像はコホネンが1982年に提案した教師なし学習モデルであり、多次元データのクラスタリング、可視化などに用いられる。自己組織化マップ、コホネンマップとも呼ばれる。
畳み込みニューラルネットワークとは層間が全結合ではない順伝播型ニューラルネットワークの一種。
画像を対象とするために用いられることが多い。
フィードフォワードニューラルネットと違い、双方向に信号が伝播するモデル。すべてのノードが他の全てのノードと結合を持っている場合、全結合リカレントニューラルネットと呼ぶ。シーケンシャルなデータに対して有効で、自然言語処理や音声、動画の解析などに利用される[14]。
Self-Attention機構(自己注意機構)を利用したモデルである[13]。再帰型ニューラルネットワークの代替として考案された[13]。
従来の自然言語処理用モデルに比べ計算量が少なく構造も単純なため、自然言語処理に使われることが多い[15]。
乱数による確率的な動作を導入した人工ニューラルネットワークモデル。モンテカルロ法のような統計的標本抽出手法と考えることができる。
ニューラルネットワークをより生物学的な脳の働きに近づけるため、活動電位(スパイク)を重視して作られた人工ニューラルネットワークモデル。スパイクが発生するタイミングを情報と考える。ディープラーニングよりも扱える問題の範囲が広い次世代技術と言われている。ニューラルネットワークの処理は逐次処理のノイマン型コンピュータでは処理効率が低く、活動電位まで模倣する場合には処理効率がさらに低下するため、実用する際には専用プロセッサとして実装される場合が多い。
2015年現在、スパイキングNN処理ユニットを積んだコンシューマー向けのチップとしては、QualcommのSnapdragon 820が登場する予定となっている[16][17]。
入出力信号やパラメータ(重み、閾値)が複素数値であるようなニューラルネットワークで活性化関数は必然的に複素関数になる[18]。
生成モデル(統計モデルとも)は、データが母集団の確率分布に従って生成されると仮定しそのパラメータを学習するニューラルネットワークの総称である。統計的機械学習の一種といえる。モデル(=母集団)からのサンプリングによりデータ生成が可能な点が特徴である(詳しくは推計統計学 § 統計モデル、機械学習 § 統計的機械学習)。
RBFネットワーク
自己組織化写像
畳み込みニューラルネットワーク
再帰型ニューラルネットワーク(リカレントニューラルネット、フィードバックニューラルネット)
Transformer
確率的ニューラルネット
スパイキングニューラルネットワーク
複素ニューラルネットワーク
利点
生成モデル/統計モデル
自己回帰型生成ネット
神経科学
神経科学
領域
- ブレイン・マシン・インタフェース
- 神経系の発生
- ヒトの神経系の発生
- ニューラルネットワーク
- 神経回路
- 信号検出理論
- 術中神経生理学的モニタリング
- ニューロチップ
- 神経変性疾患
- 神経発達症
- ニューロダイバーシティ
- 神経形成
- 神経画像処理
- 神経免疫系
- ニューロマネジメント
- ニューロモデュレーション
- 神経可塑性
- ニューロテクノロジー
- 神経毒