딥러닝에서 인공신경망(ANN), 심층신경망(DNN), 순방향신경망(FNN)의 뜻과 차이점
概要
人工ニューラルネットワーク、深層ニューラルネットワーク、順方向ニューロネットワークなど、ディープラーニングで使われる用語について整理する。これらの用語は明確な定義がない上に混用されることも多く、初心者が混乱しがちだが、実際にはすべて同じ言葉だと考えても良い。
以下で説明する単語の由来や歴史に関連する内容は、資料を徹底的に調査して書かれたものではなく、筆者の個人的な見解によって書かれている。
人工ニューラルネットワークANNと深層ニューラルネットワークDNN
レイヤーと活性化関数の合成を人工ニューラルネットワークartificial neural network (ANN)と呼ぶ。
深層ニューラルネットワークdeep neural network (DNN)とは、レイヤーと活性化関数を「何度も」合成したものを指す。
最初に提案されたANNは線形関数と階段関数の合成関数で非常にシンプルなモデルだった。これを(単層)パーセプトロンと呼ぶ。後に提案されたより発展したモデルは、線形関数と階段関数をさらに多く合成した多層パーセプトロンmulti layer perceptron (MLP)である。この過程でlayerやdeepといった用語が使われ始めたようだ。これらの言葉に特別な意味はなく、多く合成したものを視覚化すると層layerが層々とdeep積み重なっているように見えるため、直感的に名付けられたものだ。例えば、というとき、を何度も合成した関数を視覚化すると次のようになる。
したがって最初は1層だけのANNと区別する意味でDNNという言葉が使われていたが、今ではその区別が意味をなさない。実質的に同じ言葉だと言える。また、ニューラルネットワーク理論初期にはDNNがMLPしかなかったため、この二つはおそらく同じ意味で使われていたようだ。過去の論文でそのような文脈で使われることがある。最近ではANNやDNNと言うと、MLPのみならず、CNN、GAN、RNN、GNNなどのニューラルネットワークをすべて含む概念として使われる。
過去:
最近:
過去と最近というのは、それぞれ20世紀と21世紀くらいで考えておけば良い。
多層パーセプトロンMLPと完全連結ニューラルネットワークFCNN
単層パーセプトロンを何度も合成したものを多層パーセプトロンmulti-layer perceptron (MLP)と呼ぶ。完全連結ニューラルネットワークfully connected neural networkとは、完全連結層と活性化関数を合成したニューラルネットワークを指す。この二つは同じニューラルネットワークを指す言葉だ。
順方向ニューロネットワークFNN
再帰ニューラルネットワーク (RNN)など、時系列データを扱うニューラルネットワークや、何らかの形で出力が再び入力として入るニューラルネットワークを除いた全てのニューラルネットワークを順方向ニューロネットワークfeedforward neural network (FNN)と呼ぶ。過去にはニューラルネットワークの種類が多くなかったため、FNNをMLPと同じ意味で使っていたようであり、今でも狭い意味で使われる場合があるようだ。