【ゼロから作るDeap Learning】7.1~7.3

>100 Views

June 11, 26

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2026年度前期輪読会#8 (6/11) ゼロから作るDeep Learning 畳み込みニューラルネットワーク 京都大学 理学部 数理科学系 B4 千葉 一世 0

2.

アジェンダ ◼ CNNの概要 ◼ 畳み込み層 ◼ プーリング層 1

3.

アジェンダ ◼ CNNの概要 ◼ 畳み込み層 ◼ プーリング層 2

4.

CNN概要 CNN以前の画像認識 SIFT・HOG等の事前に人間が考えたハンドクラフト特徴量を用いており、 同じ対象でも姿勢などが変わると上手く認識できなかった。 フィルターによる画像処理 CNN以前から、画像処理の分野で3×3・5×5などのフィルターをずらしながら掛けていく 畳み込み演算による画像変換技術が使われていた。 エッジ抽出 ぼかし CNNでは、フィルターを学習パラメータとして画像を生かした特徴量抽出を行う。 https://www.momoyama-usagi.com/entry/info-img03#google_vignette&gsc.tab=0 3

5.

CNN概要 ⚫ CNN以前の全結合NN Affine Affine ReLU Affine ReLU Affine ReLU Affine Softmax ⚫ CNNによるNN Conv ReLU Pooling Conv ReLU Affine ReLU Affine Softmax • 全結合層の他に、畳み込み層(Convolution)・プーリング層(Pooling)が加わっている。 • 畳み込み層は画像特徴の抽出を担うため、入力付近で畳み込み層を用い、 出力付近では全結合層などの通常の分類の層を用いる。 4

6.

CNN概要 全結合層(Affine層) : 前の層の入力を全て受け取り、後の層の全てに出力する層 全結合層の問題点 • データの形状を活かせない 全結合層では画像などの2・3次元データを1次元化して処理するため、 ピクセル同士の空間的な距離という画像としての特徴を捉えられない。 畳み込み層ではフィルターによって局所的な部分に着目して計算するため、 3次元の空間的な性質を活かして、画像としての特徴を捉えやすい。 5

7.

アジェンダ ◼ CNNの概要 ◼ 畳み込み層 ◼ プーリング層 6

8.

畳み込み層 畳み込み演算 : 入力データに重みとなるフィルターをずらしながら適用する。 対応する要素を乗算し、総和を取ることから積和演算とも言う。 (数学での畳み込み演算とは少し異なる) * 入力 フィルター 出力 * * * * 7

9.

畳み込み層 パディング(Padding) : 入力データの周囲に0などの値を埋めて、データサイズを大きくする 定数で埋めるもの以外に、境界で反射させる・周期的 に反対側の値で埋めるなどパディングにも種類がある。 元データ 幅1のパディング 幅2のパディング パディングの目的 • 出力データのサイズ調整 畳み込み層では出力データが入力データより小さくなり、 畳み込みを繰り返せなくなってしまうため、パディングによって画像サイズを調整する。 • 入力データの端の情報を適切に捉える パディング無しだと入力データの中心と端で演算される 回数に差が出てしまう 3×3のフィルター での畳み込み演算 色が濃いほど回数が多い 8

10.

畳み込み層 ストライド : フィルターを適用する間隔 ストライド 1 𝑯 + 𝟐𝑷 − 𝑭𝑯 +𝟏 𝑺 𝑾 + 𝟐𝑷 − 𝑭𝑾 𝐎𝐖 = +𝟏 𝑺 𝑶𝑯 = ストライド 2 入力(H, W)、出力(OH, OW)、フィルター(FH, FW) パディング P 、ストライド S 1マス 2マス 1マス 出力データのサイズ計算 導出 (padding後全サイズ) = (フィルターサイズ+ストライド×ずらし回数) ∴ 𝐻 + 2𝑃 = 𝐹𝐻 + 𝑆 ∙ 𝑂𝐻 − 1 9

11.

畳み込み層 3次元の場合の畳み込み演算 フィルター 入力データ * チャンネル毎に畳み込み演算を行う 和を取り、チャンネルを一つにする ・フィルターは入力データのチャンネル数と同じ数だけ必要 ・出力データのチャンネル数は入力データに依らず1になる 出力データのチャンネル数を調整するために、フィルターを複数用いる フィルターの数が出力データのチャンネル数になる 10

12.

畳み込み層 畳み込み層 : 固定されたフィルターに対する畳み込み演算ではなく、フィルター自体を 学習パラメータとして扱い、全体に同じバイアス値を加算する。 + * 入力データ (入力特徴マップ) フィルター (カーネル) バイアス Affine層での重みに相当 出力データ (出力特徴マップ) • 3次元に対する畳み込み演算に対しても1チャンネルにした後に一つのバイアスを足す。 • 複数の出力チャンネルに対しては異なるバイアス値を用いる。 11

13.

畳み込み層 バッチ処理とデータ形状 • 入出力データは、(バッチサイズ, チャンネル数, 縦, 横)の4次元データとなる。 • バイアスの形状は、ブロードキャストによる計算のために(FN, 1,1)の3次元にしておく。 12

14.

アジェンダ ◼ CNNの概要 ◼ 畳み込み層 ◼ プーリング層 13

15.

プーリング層 プーリング(Pooling) : 入力データを縮小する層 MaxプーリングやAverageプーリングなどの種類があるが、画像認識の分野では 主にMaxプーリングが使われる。 ストライドはウィンドウのサイズと同じ値にし、重なりをなくす Maxプーリング : ウィンドウ内の最大値を取り出す Averageプーリング : ウィンドウ内の平均値を取り出す 3×3のMaxプーリング ストライド 3 プーリング層の特徴 • 学習パラメータが無い • チャンネル数が変化しない チャンネル毎に独立して行う • 入力の位置変化に対してロバスト(頑健) ウィンドウ内の最大値を取るため、 少しのずれで出力が変化しにくい 最近では、プーリングではなく畳み込み層でダウンサンプリングを行う事も多い 14