創屋ぷれす

Convolutional Neural Network とは

機械学習の世界において、画像といえばConvolutional Neural Network(以下CNN)というのは、
より精度の高い判定ができるということで広く認識されています。

CNNは、フィルタ内の領域の情報を畳み込んで作成するConvolution Layerを導入した、Neural Networkのことである
Convolution Layerはフィルタを移動させながら適用することで作成し、フィルタの数だけ作成される。これを重ねて活性化関数(ReLU等)で繋いでいくことで、ネットワークを構築する。
畳み込みにより点ではなく領域ベースでの特徴抽出が可能になり、画像の移動や変形などに頑健になる。また、エッジなど領域ベースでないとわからない特徴抽出も可能になる。

CNNはその名の通り通常のNeural NetworkにConvolution(畳み込み)を追加したものです。
1ピクセルではなくある程度の広さの領域(フィルタ)を入力とすることで、特徴を際立たせた入力が可能となるそうです。

具体的な例を挙げると
32px32pxの画像があった場合、4px4pxの領域をフィルタとして2pxずつずらして解析を畳みこみを行っていく
といったものです

CNNにおけるレイヤの種類としては、Convolutional Layerも含めて以下の3つがあります。
・Convolutional Layer: 特徴量の畳み込みを行う層
・Pooling Layer: レイヤの縮小を行い、扱いやすくするための層
・Fully Connected Layer: 特徴量から、最終的な判定を行う層



年が経るにつれ精度が上がってきているCNNですが、近年の構成では以下のような特徴がみられます。
・フィルタを小さくし、階層を深くする
・PoolingやFCのレイヤをなくす
参考:http://qiita.com/icoxfog417/items/5fd55fad152231d706c2

Comments are closed.