はじめに
深層学習が流行っているので深層学習-機械学習プロフェッショナルシリーズを読んで少し勉強してみた。
ニューラルネットの種類について
「深層学習=多層のニューラルネットで逆誤差伝搬法を使って学習するもの」と十把一絡げにとらえていたが、色々なニューラルネットがあるらしい。
深層学習-機械学習プロフェッショナルシリーズでは下記のニューラルネットについて説明されている。
- 自己符号化器
- 畳み込みニューラルネット
- 再帰型ニューラルネット
- ボルツマンマシン
自己符号化器
入力値と出力値が同じになるように学習を行うニューラルネット。
ディープネットの事前学習(重みの良い初期値を得る)などで利用される。
入力層・中間層・出力層の3層から構成される。
畳み込みニューラルネット
主に画像認識などで利用されるニューラルネット。
位置変化に敏感な「畳み込み層」、位置変化に鈍感な「プーリング層」、明るさやコントラストの違いを吸収する「正規化層」などを組み合わせて構成される。
再帰型ニューラルネット
音声・言語・動画像といった系列データを扱うニューラルネット。
時刻tの層の出力が時刻t+1の層の入力になるよう構成される。
再帰型ニューラルネットはニューラルネットが深くなり勾配消失問題が発生する。
そのため「長・短期記憶」という、中間層のユニットをメモリユニットと呼ばれる要素に置き換える方法をとると良い。
ボルツマンマシン
ユニット間の結合が双方向なニューラルネット。
データの生成モデルなどで利用される。
おわりに
いくつかのニューラルネットについて学習した。
次は Chainer あたりを使って実際に何か作ってみたい。