岡谷貴之先生の深層学習について、簡単にメモを残していきます。
多層ニューラルネットワークへの期待と失望
人工ニューラルネットワーク = 生物の神経回路網を模倣
年代 | イベント |
---|---|
1940年代 | 研究が開始 |
1980年代半ば-90年代前半 | 誤差逆伝播法(back propagation)の発明をきっかけにブーム |
1990年代後半 | いったん終焉(理由: ①多層構造に誤差逆伝播法がうまくいかない ②パラメータと性能がどのようにむずびつくのかよくわからない) |
①多層構造に誤差逆伝播法がうまくいかない
2層ならうまくいくが、多層だとうまくいかない。
過学習(訓練サンプルの学習はうまくいくが汎化性能が上がらない)が問題になっていた。
誤差逆伝播法とは、サンプルに対するネットワークの誤差(目標出力と実際の出力の差)を、入力層から逆に伝播させ、各層の重みの勾配を計算する方法。多層になると、勾配消失問題(勾配が急速に大きくなったり、小さくなったり)が発生し学習が難しい。
②パラメータと性能がどのようにむずびつくのかよくわからない
ニューラルネットワークは層数、ユニット数、重みなど学習のためのパラメータが多数あるが、ノウハウがあっても理論がないことが発展を下火にしてしまった。
畳込みニューラルネットワークは多層ネットワークでも学習がうまくいった
①多層構造に誤差逆伝播法がうまくいかない については例外があり、畳込みニューラルネットワーク(convolutional neural network, CNN)は80年代後半には5つの層からなる多層ネットワークの学習に成功していた。
CNNは手書き文字認識に応用されて高い性能を実現したが、徐々に関心は小さくなっていった。
多層ネットワークの事前学習
年代 | イベント |
---|---|
1990年代後半から2000年代前半 | NNに対する関心は低い |
2006年 | Hintonらのディープビリーフネットワーク(deep belief network, DBN)の研究で、多層ネットワークの学習がうまくいくことを示した |
2006年 | DBNでなく、自己符号化器(autoencoder)を使っても、多層ネットワークの学習がうまくいくことを示した |
deep belief network / restricted Boltzman machine
HintonらはDBNを、制約ボルツマンマシン(restricted Boltzman machine, RBM)と呼ばれる多層ネットワーク分解した上で、貪欲法にしたがって、入力層に近い側から教師無しで学習していく方法を提案し、学習がうまくいくこと示した。
これらは一般的な順伝播型NNに適用が可能であった。
層ごとに学習を行い、パラメータの良い初期値を得ておくことを事前学習(pretraining)と呼ぶ。
autoencoder
のちにDBNでなく、自己符号化器(autoencoder)を使っても、多層ネットワークの学習がうまくいくことがわかった。
自己符号化器は、入力に対して、計算される出力が、入力になるべく近くなるように訓練されるNN。つまり、目標出力は入力値であるので教師データがいらない。
多層NNを単層に分割し、入力層から順番に各層を、自己符号化器として学習し、各層のパラメータの初期値を得る。
のちに、全層のNNを教師ありで学習する。
多層NNは、この事前学習によってうまく学習ができることがわかった。
特徴量の学習
自然界のデータは強い偏りをもち、複雑に広がっている。
多層NNがこのようなデータを学習したとき、そのようなデータの持つ構造がどのようにネットワークの多層構造に捉えられるかを述べる。
多層ネットワークは学習により興味深い階層構造を形成する
例えば、自然画像から切り出したパッチ(小領域)の集合を対象に、スパース符号化(sparse coding)によって辞書(基底)の学習を行うと、哺乳類の脳の初期(低次)視覚野で取り出されるボールウェーブレット状の基底が得られる
深層学習の隆盛
ディープネット。
多層ニューラルネットワークが高い性能を発揮できる様になった背景
- インフラが整った(インターネット)ことで学習データが集めやすくなった
- 計算機の計算能力の飛躍的な向上