September 2016
Intermediate to advanced
320 pages
4h 31m
Japanese
本章のテーマは、畳み込みニューラルネットワーク(convolutional neural network:CNN)です。CNNは、画像認識や音声認識など、至るところで使われています。また、画像認識のコンペティションでは、ディープラーニングによる手法のほとんどすべてがCNNをベースとしています。本章では、CNNのメカニズムについて詳しく説明し、その処理内容をPythonで実装していきます。
まずはCNNの大枠を理解するために、CNNのネットワーク構造から見ていくことにします。CNNも、これまで見てきたニューラルネットワークと同じで、レゴブロックのようにレイヤを組み合わせて作ることができます。ただしCNNの場合、新たに「Convolutionレイヤ(畳み込み層)」と「Poolingレイヤ(プーリング層)」が登場します。畳み込み層とプーリング層の詳細は次節以降で説明するとして、ここでは、どのようにレイヤを組み合わせてCNNが構築されるかを先に見ていきます。
さて、これまで見てきたニューラルネットワークは、隣接する層のすべてのニューロン間で結合がありました。これを全結合(fully-connected)と呼び、私たちは全結合層をAffineレイヤという名前で実装しました。このAffineレイヤを使えば、たとえば、5層の全結合のニューラルネットワークは、図7-1のような構成のネットワークで実現することができます。
図7-1 全結合層(Affineレイヤ)によるネットワークの例 ...
Read now
Unlock full access