マインドマップギャラリー ニューラル ネットワークとディープラーニング 畳み込みニューラル ネットワーク
基本概念、畳み込み演算、基本構造、パラメータ学習方法、畳み込みニューラル ネットワークの構造例など、畳み込みニューラル ネットワークの主な内容がまとめられています。
2023-02-26 23:13:29 に編集されましたニューラルネットワークとディープラーニング 畳み込みニューラル ネットワーク
CNN の紹介
典型的な CNN 構造のプレビュー
基本的な特性
疎な接続
完全に接続されたネットワーク FC と比較すると、CNN はローカル接続です。つまり、前の層のニューロンの出力は、次の層のいくつかの隣接するニューロンの入力にのみ接続され、次の層のニューロンの入力にのみ接続されます。この層は、前の層の入力のみを受け取ります。いくつかの隣接するニューロンの出力を受け取ります。
パラメータの共有
受容野(視野)
現在の層のニューロンの入力は、前の層の近くのいくつかのニューロンの出力であり、感じられるのは、前の層の隣接するニューロンの出力です。この入力領域は、現在のニューロンの受容野と呼ばれます。
コンボリューションカーネル
受容野内の信号は、現在のニューロンの活性化を形成するために重み付けされます。隣接するニューロンは、(境界に関係なく) 異なるが等しい受容野を持ちます。
各ニューロンの活性化は、同じ重み係数セットを使用したそれぞれの感覚野の信号の重み付き合計によって生成されます。つまり、各ニューロンは同じ重み係数ベクトルを使用します。この共有重み係数セットは、畳み込みカーネルと呼ばれます。 。
おおよその翻訳不変性
入力信号の変換は、出力信号の変換と同じになります。
畳み込み演算自体の特性、線形時不変システムの基本特性
プーリング ユニットを適切に設計し、活性化関数を選択することにより、CNN は翻訳の不変性をほぼ維持できます。
例
画像内の犬を識別します。翻訳後も犬です。
畳み込み演算とその物理的意味
畳み込み演算
入力信号 x(t)
システムユニットのインパルス応答 h(t) (CNN コンボリューション カーネル)
出力信号 y(t)
畳み込みのプロパティ
互換性
翻訳の不変性
畳み込みの全長
N K-1
有効な畳み込み長さ
N-K1
物理的な意味
フィルター
ローパスフィルタ
信号のゆっくりと変化する低周波成分を抽出します。
h1[n]={1/2,1/2}
ハイパスフィルタ
信号の急速に変化する高周波成分を抽出
h2[n]={1/2,-1/2}
バンドパスフィルター
適度に変化した成分を抽出する
コンボリューションフィルター機能
さまざまな周波数成分を含む複雑な信号の場合、さまざまな畳み込みカーネルによって実装されたさまざまなフィルターにより、信号内のさまざまなスケールの成分を取得できます。
適応フィルタリング
ネットワーク出力層の出力と予想される応答の間の誤差は、出力層ネットワークのトレーニングに使用されます。
BP アルゴリズムは、出力層の誤差を前の各層に逆伝播し、逆伝播誤差を使用して各層の畳み込みカーネルを順番にトレーニングします。
基本的なCNNの構造
1次元の畳み込み
ニューロン活性化値
ニューロン出力
修正線形活性化関数 ReLU
z=最大{0,a}
畳み込みチャネル
入力とコンボリューションカーネル間のコンボリューション演算 アクティベーション関数の演算
完全に接続されたネットワークとの比較
共有パラメータが少ない
異なる性質の入力特徴を分割して征服する
2Dコンボリューション
式
イメージ理解
2 次元の畳み込み演算は、amn を計算する必要がある場合、h00 を Xmn に合わせてスライドさせ、j hij の積項 Xm を計算して加算することに相当します。
有効な畳み込み出力サイズは (D1-K1 1)×(D2-K2 1) です。
検出レベル
活性化関数、ニューロン出力の計算
マルチチャンネルコンボリューション
畳み込みチャネル/畳み込みプレーン
各コンボリューションカーネル h がコンボリューション演算を通じて生成した行列
例
入力
32×32画像、RGB三原色を表す3チャンネル
コンボリューションカーネル
6 つの 5×5 コンボリューション カーネル、各入力チャンネルに 2 つ
出力
6つの28×28コンボリューションチャンネルを生成
プーリング
最大プーリング
ウィンドウの最大値を取るプーリング、つまり小さなウィンドウ内の最大値をプーリング結果として選択します
平均プーリング
プーリング結果としてのウィンドウ内の平均
デシメーションプーリング
プーリング結果としてウィンドウ内の固定小数点値
ウィンドウのプロパティ
サイズ
M1×M2
プールストライド
S
等長ゼロパディング畳み込み
K は奇数です
入力の両端に (K-1)/2 のゼロを追加します。
K は偶数です
一方の側に K/2 のゼロを追加し、もう一方の側に (K/2)-1 のゼロを追加します。
CNNを構成する
畳み込み層の構成
畳み込み演算ステージ
検出レベル(ReLU関数)
プーリング (オプション)
典型的な CNN ネットワーク構造
畳み込みのいくつかの拡張構造
テンソル畳み込み
3Dデータ量
テンソル畳み込みカーネル
畳み込み平面
チャネル次元の畳み込み
チャネル次元のさまざまな特徴を抽出する
1×1コンボリューションカーネル
S ストライド コンボリューション
CNNパラメータ学習
CNN の BP アルゴリズムのアイデア
順伝播
畳み込み層の畳み込み計算
FC層全結合演算起動出力
プーリング層がプーリングを実行します
誤差逆伝播法
FC 層は、標準の BP バックプロパゲーション アルゴリズムに従って計算されます。
畳み込み層とプーリング層の逆伝播アルゴリズム
畳み込み層の逆伝播式
プーリング層の逆伝播式
2D展開
CNN事例紹介
LeNet-5ネットワーク
AlexNet ネットワークと VGGNet ネットワーク
活性化関数
ReLU 活性化関数は、tanh 活性化関数よりも 6 倍高速にトレーニングされます。
AlexNet の構造
VGGNet 構造
より深い層、より小さな畳み込みカーネル、および 1 つのプーリング層に対応する複数の畳み込み層を使用します。
トレーニング効果を高めるアイデア
CNN の深さを増やすことで、より良いトレーニング結果を得る
レイヤー数を直接増やすと悪影響が生じます
過剰適合しやすい
グラデーションが消える
勾配爆発
GoogLeNetwork
マクロ構築モジュール インセプション
4つの並列分岐
モジュールを分岐および結合して出力を生成する
各ブランチには 1×1 畳み込みが含まれます
目的は、パラメータと計算の複雑さを軽減するために分割統治することです。
構造
残留ネットワークと密なネットワーク
残留ネットワーク
ネットワークの劣化の問題
トレーニング セットの精度は飽和しているか、低下している場合もあります。
残留ネットワーク特性
最適化が簡単で、かなりの深さを追加することで精度を向上させることができます
残差ネットワーク内の残差ブロックはスキップ接続を使用します。これにより、ディープ ニューラル ネットワークの深さの増加によって引き起こされる勾配消失の問題が軽減されます。
残留ビルディングブロック
残留グリッド構造
高密度ネットワーク
高密度ネットワークの特性
フィードフォワード ネットワークの構造を維持し、入力層または現在の層からの出力を後続の各層の入力に接続します。
L 層ネットワークの場合、L(L-1)/2 接続が存在する可能性があります
緻密なネットワーク構造