講演資料


講義資料スライドの表紙

講義資料スライドの表紙です。スライド画像、または下の要約文中の青いページ番号リンクをクリックすると、別のタブで無駄なノイズのない、純粋なPDFビューア画面が起動し、指定されたページへ直接ジャンプして快適に閲覧できます。

全体概要

本セミナーは、2016年5月13日に丸山不二夫氏が主宰するMaruLabo(マルレク)にて実施された「Convolutional Neural Network(CNN)入門講座」の講義資料です。Deep Learningの中核技術であり、画像認識を中心に目覚ましい成果を上げているCNNとはそもそも何者であるのか、という問いに正面から向き合い、できる限り多くの技術者がその本質を理解できるよう構成されています [p.5]

本講義が提起する中心的なテーマは、「なぜFull Connectなニューラル・ネットワークでは不十分なのか、そしてCNNはその問題をいかにして解決したのか」という問いです。CNN以前のニューラル・ネットワークは、隣り合うすべての層が完全二部グラフで結合されているため、パラメーター数が入力サイズに比例して爆発的に増加するという構造的欠陥を抱えていました [p.45], [p.46]。加えて、Full Connectな構造では入力層のノードが「順序を持たない集合」として扱われるため、画像データが本来持つ空間的・局所的な構造情報を正確に反映できないという根本的な問題もありました [p.26], [p.31]

CNNはこれらの問題に対し、「局所的受容野」「パラメーターの共有(重みの共有)」「Pooling層による解像度の縮小」という三つのアーキテクチャー上のアイデアを組み合わせることで応答しました [p.58], [p.91]。入力データを幅×高さ×深さ(RGB)の三次元ボリュームとして扱い、層を経るごとに三次元ボリュームを別の三次元ボリュームへと変換する「画像認識専用ニューラルネット」として自らを位置づけています [p.75], [p.76]

技術史的な観点では、CNNのアーキテクチャーはHubelとWieselによる1960〜70年代の大脳視覚野研究、特に単純型細胞の「局所的受容野」の発見に直接インスパイアされており [p.70], [p.74]、1990年代のLeCunらの研究から連続する進化の延長線上にあります [p.223], [p.224]。それでもなお、ImageNetコンテスト2012年での圧倒的な勝利まで、CNNはコンピュータービジョンの主流コミュニティからほとんど無視されていたという歴史的事実は、技術普及の本質を考えさせる重要な示唆を含んでいます [p.3], [p.227]

本資料は前半の理論解説と後半の計算体験・可視化・応用紹介から構成されており、巻末にはLeCun & Bengio(1995年)[p.195]、Hinton, LeCun, Bengio(2015年)[p.213]、Karpathy et al.(2016年)[p.231] という三本の基本文献の日本語抄訳が収録されています。


講義のロードマップ


■ Part 1: CNN以前のニューラル・ネットワーク — Full Connectの本質と限界

  • この部の核心:

CNN登場以前の通常のニューラル・ネットワーク(Full Connect)の仕組みを丁寧に振り返り、その構造的な本質を明らかにします。特に、入力層のノードの並びが「順序を持つ配列」ではなく「構造を持たない集合」として扱われているという見落とされがちな事実を詳細に論証し、これが画像認識における根本的な限界の源泉であることを示します [p.26], [p.30], [p.31]

  • 論理展開:
  • 一個のニューロンは入力ベクトルとの内積+バイアスで発火を決定し、入力の「並び順」自体に本質的な意味はない [p.13], [p.15]
  • Full Connectの層間グラフは「完全二部グラフ」であり、各層内ノード同士の接続はなく、パラメーター数は隣接層のノード数の積に比例して増大する [p.20], [p.25]
  • 入力層は一次元・二次元どの配列として表現してもネットワークの挙動は変わらない。これは入力が「順序を忘れた集合」として扱われていることの証左である [p.33], [p.34], [p.36], [p.37]
  • ゆえに、カラー画像をRGB順で与えようとGRB順で与えようと結果に差異は生じない [p.38]


■ Part 2: CNN以前のネットワークの二つの問題

  • この部の核心:

Full Connectなネットワークが画像認識において抱える二つの根本的な問題を具体的なデータとともに明示します。第一はパラメーター数の爆発、第二は画像データの局所的・空間的構造を正しく捉えられないという問題です。これらが、CNNというアーキテクチャーの必然性を動機づけます [p.44]

  • 論理展開:
  • MNIST(784次元)からImageNet(196,608次元)、フルHD(約200万次元)まで、実際の画像フォーマットに照らすとFull Connectのパラメーター数がいかに巨大になるかを表で示している [p.46]
  • 画像データでは画素の位置情報と近傍ピクセル間の局所的相関が本質的意味を持つが、Full Connectはこれを無視する [p.51]
  • 微細な位置ずれ・画像の乱れへの頑健性と、局所的なパターン検出の正確さという、相反する要求を同時に満たす必要がある [p.51], [p.52]
  • RGBの三チャンネル間に強い相関があることも、構造化されていないFull Connectでは活かされない [p.53]


■ Part 3: CNNのアーキテクチャー — 三つの革新的アイデア

  • この部の核心:

Full Connectの問題を克服するためにCNNが採用した、三つの本質的なアーキテクチャー上のアイデアを解説します。「局所的受容野」「パラメーターの共有」「Poolingによる解像度縮小」の組み合わせが、どのようにパラメーター爆発を抑制し、かつ画像の空間的構造を尊重するかを、具体的な数値比較を交えて論証します [p.58], [p.65], [p.67]

  • 論理展開:
  • 局所的受容野:各ニューロンが入力層の隣接する限られた範囲のノードからのみ入力を受け取る。6入力×6ニューロン=42パラメーターが、3入力×局所接続で4パラメーターにまで激減する [p.59], [p.65], [p.67]
  • パラメーターの共有:同一フィルター内のすべてのニューロンが同じ重みW・バイアスbを共有し、「同じ特徴検出器が画像全体をスキャンする」という解釈が成立する [p.65], [p.68]
  • 複数フィルターの追加:異なる重みパラメーターを持つフィルターを複数追加しても、パラメーター数は小さな倍数に留まる [p.66]
  • Pooling層:Activation Mapに独立に作用してx-y方向を縮小し、微細なシフトや欠損を捨象する。パラメーターを一切持たない [p.91], [p.92]


■ Part 4: CNNの三次元ボリューム描像 — 全体構造の把握

  • この部の核心:

CNNの各層は「幅×高さ×深さ」の三次元ボリュームを受け取り、別の三次元ボリュームへと変換するという全体像を確立します。LeNetやAlexNetの図に登場する直方体・四角錐が何を表しているかを解読し、フィルターの「深さ」がどのように入力の「深さ」と対応し、出力の「深さ」がフィルター枚数と一致するかという重要な関係を整理します [p.75], [p.77], [p.78], [p.147]

  • 論理展開:
  • 入力カラー画像は幅×高さ×3(RGB)の三次元ボリュームであり、フィルターも常に入力と同じ深さを持つ [p.82], [p.83]
  • 5×5×3のフィルターが画像上をスライドすることで、一枚の二次元Activation Mapが生成される [p.85]
  • 6個のフィルターを適用すれば28×28×6の新たなボリュームが形成される。出力の深さ=フィルター枚数 [p.87]
  • LeNetは32×32×1→28×28×6→14×14×6→…、AlexNetは224×224×3→55×55×96→…という変換を経る [p.149], [p.150]


■ Part 5: Convolutionの計算を体験する — 具体的な数値演習

  • この部の核心:

スタンフォード大学CS231nの教材データを用いて、Convolutionの計算を実際の数値で一ステップずつ体験します。抽象的な説明にとどまりがちなConvolutionの演算が、「対応する要素同士の積和+バイアス」という具体的な計算として成立していることを、詳細な数値展開を通じて体感的に理解させることがこの部の目的です [p.93], [p.94]

  • 論理展開:
  • 入力データはRGB三層の5×5×3構造、フィルターも3×3×3サイズで二種類使用される [p.97], [p.98]
  • 入力の各層とフィルターの各層を一対一に対応させ、層ごとに要素の積和を計算し、全層の結果とバイアスを加算して一点の値(例:−2)を得る [p.119], [p.120], [p.121], [p.122], [p.123]
  • フィルターをスライドしながら同じ計算を繰り返すことでActivation Map全体が形成される(例:3、4、…と順次算出)[p.126], [p.127]
  • 二種類のフィルターがそれぞれ独立したActivation Mapを生成し、深さ方向に積み重ねて出力ボリュームとなる [p.138], [p.146], [p.147]


■ Part 6: Convolutionの働きを見る — 可視化と直感的理解

  • この部の核心:

Convolutionという演算が「何をしているのか」を直感的に把握するため、GIMPの画像処理フィルターとの対比、学習済みフィルターの可視化、そしてCNN各層が検出する特徴の階層性という三段構えで解説します。CNNの低位フィルターは単純なパターンに、高位フィルターは「眼」「花」「車輪」「文字」といった意味的な概念に反応するという驚くべき事実がここで示されます [p.155], [p.172], [p.173]

  • 論理展開:
  • GIMPのConvolutionフィルターはエッジ検出・シャープ化・ブラーなどの効果をもたらすが、CNNのフィルターは訓練によって自律的に学習される点が本質的に異なる [p.155], [p.161]
  • AlexNetの第一段フィルター(96個)は白黒の方向パターンや色付きパターンとして可視化できるが、第二段以降(5×5×256など)は画像として「見る」ことができない [p.164], [p.165], [p.166]
  • Zeiler & Fergus(2013)らのCNN可視化研究では、各フィルターが最も強く反応する画像を選出することで、下位フィルターが「丸」「波」「グラデーション」、上位フィルターが「眼」「花」「車輪」「文字」に対応することが示された [p.170], [p.172], [p.173]
  • Hinton・LeCun・Bengioの論文では、ConvNetのコンボリューション層とプーリング層が大脳視覚野のシンプル細胞・コンプレックス細胞に直接インスパイアされていることが明示されている [p.74]


■ Part 7: CNNの応用 — コンピュータービジョンの諸課題

  • この部の核心:

CNNが実際にどのような問題領域に適用されているかを概観します。画像分類・位置推定・オブジェクト検出・インスタンス切り出しという四段階のコンピュータービジョン課題の整理から始まり、顔認識・動画認識・医療画像解析・交通標識認識・手書き漢字認識・関節動作認識・強化学習ゲームプレイまで、CNNの応用領域の広さを示します [p.178], [p.183], [p.184], [p.185]

  • 論理展開:
  • コンピュータービジョンの課題は「カテゴリー分類」「カテゴリー分類+位置決め」「オブジェクト検出」「インスタンス切り出し」の四段階に整理される(単一・複数オブジェクト別)[p.178]
  • 顔認識・ビデオ動画認識・数字認識、関節動作認識・TVゲーム学習 [p.183], [p.184]
  • ガン検知・手書き漢字認識・交通標識認識・電子顕微鏡写真の解析 [p.185], [p.186]


■ Part 8: 参考文献 日本語抄訳 — CNNの理論的基盤

  • この部の核心:

本講義の理論的支柱となる三本の重要文献の日本語抄訳が収録されています。1995年のLeCun & Bengioの論文、2015年のHinton・LeCun・Bengioによる"Deep Learning"、そしてStanford CS231nの教材テキストです。CNNの誕生から現在に至る技術的蓄積を一次資料レベルで追体験できる構成になっています [p.194], [p.195], [p.213], [p.231]

  • 論理展開:
  • LeCun & Bengio(1995):Full Connectの二大欠陥(パラメーター爆発・位置不変性の欠如)を論じ、局所的受容野・重みの共有・サブサンプリングの三原理でCNNを定義。重みの共有によって100,000接続が2,600自由パラメーターに削減された実績を報告 [p.196], [p.202], [p.211]
  • Hinton・LeCun・Bengio(2015):ConvNetが視覚神経科学のシンプル/コンプレックス細胞に直接インスパイアされていることを確認し、2012年ImageNetでの「最高競争相手の約半分のエラー率」という歴史的成果を解説 [p.222], [p.227], [p.228]
  • CS231n(2016):入力を三次元ボリュームとして扱うCNNのアーキテクチャーをCONV・RELU・POOL・FCという層の組み合わせで形式化し、CIFAR-10を例に全体の計算フローを整理 [p.234], [p.240], [p.241], [p.242]