畳み込みニューラルネットワークの基礎を理解する

スポンサーリンク
StartLab 挫折しないプログラミング学習
スポンサーリンク
StartLab 挫折しないプログラミング学習

はじめに

この記事では、主に画像や動画認識に広く使われているモデル「畳み込みニューラルネットワーク(CNN)」を取り上げます。

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

畳み込みニューラルネットワークとは、画像データを入力として、高い認識性能を達成できるモデルです。通常のニューラルネットワークと同様に、誤差逆伝播法を学習に使います。下記のような、私たち人間が持っている視覚野の神経細胞の働きを模倣してみよう、という発想から生まれました。

  • 単純型細胞(S細胞):画像の濃淡パターン(特徴)を検出する。
  • 複雑型細胞(C細胞):空間的な位置のずれを吸収し、同一の特徴であるとみなす。

このS細胞、C細胞の働きを最初に組み込んだモデルが、ネオコグ二トロンです。ネオコグ二トロンは、従来のニューラルネットワークのように、S細胞層とC細胞層を交互に複数組み合わせた構造になっています。

出展:福島邦彦、位置ずれに影響されないパターン認識機構の神経回路のモデル — ネオコグニトロン —、1979年、電子通信学会論文誌A, vol. J62-A, no. 10, pp. 658-665

また、LeNetという畳み込みニューラルネットワークのモデルもあります。LeNetは、畳み込み層プーリング層の2種類を複数組み合わせた構造になっています。ネオコグ二トロンのS細胞層がLeNetにおける畳み込み層、C細胞層がプーリング層になります。

Yan LeCun(1998).Gardient-Based Learning Applied To Document Recognitionより

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

i Magazine:「畳み込みネットワークの「基礎の基礎」を理解する ~ディープラーニング入門~」 より

上図は、「5」という手書き文字画像を判別するという例をもとに、最も基本的な畳み込みニューラルネットワークの構造を表したものになります。

まず最初に来るのが入力層で、次に畳み込み層(単純型細胞)、プーリング層(複雑型細胞)が連なります。そして全結合層、出力層が続くという構造になります。出力層は、0~9までの確率を取得するもので、従来のニューラルネットワークの出力層と同様の処理を行います。

畳み込み層、プーリング層、そして全結合層の、各層の役割や行われている処理内容については、以下の通りです。

畳み込み層

畳み込み層では、フィルタを用いて画像の特徴を抽出します。

フィルタを画像の左上から順番に重ね、画像とフィルタの値を掛け合わせます。掛け合わせた数値の総和をもとめ、特徴マップという新たな2次元データを取得します。

畳み込み層

プーリング層

プーリングは、ダウンサンプリングやサブサンプリングとも呼ばれ、特徴マップのサイズを決められた演算を行って小さくしていきます。

プーリング層

上図はmaxプーリングと呼ばれる処理を表したものです。2×2ごとに特徴マップの最大値を抽出し、新たにダウンサンプリング画像を取得します。maxプーリングの他にも、avgプーリングという平均値をとる処理もあります。

全結合層

全結合層は、通常のニューラルネットワークにおける隠れ層と出力層に相当します。

全結合層では、これまで出力してきた画像が「5という文字」「ネコ」「りんご」などと判別できるように、1次元にします。

全結合層

おわりに

以上、畳み込みニューラルネットワークの基本的なところを見てきました。

今回紹介したネオコグ二トロンやLeNetの他にも、AlexNetやVGGといったモデルもあります。畳み込みニューラルネットワークは、ディープラーニングの中でもポピュラーであり、最も成功していると言われる一方で、勾配消失、勾配爆発などまだまだ課題のある分野でもあるようです。

(M.Y)

タイトルとURLをコピーしました