トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

畳み込みニューラルネットワーク(CNN)

畳み込みニューラルネットワークは、 Convolutional Neural Network(コンボリューショナルニューラルネットワーク:以下、CNN)の訳です。 ニューラルネットワーク の一種です。 画像処理の ディープラーニング として有名です。

CNNのソフトの話は、 ディープラーニング のページにまとめています。

CNNは畳み込み層と、プーリング層の組み合わせを多層にすることで、特徴量の抽出をしています。

畳み込み層

畳み込み層は、データを細かなブロックに分割して、ブロック毎に用意したパーツとどれだけ一致するのかを見て、一致の量を出力とします。 これは、フィルターと呼ばれます。 フィルターは、輪郭線とデータの関係のような画像データならではの特徴を、取り出すためのものです。

ディープラーニングの解説では、 「昔の画像処理は特徴量を人間が定義していたが、ディープラーニングはこれをコンピュータができるようにした。」、 という説明がされる事があります。

CNNで使われるフィルターは、昔の方法と完全自動化の中間のような感じです。 「ある程度、画像データとはどのようなものかをコンピュータに教えておいた方が、何も知らないところからモデルを作るより、ずっと良い。」 、ということのようです。

プーリング層

プーリング層は、畳み込み層の出力を入力にして、「最大値だけ」などと決めて出力して、要約します。



参考文献

CNNの参考文献は、 ディープラーニング のページにもあります。


Excelでわかる ディープラーニング超入門」 涌井良幸・涌井貞美 著 技術評論社 2018
誤差関数をExcelのシートに作り、xcelのソルバーを使って最小値を見つける事で、係数を決める方法を紹介しています。
この方法を重回帰分析、ニューラルネットワーク、CNNと複雑なモデルに使っています。


Pythonで動かして学ぶ!あたらしい機械学習の教科書 伊藤真 著 翔泳社 2018
Pythonを使った計算自体も、自分で作る人向けの教科書になっています。
CNNはKerasで実装する話があります。


データサイエンスと材料研究開発 日本金属学会シンポジウム予稿」 日本金属学会 編 2017
材料の画像は、第二相と母相の粒界が同じような色調だと、汎用的な画像処理では区別できないそうです。 そこで、画像フィルターを複数用意して、特徴が出て来るような前処理が必要でした。
CNNは、そのフィルターをコンピュータが自習してくれるので、人がフィルターを与えなくても済む方法として、 期待されています。


順路 次は 再帰型ニューラルネットワーク

データサイエンス教室