スポンサーリンク

視覚野とConvolutional Neural Networkの構造について

Machine Learning

「ディープラーニング 学習する機械 ヤン・ルカン、人工知能を語る」で書かれていた視覚野とConvolutional Neural Network(CNN)の関係が興味深かったので、まとめてみました。

2012年の爆弾とCNNの始まり

2012年に画像認識技術に関するコンペティション形式の会議であるILSVRCで、前年記録を約9%と大幅更新したことで、CNNは一気に注目されました。さらに、翌年はすべてのチームがCNNを利用し、それ以降で記録を更新したモデルはCNNの構造を基本的には利用しています。
※ILSVRCにおけるコンペは、130万以上の画像、カテゴリ数1000のデータセットを用いてスコアを競う。犬だけでも種別が200あり、紛らわしい近縁種も含まれているため非常に難しいことで知られている。

CNNは2012年に有名になったため、最近登場したと思われますが、実は1980年代に基本的な構造は確立されています。1つは1980年に、福島邦彦先生が発表したネオコグニトロンで、もう1つは1989年にYann LeCunが発表したLeNetです。ネオコグニトロンは、ヒューベルとウィーゼルの視覚野に関する発見を、アーキテクチャに取り入れましたが、ネットワーク全体を上手く学習させる方法が考えられていませんでした。そこに、ヒューベルとウィーゼルの視覚野に関する発見とネオコグニトロンにヒントを得たYann LeCunは、 誤差伝搬を利用することでネットワーク全体の学習を可能にし、ニューラルネットワークの可能性を拡げました。しかし、当時は、計算リソースが小さく、大量のデータを処理することが困難、深い層の学習ができないなど問題があったため、他の手法が2010年までは利用され続けました。

ヒューベルとウィーゼルの視覚野に関する発見

CNNのアーキテクチャに大きな影響を与えたヒューベルとウィーゼルの視覚野に関する発見は、物体認識が網膜から下側頭皮質まで段階的に行われることを明らかにしたことによります。一次視覚野(V1)で、各単純型細胞が異なる線の角度に反応することと、複雑型細胞の存在の発見によって、ノーベル生理学・医学賞を受賞しました。単純型細胞複雑型細胞は下記のように説明されますが、理解がしやすいようにモデル化してみていきます。

  • 単純型細胞 - 異なる線分やエッジの角度に反応
  • 複雑型細胞 - 検出されるべき特徴的構造(線分やエッジ)が、限られた範囲の受容野の中に入ってさえい れば、それらの位置に関わらずニューロンが反応

単純型細胞モデル

1つの単純型細胞には、複数の受容野の入力が繋がっています。

この単純型細胞は、受容野の入力がどのような時に活動するでしょうか?ある特定の線の傾きによって活動します。例えば、下記のように受容野の左から3列目の縦線に対して活動する単純型細胞の場合、右上の場合は反応しますが、他の場合は反応しません。

上記の例では左から3列目でしたが、上から2列目や斜め線など色々な線の傾きに対応した単純型細胞が並んでいます。これによって多様な線に対応することができます。

複雑型細胞モデル

複雑型細胞は、複数の単純型細胞と繋がっています。複雑型細胞は、単純型細胞がどのような時に活動するでしょうか?
接続されている単純型細胞のいずれかが活動していれば、複雑型細胞も活動します。これによって、受容野に入力される位置に多少のずれがあっても、同じ傾きの線であれば反応することができます。

複雑型細胞の特徴的なところは、集約する単純型細胞の範囲は限られていることです。下記図のように、1つの複雑型細胞が受け持つ単純型細胞の範囲は異なります。

ここまで紹介した単純型細胞と複雑型細胞の仕組みを、福島やLeCunは、人工知能研究へ反映しCNNが生み出されたました。

CNNと単純型細胞、複雑型細胞の関係

ここからCNNの構造と単純型細胞、複雑型細胞の関係を見ていきます。CNNの基本的な構造は、下記のように畳み込み層→プーリング層がいくつか重なった後に全結合層があります。

  • 入力層→畳み込み層→プーリング層→畳み込み層→プーリング層→全結合層→出力層

この畳み込み層が視覚野の単純型細胞を、プーリング層が複雑型層を模擬したものになっています。畳み込み層とプーリング層の仕組みを簡単に見ていきます。

畳み込み層と単純型細胞

畳み込み層では、入力とフィルタの要素ごとの積をとり、足し合わせます。それを、一つずつずらして算出し、特徴マップを算出します。

要素ごとの積をとって、足し合わせるため、フィルタ形状に近い入力の場合に特徴マップの値が大きくなります。縦線のフィルタであれば、入力の縦線に対して大きな値を取る特徴マップを出力し、横線のフィルタであれば、入力の横線に対して大きな値を取る特徴マップを出力します。

このように、畳み込み層における特徴マップは、単純型細胞に働きによく似ていることが分かりました。

プーリング層と複雑型細胞

プーリング層では、特定の範囲の特徴マップの値の最大値(もしくは平均値)を算出します。

この処理は、位置ずれによる汎用性を高めることにつながります。下記図のように、同じ形の入力であれば位置が多少ずれても同じような出力結果になります。

このようにプーリング層は、ある範囲内の単純型細胞を集約する複雑型細胞の働きによく似ていることが分かりました。

最後に

単純型細胞モデル、複雑型細胞モデルを模擬したCNNが現在ここまで活躍しているのは、人間の積み重ねを感じます。他にもディープラーニングの面白い話が書かれているので、「ディープラーニング 学習する機械 ヤン・ルカン、人工知能を語る」ぜひ読んでみてください。

ディープラーニング 学習する機械 ヤン・ルカン、人工知能を語る

関連記事、参考記事

コメント