畳み込みニューラルネットワーク(CNN)について解説(その1:人間はどうやって物を認識?)

(その1:人間はどうやって物を認識してる??) プログラミング
困ったさん
困ったさん
ディープラーニングで必要な畳み込みニューラルネットワークって何?

こんな疑問を解決します。

この記事を書いてる人

FUMIPEN blogを運営
本記事の内容

  • 畳み込みニューラルネットワークとは?
  • そもそも人間が画像を認識する仕組み
  • 畳み込みニューラルネットワークを理解するために必要なもの

本記事では「畳み込みニューラルネットーワークとそれに必要な知識」について解説

この記事を読むことで、畳み込みニューラルネットワークを用いるための概念と必要な内容が分かります。

結論から話すと、

結論

  • 畳み込みニューラルネットワーク(CNN)とは畳み込み計算を行う層、プーリング層、分類を行う全結合層で構成され、これらが持つパラメータを誤差逆伝播法で学習する方法
  • 人間の脳による画像の認識を真似したものが畳み込みニューラルネットワーク
  • 単純細胞型が畳み込み層、複雑細胞型がプーリング層に一致

そもそも人はどうやって物を認知する??

畳み込みニューラルネットワーク 物体認知

人の脳が画像がどんな物なのかを判別する際には三つの手順を踏みます。

人間が物体を認知するための手順

  • 局所受容野で画像をスキャン
  • 単純型細胞によって、ものの細やかな位置、方向、幅を認知
  • 複雑型細胞によって大きなエリアを認知(ここでは顔)し、それがなんなのかを当てる

この工程を踏みます。

局所受容野で画像をスキャン

受容野 (receptive field)とは、感覚処理系の個々の細胞が、外界あるいは体内に生じた刺激に対し、感覚受容器を通じて、反応することのできる末梢器官上での空間範囲あるいはそれに対応する外界空間での範囲をいう。

引用:受容野 脳科学辞典

ふみペン
ふみペン
つまり個々の細胞が刺激に対して反応できる範囲のことだね!

単純型細胞によって、ものの細やかな位置や方向、幅を認知

単純型細胞 CNN

単純型細胞はスリットの傾 き(方位)に対して選択的に反応する(方位選択性).スリットの位置がずれたり,あるいは幅が広がって,スリットがONとOFF反応の受容野にまたがれば, 拮抗作用が働いて単純型細胞の反応は弱まる.だから単純型細胞はスリットの位置と幅にも選択性を持つ

引用:大 脳 に よ る 視 覚

え??どういうこと??
困ったさん
困ったさん

簡単に説明すると、物体を認識する時は

  • 物体の位置
  • 物体の傾き(方向)
  • 物体の幅
  • 物体の長さ

の四つがある。

複雑型細胞によって大きなエリアを認知し、それがなんなのか当てる

複雑型細胞 CNN

複雑型細胞はスリットの位置についてはややゆるやかな選択性を持つが, 方位,幅,コン トラストに対して鋭い選択性を持つ

引用:大 脳 に よ る 視 覚

人の個々の

  • 目の特徴
  • 髪の種類
  • 耳の細かい形

は細かくみないが、その「これは顔です!」と判断する時に用いるイメージですね!

人間の脳の反応を真似たものが畳み込みニューラルネットワーク!

畳み込みニューラルネットワーク CNN
なんでこんなに人間の物をどうやってみるのかを解説したの??
困ったさん
困ったさん
ふみペン
ふみペン
それは、畳み込みニューラルネットワークが人間の視覚によるものの捉え方を真似た物だからだよ!

昔の記事に犬、猫、ペンギンを判別する深層学習(ディープラーニング)を作ってみた!で深層学習を解説したものがあるけど、その時には

深層学習の各層の種類
  • 入力層(読み込んで欲しい画像を提供)
  • 中間層(コンピュータに学習をお願いするところ)
  • 出力層(コンピュータが学習してくれた内容を受け取るところ)

大まかな簡単に解説を行なってました。

この中で畳み込みニューラルネットワークは中間層を先程の人間の視覚の作用を真似したモデルになります。

具体的には中間層を

畳み込み層 中間層 プーリング層
  • 畳み込み層で単純型細胞を真似る
  • プーリング層で複雑型細胞を真似る

へと分けることによって人間の視覚の再現を行います。

さらにここから全結合層に移って最後に出力層に持っていきます。

全結合層。。。。??
困ったさん
困ったさん
畳み込みニューラルネットワーク 計算の流れ

流れとしてはこのようになっています。

ふみペン
ふみペン
さっきの中間層の中に全結合で、全ての画像ごと特徴量と重みを掛け合わせた合計を特徴量分作る場所になるよ!

詳しい計算や解析の方法などは今後解説します。

それでは畳み込み層とプーリング層について解説します。

畳み込み層で単純型細胞を真似る

畳み込み層

 

人間の特徴をうまく捉えられうフィルタを作ることができるかが、画像解析の一つの醍醐味ですね。

プーリング層(maxpooling)で複雑型細胞を真似る

プーリング層

プーリング層を挟んで大まかなあごの輪郭を持ったまま畳み込み層に情報を送ることができます。

ん??そもそもなんでプーリング層って必要なの??
困ったさん
困ったさん
ふみペン
ふみペン
コンピュータが人間のように物を柔軟にとらえることができないからだよ!

プーリング層のメリットを三つ上げるとすると

  • 情報をなるべく失わずに圧縮可能
  • 平行移動しても特徴量を失わずに済む
  • パラメータの削減

情報をなるべく失わずに圧縮可能

プーリング層 メリット

平行移動しても特徴量を失わずに済む

プーリング層 メリット

もし格子が小さい場合にどうなるかというと

プーリング層 メリット

パラメータの削減

プーリング層 メリット

パラメータを削減して計算負荷を落とすことができます。

画像解析の一つの手法として畳み込みニューラルネットワークを理解しよう

まとめますと、

まとめ

  • 人間の脳は単純細胞で特徴量を正確にとらえる
  • 人間の脳は複雑細胞で大まかな画像の形を認識
  • 畳み込みニューラルネットワークではそれらを畳み込み層並びにプーリング層で再現

でした。これから実装に移るまでに理論はある程度理解しておく必要があると思います。

なので、次は畳み込みニューラルネットワークに必要な誤差逆伝播の話をしようと思います。

畳み込みニューラルネットワークは画像解析において理解が必須だと思うので、ぜひこの際に勉強してみてはいかがでしょうか?

最後まで見ていただきありがとうございました。