(株)ディジタルメディアプロフェッショナル

技術ブログ

技術ブログ / 新着記事

  • 2016年11月25日
    Deep learningの入門(第二回)

    前回、主にニューラルネットワークが分類の処理をするフィルタとして使われる、これを深くしたのがディープラーニング処理のコア技術である点について説明しました。

    ただ、実は単純にニューラルネットワークをつなげれば画像認識が出来るわけではありません。どうすれば、効率良く認識出来るか。分からないときは、進化の結果である脳の仕掛けを観察してみましょう。

    キーワードは、脳の受容体にある単純型細胞、複雑型細胞です。
    (検索すると、https://bsd.neuroinf.jp/wiki/%E5%8F%97%E5%AE%B9%E9%87%8E の様なページが出てくるので、詳細は検索してね。)

    大昔、ネコを使って脳の受容体細胞を観測したところ、

    ・単純型細胞(Simple Cell: S層) : エッジの傾きに反応するっぽい  
    ・複雑型細胞(Complex Cell: C層) : サイズや位相に関する違いを気にせず、エッジの傾きに反応するっぽい(単純型細胞よりも、サイズ等の違いに対する違いを吸収出来るっぽい)

    という、細胞があることが観測できました。
    どうも、人の脳も、エッジの傾き+サイズ・回転に関する寛容性を持つような処理層が交互に分類されることで、画像の認識が行われるっぽいとなって、新しいニューラルネットワークモデルとしてネオコグニトロンが提案されました(http://dbnst.nii.ac.jp/pro/detail/498)。

    %e3%83%8b%e3%83%a5%e3%83%bc%e3%83%ad%e3%83%b3

    このモデルはニューラルネットワーク(エッジ抽出)でS層を模し、サイズに対する寛容さを持たせる層であるC層を交互に挟んで、認識(分類処理)を行います。

    実は、このネオコグニトロンが現在のディープラーニングによる高度な画像認識の原点となるモデルと言われています。で、これを元に作られたネットワークが畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)です。ちなみに、これさえ大体理解していれば、なんとなく技術的な会話はついていけます。図で書くとこんな感じ。

    cnn

    要素コンポーネントとしては、
    ・ 入力層(input layer)
    ・ 畳み込み層( convolution layer)
    ・ プーリング層(pooling layer)
    ・ 全結合層(fully connected layer)
    ・ 出力層(output layer)
    と呼ばれるモノからなります。

    いよいよ次回、各層での処理について説明します。

PAGE TOP