さあ!AIに「眼」を与えよう。~新たな画像認識「CNN」とは?~
みなさま。こんにちは!今日も張り切っていきましょう!
ここ最近のブログでは主にディープラーニングについて書いてまして
などまとめてきました。
今日もディープラーニングについて記事なのですが、
その中でもディープラーニングを使った画像認識について
回数に分けて説明していきます。
ディープラーニングを使った画像認識の代表格といってもいいでしょう。
それは・・
CNN(Convolutional Neural Network)
今日はCNNの大まかな流れとその原理について書いていきます。
〜本日の内容と参考文献〜
CNNの大まかな流れ、各層の主な役割。
CNNとは我々人間のように画像認識を得意としており、画像を入力してその分類処理を主として扱います。
もともと昔からアイデアとして存在していたのですが当時のパソコンの能力では
到底対処しきれなかったので実現には至りませんでした。
しかしコンピュータ性能の向上とディープラーニングの確立により誕生しました。
〜CNNの大まかな処理の流れ〜
(対象画像)
CNNには
- 畳み込み層
- プーリング層
- 全結合層
がございます。
畳み込み層とプーリング層は何度も繰り返されて特徴量が抽出されて全結合層に行きます。全結合層でも繰り返し行われ出力されます。
具体的にうさぎさんの写真をCNNに見せると最終的に出力では
うさぎ80% うま5% のようにその写真が何に分類されるのか確率で教えてくれます。
では、それぞれの層について大まかにざっと説明します(後で詳しく説明します)
畳み込み層は簡単にいうと画像を一部切り取ってざっと特徴をまとめる。
やっていることは単純で自分たちも同じように何かを認識するときに
画像を細部まで見てから認識するのではなくて、その対象の特徴的なポイントをみて
認識しますよね。
プーリング層は簡単にいうと畳み込み層でまとめた特徴量を並べてそれらを比較して
最大値とか平均値を求める。
特徴量を規則的に配置することで画像の多少のズレでも対応できるのです。
自分たちも見る視点や場所が変わっても物を認識できますね。
CNNではプーリング層がその役割を担っているのです。
最後に全結合層。ここでは抽出された特徴量を利用して計算し出力する。
その結果、対象を識別・認識することができているのですね。
以上が大まかなCNNの流れと各層の役割でした。
なんだかすごいことやってますよね。けどこの仕組みはもとは見出しにもある通り
生物の視覚がモデルとなっています。
次は人における視覚情報の経路について説明してきます。
生物の視覚がモデルとなっている
生物が生きていられているのは眼の獲得によって
天敵となる捕食者をいち早く察知して捕食を免れたり、仲間とのコミュニケーションや状況把握能力が高くなったためと考えられています。
眼が発達していなかったら生存しているのは困難であったでしょう。
具体的に眼の視覚の仕組みについて見ていきましょう。
一般に外界からの光が網膜で像として結ばれて視神経に伝わり視覚野で処理されることで自分たちは視覚することができています。
興味深いことに右側に関する視覚情報は左脳で処理されていて
左側に関する視覚情報は右脳で処理されています。
理由は図が示すように各々の目で得られた左右の視覚情報を持った視神経が交差して
左右の視覚情報が統合されて伝わり大脳視覚野に伝わるからです。
大脳視覚野では神経細胞が多く存在して、その中には単純型細胞
複雑型細胞という外界からの入力に対して選択性を持った細胞があります。
これらの細胞が視覚に大きな役割を持っていて
- 単純型細胞は明暗の境界を検出する細胞で、位置の変化に敏感。
- 複雑型細胞は位置の変化には鈍感であるので位置が変化していても反応することができる。
そのおかげで、自分たちは見え方が変わったりしても物を同一のものとして認識する
ことができて視覚情報が活かされているのです。
今日も見ていただきありがとうございました!!
次回はもう少しCNNの流れと各層の役割をより詳しく説明できたらなと思います。
また次回もよろしくお願いします!
参考文献・サイト
はじめてのディープラーニング -Pythonで学ぶニューラルネットワークとバックプロパゲーション- (Machine Learning)
- 作者: 我妻幸長
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/08/28
- メディア: 単行本
- この商品を含むブログを見る
参考サイト
視覚伝導路-谷眼科医院
http://www.taniganka.com/shikumi/dentatsu/index.html
かわいいフリー素材集 いらすとや