.. _chap_cnn: 畳み込みニューラルネットワーク ============================== 画像データは、モノクロであれカラーであれ、ピクセルの二次元グリッドとして表現される。したがって、各ピクセルはそれぞれ一つまたは複数の数値に対応する。これまで私たちは、この豊かな構造を無視し、ピクセル間の空間的な関係にかかわらず、画像を *平坦化* して数値ベクトルとして扱ってきた。この、深く不満の残る方法は、得られた一次元ベクトルを全結合 MLP に入力するために必要であった。 これらのネットワークは特徴の順序に対して不変であるため、ピクセルの空間構造に対応する順序を保つ場合でも、MLP のパラメータを学習させる前に設計行列の列を並べ替える場合でも、同様の結果が得られる。理想的には、近接するピクセル同士が通常は関連しているという事前知識を活用して、画像データから学習するための効率的なモデルを構築したいところである。 この章では、まさにこの目的のために設計された強力なニューラルネットワーク群である *畳み込みニューラルネットワーク*\ (CNN)を紹介する :cite:`LeCun.Jackel.Bottou.ea.1995`\ 。CNN ベースのアーキテクチャは、現在ではコンピュータビジョン分野の至るところで使われている。たとえば、Imagnet コレクション :cite:`Deng.Dong.Socher.ea.2009` では、畳み込みニューラルネットワーク、略して Convnet の使用だけが、顕著な性能向上をもたらした :cite:`Krizhevsky.Sutskever.Hinton.2012`\ 。 現代の CNN は、通称でそう呼ばれるように、生物学、群論、そして十分な量の実験的試行錯誤から着想を得て設計された。正確なモデルを少ないサンプルで達成できるというサンプル効率の高さに加えて、CNN は計算効率にも優れている。これは、全結合アーキテクチャよりも必要なパラメータ数が少ないこと、そして畳み込みが GPU コア全体にわたって並列化しやすいことの両方による :cite:`Chetlur.Woolley.Vandermersch.ea.2014`\ 。その結果、実務家は可能な限り CNN を適用することが多く、さらに近年では、音声 :cite:`Abdel-Hamid.Mohamed.Jiang.ea.2014`\ 、テキスト :cite:`Kalchbrenner.Grefenstette.Blunsom.2014`\ 、時系列解析 :cite:`LeCun.Bengio.ea.1995` のような、従来は再帰ニューラルネットワークが用いられてきた一次元の系列構造を持つタスクにおいても、有力な競争相手として台頭してきた。CNN を巧みに拡張することで、グラフ構造データ :cite:`Kipf.Welling.2016` や推薦システムにも適用されるようになっている。 まず、畳み込みニューラルネットワークの動機をより深く掘り下げる。続いて、すべての畳み込みネットワークの骨格を成す基本操作を順に見ていく。これには、畳み込み層そのもの、パディングとストライドを含む細かな詳細、隣接する空間領域にまたがる情報を集約するために用いられるプーリング層、各層での複数チャネルの使用、そして現代的なアーキテクチャの構造に関する丁寧な議論が含まれる。章の最後では、現代の深層学習が台頭するはるか以前に最初に成功裏に実用化された畳み込みネットワークである LeNet の完全な動作例を示す。次の章では、現代の実践者が一般的に用いる技法の大半を体現した、人気があり比較的新しいいくつかの CNN アーキテクチャについて、完全な実装を見ていく。 .. toctree:: :maxdepth: 2 why-conv conv-layer padding-and-strides channels pooling lenet