データ分析手法 - 畳み込みニューラルネットワーク

畳み込みニューラルネットワーク

畳み込みニューラルネットワーク(CNN)とは画像処理分野でよく用いられる深層学習手法の一つです。自動運転や顔認証など画像認識の分野で特に用いられているのがCNNです。

CNNとは

畳み込みニューラルネットワーク(CNN)とは、画像を2次元のまま入力に用いることができる、画像分野で広く使われている深層学習手法の一つです。

CNNとは人間の神経細胞の単純型細胞と複雑型細胞を模したアプローチ方法のことを指し、「畳み込み層」「プーリング層」「全結合層」の3層から構成されています。畳み込み層とプーリング層を交互に積み重ね、全結合層をいくつか重ねることで、空間的な関係を考慮した特徴表現を獲得できます。
※単純型細胞:画像の特徴(濃淡のパターン等)を検出する
※複雑型細胞:物体の一つが変動しても同一の物体とみなす

CNNは自動運転や顔認証、医療分野の画像解析、無人レジなど幅広い分野で活用されています。

CNNの仕組み

CNNは「畳み込み層」「プーリング層」「全結合層」の3層で構成されたニューラルネットワークです。
ここではそれぞれの層について見ていきたいと思います。

【畳み込み層】

畳み込み層では、カーネルと呼ばれるフィルタを用いて画像から特徴を抽出します。
入力された画像より小さいサイズのフィルタを画像の左上から順に重ね合わせ、画像とフィルタの値を掛け合わせたものの総和をとった値を求めていきます。
これにより特徴マップと呼ばれる新しい2次元のデータを得ることができ、高度な画像の特徴を抽出することができます。

【プーリング層】

プーリング層では特徴マップのサイズをルールに従って小さくしていきます。
例えばMAXプーリングでは、畳み込み処理で作成した特徴マップの最大値を抽出し、新たにダウンサンプリングした画像を得ます。
これにより抽出された特徴が移動しても影響を受けないため、判別対象が画像のどこにいても見つけ出すことができます。

【全結合層】

全結合層では、畳み込み層とプーリング層で抽出された特徴を使用し、最終的な分類を行います。
CNNでは入力された画像に対して一つの正解データが与えられます。畳み込み層とプーリング層の処理を複数繰り返すことで得られた複数の重み付けした特徴マップを、全結合層の処理ですべて結合させることで結果が出力されます。

CNNの活用場面

CNNは下記のような場面で活用されています。

【自動運転】

車載カメラから得られた画像を用い、歩行者やほかの車、道路標識を判別する活用方法があります。
自動運転の分野にてよく活用されています。

【顔認証】

あらかじめ個人の顔を読み取り情報を記憶することで、登録者と個人が一致するかを照合することができます。スマートフォンやPCのロック解除などで活用されています。

【医療分野の画像診断】

診断画像から微細な病気の特徴を見つけ出し、病気の可能性を判別する活用方法があります。

データ分析手法 ー 畳み込みニューラルネットワーク