GTC 2015 - Deep Learningを理解する(前編)
この郵便番号認識はうまく動作し、大成功をおさめたことはご存じの通りである。
Convolutionを行う各層は、入力に対して特徴を抽出するフィルタを適用し、その結果を非線形の関数で変換する。線形である場合は複数の層を1つにまとめることができてしまうので、非線形であることが必須である。そして、小領域の結果の中から最大値を選ぶMax Poolingという処理を施す。Max Poolingは変換不変性を増し、出力情報量を減らす効果がある。
フィルタリングは入力の画像に対してフィルタを適用する。フィルタは入力の画像の、例えば10×10ピクセルの領域の画像に対して、それぞれのピクセルの値に重みを掛けて総和を計算するという操作で、入力である10×10ピクセルの領域を元の画像全体の上で1ピクセル(数ピクセルというやり方もある)ずつずらせてフィルタ計算を行って行く。もちろん、この処理は順番に1ピクセルずつずらせてやるのではなく、並列に実行しても良い。
異なる特徴を抽出する何枚ものフィルタが使われるが、通常、各フィルタのサイズは同じでピクセルの重みづけだけが異なっている。
非線形関数は、当初はtanh(x)