人工知能(AI)

【人工知能】畳み込みニューラルネットワークの仕組み

どうも、とがみんです。

この記事では、画像認識で圧倒的な成果を挙げてきた、畳み込みニューラルネットワーク の仕組みについて紹介していきます。

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

畳み込みニューラルネットワーク(Convolutional Neural Network)は、ニューラルネットワークの中間層に、

「畳み込み層」と「プーリング層」を配置したニューラルネットワーク で、

主に画像認識によく使われます。

  • 画像に含まれる物、人などの検知とラベル付け
  • 音声のテキスト変換
  • 自動車の自動運転技術における道路把握、障害物検知

等、幅広い応用例があります。

通常(全結合)のニューラルネットワークでは1次元の情報しか汲み取れなかったのに対し、畳み込みニューラルネットワークは3次元の空間的な情報も汲み取ることができます。

次に、畳み込みニューラルネットワークの仕組みについて紹介していきます。

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

畳み込みニューラルネットワークの仕組みについて紹介していきます。

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

畳み込みニューラルネットワークの仕組みの全体像は、以下の図のように、「畳み込み層」、「プーリング層」、「全結合層」で構成されます。

「畳み込み層」と、「プーリング層」の仕組みについて紹介していきます。

畳み込み層の仕組み

畳み込み層は、入力画像に対してフィルタと呼ばれる2次元の重み信号を用いた畳み込み演算を行う層です。

フィルタを次々とスライドさせて畳み込みの計算を行い、特徴マップを作成します。

プーリング層では、畳み込み層から受け取った特徴マップに対して、最大値や平均値を取ることで、重要な特徴を残してデータを圧縮します。

プーリング層の結果は、1次元データに変更され、全結合層へと渡されます。

全結合層の結果が活性化関数で変換されて、出力層に渡され、

出力層の活性化関数によって、値が変換され、最終的な出力結果を得ます。

畳み込みニューラルネットワークは、特徴量をピクセル単位ではなく、領域単位で抽出するため、位置のずれ、見え方によるずれを小さくすることができます。

パディングの仕組み

上記のように、畳み込み層とプーリング層で特徴量を抽出していくと、データのサイズが元のサイズよりも小さくなっていってしまいます。

データのサイズを保ちたい場合は、特徴量の周りをゼロで埋める「ゼロパディング」と呼ばれる手法を用います。

これにより、

  • 端のデータに対する畳み込み回数が増えるので、端の特徴も考慮されるようになる。
  • データのサイズを保つことができるので、層の数を調整できる。

といったメリットがあります。

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

以下の記事で、ニューラルネットワークの学習の仕組みを紹介しました。

畳み込みニューラルネットワークの学習も仕組みは同じです。


出力層で得られた結果と、正解データを比較し、誤差関数を用いて誤差を計算します。

その誤差が最小になるように、「フィルタ」のパラメータを更新していきます。

畳み込み層では、「フィルタ」のパラメータが重みパラメータにあたります。

まとめ

畳み込みニューラルネットワークについて説明しました。

畳み込みニューラルネットワークには、畳み込み層とプーリング層が中間層に導入され、

これらによって、位置のずれや見え方の違いによるずれを小さくしてくれ、画像認識の分野で広く応用されています。

参考文献

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

>畳み込みニューラルネットワークの仕組み