人工知能とは ⑤ ディープラーニングの手法2
What is Artificial Intelligence?
畳み込みニュラルネットワーク|Convolutional Neural Network|CNN
画像処理に向いたディープラーニングです。画像情報は画像の座標情報(x,y)+色情報の3次元になります。このCNNは座標情報の2次元のデータをそのまま入力できるモデルです。
CNNの基本形
人間が持つ視野感覚の神経細胞の2つの働きを模するものです。
・単純型細胞(S細胞) 画像の後端パターン(特徴)を検出する。
・複雑型細胞(C細胞) 物体の位置が変動しても同一の物体であるとみなす。
ネオログニトロン
福島邦彦先生は上記2角細胞の動きを組み込んだネオログニトロンを考案しました。多層構造ではありますが、S細胞層とC細胞層が交互に4回組み込まれたモデルになります。
・位置ずれに影響されないパターン認識機構の神経回路モデル–ネオコグニトロン
福島 邦彦
国立国会図書館
https://iss.ndl.go.jp/books/R000000004-I2066671-00
LeNet
ヤン・ルカンが1998年にLeNetというCNNのモデルを発表しました。畳み込み層とプーリング層(サブサンプリング層)の2層を交互に複数回組み込んだモデルになります。
ネオログニトロンとLeNetは名称は異なりますが、構造は同じで学習方法が異なります。
ネオログニトロン LeNet
S細胞層 = 畳み込み層
C細胞層 = プーリング層
微分(勾配計算) ≠ 誤差逆伝播法
add-if silent ≠ 〃
現在のCNNでは上記LeNetの方法が一般的です。
畳み込み
カーネルという画像よりもかなり小さなフィルタを用いて画像から特徴を抽出します。画像とフィルタが一致しているセル数の数から特徴量マップを作成します。このフィルタの値が重みになります。人間の移動普遍性の獲得して、位置ずれに強いモデルと言えます。
プーリング
ダウンサンプリング、サブサンプリングとも言われますが、画像サイズを決められたルールに従って小さくする決められた演算を行うだけのものです。
・Maxプーリング
画像の最大値を抽出する。
・avgプーリング
画像の平均値を抽出する。
全結合層
CNNは2次元データを取り扱うわけですが、最終的な出力を1次元にするために全結合層を用います。しかし、最近は1つの特徴量マップに1つのクラスを対応させるGlobal Average Poolingが主流になっています。
データ拡張|data augmentation
以下のような課題を解決するために考案された手法で、取得しているデータから擬似的に別のデータを作成する手法です。
■課題
・同じ物体でも、角度が異なれば、画像としては全く異なる
・同じ物体でも、距離によって、画像としては全く異なる
・同じ物体でも、光の下限で、画像としては全く異なる
■処理例
・上下左右にずらす
・上下左右に反転する
・拡大・縮小する
・回転する
・斜めに歪める
・一部を切り取る
・コントラストを変える
CNNの発展形
2012年にILSVRCで圧倒的処理したAlexNetは3層構造でした。VGGやGoogLeNetなどはそれ以上の層で構成おり、AlexNetの記録を次々に超えていきました。
但し、層を増やして行くと計算量が爆発的に増えていきますので、小さなサイズの畳込みフィルターを差し込んで、次元削減(計算量の削減)する工夫が取れれました。
また、GooLeNetではInceptionモジュールというモジュールを組み合わせる方式となります。
このような努力があったのですが、超深層になると性能が落ちてしまうという問題がありましたが、Skip connectionと呼ばれる層を飛び越えた結合を加える方法です。これにより
・層が深くなっても、層を飛び越える部分は伝播しやすくなる
・様々な形のネットワークのアンサンブル学習が実現できる
転移学習
学習済みのネットワークを利用して新しいタスクの識別に活用すること。
ImageNetで学習済のモデルがたくさん公開されています。
推薦図書
日本ディープラーニング協会
JDLA監修
ディープラーニングG
ジェネラリスト検定
・公式テキスト
・公式問題集