今日は、ディープラーニングにおける畳み込みニューラル ネットワークのいくつかの原理と、いくつかの古典的なネットワーク構造について説明します。 畳み込みニューラルネットワークの原理の簡単な分析 畳み込みニューラル ネットワーク (CNN) は、もともと画像認識などの問題を解決するために設計されました。もちろん、現在の用途は画像や動画に限定されず、音声信号やテキスト データなどの時系列信号にも使用できます。初期の画像認識研究における最大の課題は、画像データを他の種類のデータのように手動で理解して特徴を抽出することができないため、特徴をどのように整理するかでした。 株価予測などのモデルでは、過去の取引価格の変動、株価収益率、株価純資産倍率、利益成長率などの財務要因を元のデータから抽出することができます。これが特徴エンジニアリングです。しかし、画像においては、人間の理解に基づいた効果的で豊富な特徴を抽出することは困難です。ディープラーニングが登場する前は、SIFTやHoGなどのアルゴリズムを使用して識別特性の優れた特徴を抽出し、その後SVMなどの機械学習アルゴリズムを組み合わせて画像認識を行う必要がありました。 SIFT は、ある程度以内であれば、拡大縮小、平行移動、回転、視点の変更、明るさの調整などの歪みに対して不変であり、当時最も重要な画像特徴抽出方法の 1 つでした。しかし、SIFTなどのアルゴリズムで抽出される特徴にはまだ限界があり、ImageNet ILSVRCコンペティションにおける最良結果のエラー率は26%を超えており、長年にわたり突破口を開くことは困難でした。 畳み込みニューラル ネットワークによって抽出された特徴は、より良い結果を達成できます。同時に、特徴抽出と分類トレーニングの 2 つのプロセスを分離する必要はなく、トレーニング中に最も効果的な特徴を自動的に抽出します。ディープラーニング アーキテクチャとしての CNN の本来の魅力は、画像データの前処理の要件を減らし、複雑な特徴エンジニアリングを回避することでした。 CNN は、最初に SIFT などのアルゴリズムを使用して特徴を抽出する必要がなく、画像の元のピクセルを直接入力として使用できるため、SVM などの従来のアルゴリズムを使用するときに実行する必要がある大量の反復的で面倒なデータ前処理作業が削減されます。 SIFT などのアルゴリズムと同様に、CNN によってトレーニングされたモデルも、スケーリング、変換、回転などの歪みに対して不変であり、強力な一般化機能を備えています。 CNN の最大の特徴は畳み込み重み共有構造であり、これによりニューラル ネットワーク パラメータの数を大幅に削減し、過剰適合を防ぎ、ニューラル ネットワーク モデルの複雑さを軽減できます。 畳み込みニューラル ネットワークの概念は、1860 年代に科学者によって提唱された受容野 (Receptive Field37) から生まれました。当時、科学者たちは猫の視覚皮質細胞の研究を通じて、各視覚ニューロンは受容野という狭い領域内の視覚画像のみを処理することを発見しました。 1980年代に日本の科学者はニューロコグニトロン(ネオコグニトロン38)の概念を提唱しました。これは畳み込みネットワークの最初の実装プロトタイプと見なすことができます。 ニューラル コグニティブ マシンには、特徴抽出用の S セルと変形防止用の C セルの 2 種類のニューロンが含まれています。S セルは、現在主流となっている畳み込みニューラル ネットワークの畳み込みカーネル フィルタリング操作に対応し、C セルは、活性化関数、最大プーリング (Max-Pooling)、およびその他の操作に対応します。同時に、CNN は多層トレーニングを成功させた最初のネットワーク構造でもあり、前章で述べた LeCun の LeNet5 がその代表例です。しかし、初期の全結合ネットワークでは、パラメータが多すぎる、勾配拡散などの問題があり、多層トレーニングをスムーズに行うことが困難でした。 畳み込みニューラル ネットワークは、空間構造関係を使用して学習する必要のあるパラメーターの数を削減し、バックプロパゲーション アルゴリズムのトレーニング効率を向上させることができます。畳み込みニューラル ネットワークでは、最初の畳み込み層が画像のピクセル レベルの入力を直接受け取ります。各畳み込み操作では画像の小さな部分のみが処理され、畳み込みが変更された後、後続のネットワークに渡されます。畳み込みの各層 (フィルターとも呼ばれます) は、データから最も効果的な特徴を抽出します。この方法は、さまざまな方向のエッジやコーナーなど、画像の最も基本的な特徴を抽出し、それらを組み合わせて抽象化して高次の特徴を形成できます。そのため、CNN はさまざまな状況に対応でき、理論的には画像の拡大縮小、移動、回転に対して不変です。 一般的な畳み込みニューラル ネットワークは複数の畳み込み層で構成されており、各畳み込み層では通常、以下の操作が実行されます。
畳み込み層には複数の異なる畳み込みカーネルが存在する可能性があり、各畳み込みカーネルはフィルタリング後にマッピングされた新しい画像に対応します。同じ新しい画像内のすべてのピクセルは、まったく同じ畳み込みカーネルから取得されます。これが畳み込みカーネルの重み共有です。では、なぜ畳み込みカーネルの重みパラメータを共有するのでしょうか? 答えは簡単です。モデルの複雑さを軽減し、過剰適合を軽減し、計算量を削減するためです。 たとえば、図 5-2 に示すように、画像サイズが 1000 ピクセル × 1000 ピクセルで、白黒画像、つまりカラー チャネルが 1 つしかない場合、画像には 100 万ピクセルがあり、入力データの次元も 100 万になります。次に、同じサイズ(100 万個の隠しノード)の隠し層を接続すると、100 万 x 100 万 = 1 兆個の接続が実現します。 完全に接続された 1 つのレイヤーだけでも、トレーニングする接続重みは 1 兆個あり、これは通常のハードウェアの計算能力を超えています。トレーニングする必要のある重みの数を減らす必要があります。まず、計算の複雑さが軽減されます。次に、接続が多すぎると深刻なオーバーフィッティングにつながります。接続の数を減らすと、モデルの一般化が向上します。 画像は空間的に構成されています。各ピクセルは実際には空間内の周囲のピクセルと密接に接続されていますが、遠すぎるピクセルとはまったく接続されていない場合があります。これは、先ほど述べた人間の視覚受容野の概念です。各受容野は、狭い領域からの信号のみを受信します。この小さな領域のピクセルは相互に関連しています。各ニューロンはすべてのピクセルから情報を受け取る必要はありません。入力としてローカル ピクセルを受け取るだけで、すべてのニューロンが受け取ったローカル情報を統合してグローバル情報を取得します。 このようにして、以前の完全接続モードをローカル接続に変更できます。以前は、隠し層の各隠しノードがすべてのピクセルに接続されていました。現在は、各隠しノードをローカル ピクセル ノードに接続するだけで済みます。局所受容野のサイズが 10×10 であると仮定すると、つまり、各隠しノードが 10×10 ピクセルにのみ接続されていると仮定すると、必要な接続は 10×10×100 万 = 1 億のみとなり、これは以前の 1 兆の 10,000 分の 1 になります。 簡単に言うと、フル接続は上の図の左側の部分であり、ローカル接続は上の図の右側の部分です。ローカル接続により、ニューラル ネットワーク パラメータの数を 100M*100M = 1 兆から 10*10*1 百万 = 1 億に大幅に削減できます。 上記では、Locally Connect メソッドを使用して接続数を 1 兆から 1 億に削減しましたが、それでもまだ多すぎるため、パラメータ数をさらに削減する必要があります。現在、隠し層の各ノードは 10×10 ピクセルに接続されており、各隠しノードには 100 個のパラメーターがあることを意味します。ローカル接続方法が畳み込み演算であると仮定すると、つまり、各隠しノードのパラメータがデフォルトでまったく同じである場合、パラメータは 1 億ではなく 100 になります。画像がどんなに大きくても、パラメータは 10×10 = 100 個あり、これが畳み込みカーネルのサイズです。これが、パラメータの数を減らすことに対する畳み込みの貢献です。 簡単に言えば、畳み込みではまったく同じテンプレート (同じパラメータ) を使用してローカル接続を実行するため、パラメータの数は大幅に減少し続ける可能性があります。 隠しノードがいくつあるか、画像がどれくらい大きいかを気にする必要はなくなりました。パラメータの数は畳み込みカーネルのサイズ、いわゆる重み共有によってのみ決まります。しかし、畳み込みカーネルが 1 つしかない場合、畳み込みカーネルのフィルタリング結果も 1 つしか抽出できません。つまり、画像の特徴も 1 つしか抽出できず、これは期待した結果にはなりません。幸いなことに、画像には基本的な特徴がほとんどないため、畳み込みカーネルの数を増やすことで、より多くの特徴を抽出できます。 画像の基本的な特徴は、点とエッジに他なりません。画像がどんなに複雑であっても、点とエッジで構成されています。人間の目が物体を認識する方法も、点とエッジから始まります。視覚ニューロンが光信号を受け取った後、各ニューロンは1つの領域からの信号のみを受信し、点とエッジの特徴を抽出します。点とエッジの信号は次の層のニューロンに渡され、三角形、四角形、直線、角などの高次特徴に結合され、さらに抽象化と結合が続けられ、目、鼻、口などの顔の特徴が得られます。最後に、顔の特徴が顔に結合され、マッチングと認識が完了します。 したがって、私たちの問題は簡単に解決できます。さまざまな方向のエッジやさまざまな形状のポイントを抽出するのに十分な畳み込みカーネルを提供する限り、畳み込み層は効果的で豊富な高次特徴を抽象化できます。畳み込みカーネル フィルタリングによって取得された各画像は、ある種類の特徴のマッピング、つまり特徴マップです。一般的に言えば、最初の畳み込み層には 100 個の畳み込みカーネルで十分です。 この場合、上図に示すように、パラメータ量は 100×100 = 10,000 となり、前の 1 億の 10,000 分の 1 になります。したがって、畳み込みを利用することで、ローカルに接続されたニューラル ネットワークを効率的にトレーニングできます。畳み込みの利点は、画像のサイズに関係なく、トレーニングに必要な重みの数は畳み込みカーネルのサイズと数にのみ関係することです。非常に少ないパラメータを使用して、あらゆるサイズの画像を処理できます。各畳み込み層によって抽出された特徴は抽象化され、次の層で高次特徴に結合されます。 もう一度まとめると、畳み込みニューラルネットワークのポイントは、ローカル接続、重み共有、プーリング層でのダウンサンプリングです。 その中で、ローカル接続と重み共有はパラメータの数を減らし、トレーニングの複雑さを大幅に軽減し、過剰適合を軽減します。同時に、重み共有により畳み込みネットワークに平行移動に対する許容度が与えられ、プーリング層のダウンサンプリングにより出力パラメータの量がさらに削減され、モデルにわずかな変形に対する許容度が与えられ、それによってモデルの一般化能力が向上します。 従来の機械学習アルゴリズムと比較すると、畳み込みニューラルネットワークは手動での特徴抽出やSIFTなどの特徴抽出アルゴリズムの使用を必要としません。トレーニング中に自動的に特徴を抽出して抽象化し、同時にパターン分類を実行できるため、画像認識アプリケーションの難易度が大幅に軽減されます。一般的なニューラルネットワークと比較すると、CNNは構造上、画像の空間構造に近く、どちらも2D接続構造であり、CNNの畳み込み接続方法は人間の視覚神経が光信号を処理する方法に似ています。 以下は、古典的な畳み込みネットワーク LeNet5 の紹介です。 有名な LeNet5 は 1994 年に誕生しました。これは最も初期の深層畳み込みニューラル ネットワークの 1 つであり、ディープラーニングの発展を促進しました。 1988 年に始まり、数回の成功した反復を経て、Yann LeCun によるこの先駆的な研究は LeNet5 と名付けられました。 LeCun 氏は、トレーニング可能なパラメータを持つ畳み込み層は、少数のパラメータで画像内の複数の場所で類似した特徴を抽出する効果的な方法であり、各ピクセルを多層ニューラル ネットワークへの入力として直接使用することとは異なると考えています。画像には強い空間相関関係があるため、入力レイヤーではピクセルを使用しないでください。画像内の個々のピクセルを直接入力として使用すると、これらの相関関係を活用できなくなります。 当時のLeNet5の特徴は以下の通りでした。
LeNet5 の多くの機能は、最先端の畳み込みニューラル ネットワークで今も使用されています。LeNet5 は現代の畳み込みニューラル ネットワークの基礎であると言えます。 Lenet-5の構造を下図に示します。 入力画像は 32×32 のグレースケール画像で、その後に 3 つの畳み込み層、1 つの完全接続層、および 1 つのガウス接続層が続きます。 次に、他のいくつかの古典的な畳み込みネットワーク構造、AlexNet、VGGNet、Google Inception Net、ResNet を紹介します。これら 4 つのネットワークは出現順に並べられており、深さと複雑さも順番に増加します。 彼らは、ILSVRC (ImageNet Large Scale Visual Recognition Challenge) 競争分類プロジェクトで 2012 年の優勝 (AlexNet、トップ 5 エラー率 16.4%、追加データありで 15.3%、8 層ニューラル ネットワーク)、2014 年の準優勝 (VGGNet、トップ 5 エラー率 7.3%、19 層ニューラル ネットワーク)、2014 年の優勝 (InceptionNet、トップ 5 エラー率 6.7%、22 層ニューラル ネットワーク)、および 2015 年の優勝 (ResNet、トップ 5 エラー率 3.57%、152 層ニューラル ネットワーク) を獲得しました。 図に示すように、ILSVRC のトップ 5 エラー率は近年大きな進歩を遂げており、主な進歩はディープラーニングと畳み込みニューラル ネットワークにあります。パフォーマンスの大幅な向上は、ほとんどの場合、畳み込みニューラル ネットワークの層数の深化を伴います。
前述のコンピューター ビジョン コンペティション ILSVRC で使用されたデータはすべて、上図に示すように ImageNet から取得されています。 ImageNet プロジェクトは、スタンフォード大学の中国人教授である Fei-Fei Li 氏によって 2007 年に設立されました。その目的は、コンピューター ビジョン モデルのトレーニング用に、ラベル付けされた情報を持つ大量の画像データを収集することです。 ImageNet には、合計 22,000 のカテゴリを持つ 1,500 万枚の注釈付き高解像度画像があり、そのうち約 100 万枚には画像内の主なオブジェクトの位置境界ボックスが注釈付けされています。 毎年開催される ILSVRC コンテスト データセットには、約 120 万枚の画像と 1,000 種類の注釈が含まれており、これは ImageNet データ全体のサブセットです。コンテストでは通常、モデルのパフォーマンスの評価指標として、上位 5 位と上位 1 位の分類エラー率が使用されます。上の図は、AlexNet が ILSVRC データセット内の画像を識別している様子を示しています。各画像の下には、上位 5 位の分類予測スコアとそのスコアが表示されています。 AlexNetの技術的特徴の概要 AlexNet は、現代のディープ CNN の基礎となる作品です。 2012 年、ヒントンの学生アレックス・クリジェフスキーは、LeNet のより深く広いバージョンとみなすことができる深層畳み込みニューラル ネットワーク モデル AlexNet を提案しました。 AlexNet には比較的新しいテクノロジーがいくつか含まれており、ReLU、Dropout、LRN などのトリックが CNN に初めて適用されました。同時に、AlexNet はコンピューティングの高速化に GPU も使用しており、著者らは GPU 上で畳み込みニューラル ネットワークをトレーニングするための CUDA コードをオープンソース化しています。 AlexNet には、6 億 3000 万の接続、6000 万のパラメータ、65 万のニューロンが含まれています。5 つの畳み込み層があり、そのうち 3 つの層に最大プーリング層が続き、最後に 3 つの完全接続層があります。 AlexNet は、競争の激しい ILSVRC 2012 コンテストで、トップ 5 のエラー率が 16.4% に減少し、2 位の結果である 26.2% から大幅に改善して、大きな差をつけて優勝しました。 AlexNet は、ニューラル ネットワークの谷間期を抜けた最初の声であると言えます。これにより、コンピューター ビジョンにおけるディープラーニング (深層畳み込みネットワーク) の優位性が確立され、音声認識、自然言語処理、強化学習などの分野でのディープラーニングの拡大も促進されました。 AlexNet は LeNet のアイデアを発展させ、CNN の基本原理を非常に深く幅広いネットワークに適用しました。 AlexNet で使用される主な新技術は次のとおりです。
AlexNet 全体には、トレーニング パラメータを必要とする 8 つのレイヤーがあります (プーリング レイヤーと LRN レイヤーを除く)。上の図に示すように、最初の 5 つのレイヤーは畳み込みレイヤーで、最後の 3 つのレイヤーは完全接続レイヤーです。 AlexNet の最後のレイヤーは、分類用の 1000 クラス出力を持つ Softmax レイヤーです。 LRN 層は最初と 2 番目の畳み込み層の後に現れ、最大プーリング層は 2 つの LRN 層と最後の畳み込み層の後に現れます。 AlexNet の各層のハイパーパラメータ、パラメータ量、計算複雑度は上図に示されています。 興味深い現象が見つかりました。最初の数層の畳み込み層では、計算量は多いものの、パラメータ数は非常に少なく、すべて 100 万程度かそれ以下で、AlexNet のパラメータ総数のごく一部を占めるだけです。畳み込み層は、より少ないパラメータで効果的な特徴を抽出できるため、ここで役立ちます。 各畳み込み層はネットワーク全体のパラメータの 1% 未満を占めますが、いずれかの畳み込み層を削除すると、ネットワークの分類パフォーマンスが大幅に低下します。 VGGNet の技術的特徴の概要 VGGNet は、オックスフォード大学の Visual Geometry Group と Google DeepMind の研究者によって開発された深層畳み込みニューラル ネットワークです。 VGGNet は、畳み込みニューラル ネットワークの深さとパフォーマンスの関係を調査しました。VGGNet は、小さな 3*3 畳み込みカーネルと 2*2 最大プーリング層を繰り返し積み重ねることで、16 ~ 19 層の深さを持つ畳み込みニューラル ネットワークを構築することに成功しました。 VGGNet は、従来の最先端のネットワーク構造と比較してエラー率が大幅に低く、ILSVRC 2014 コンテストで分類プロジェクトで 2 位、測位プロジェクトで 1 位を獲得しました。 VGGNet の論文では、3*3 畳み込みカーネルと 2*2 プーリング カーネルを使用して、ネットワーク構造を継続的に深化させることでパフォーマンスを向上させています。下図はVGGNetの各層のネットワーク構造と各層のパラメータ量を示しています。11層ネットワークから19層ネットワークまで詳細な性能テストが行われています。 ネットワークの各レベルは A から E へと深くなりますが、パラメータの数は主に最後の 3 つの完全に接続された層で消費されるため、ネットワーク パラメータの数はあまり増加しません。前の畳み込み部分は非常に深いですが、大量のパラメータを消費することはありません。ただし、トレーニングのより時間のかかる部分は、依然として畳み込みであり、これは多くの計算を必要とするためです。 VGGNet には 5 つの畳み込み層があり、各層には 2 ~ 3 つの畳み込み層があります。同時に、各層の最後に最大プーリング層が接続され、画像サイズが縮小されます。各セグメントの畳み込みカーネルの数は同じで、後のセグメントの畳み込みカーネルの数は 64 – 128 – 256 – 512 – 512 と大きくなります。複数の同一の 3*3 畳み込み層が積み重ねられているのをよく見かけますが、これは実際には非常に便利な設計です。 上図に示すように、直列に接続された 2 つの 3*3 畳み込み層は 1 つの 5*5 畳み込み層に相当します。つまり、1 つのピクセルは周囲の 5*5 ピクセルと関連付けられ、受容野のサイズは 5*5 であると言えます。 3 つの 3*3 畳み込み層を直列に接続した場合の効果は、1 つの 7*7 畳み込み層の効果と同等です。さらに、3 つのカスケード接続された 3*3 畳み込み層のパラメーターは、1 つの 7*7 畳み込み層よりも少なく、後者の 55% のみです。 最も重要なのは、3 つの 3*3 畳み込み層は 1 つの 7*7 畳み込み層よりも非線形変換が多く (前者は ReLU 活性化関数を 3 回使用できますが、後者は 1 回しか使用できません)、CNN がより優れた特徴学習能力を発揮できることです。 著者は、さまざまなレベルのネットワークを比較する際に、次の点をまとめています。
InceptionNet の技術的特徴の概要 Google Inception Net は、ILSVRC 2014 コンテスト (VGGNet と同じ年) に初めて登場し、大きな差をつけて 1 位を獲得しました。このコンテストのInception Netは、通常Inception V1と呼ばれています。その最大の特徴は、計算量とパラメータを制御しながら、非常に優れた分類性能を実現していることです。トップ5のエラー率は6.67%で、AlexNetの半分以下です。 Inception V1 は 22 層の深さがあり、これは AlexNet の 8 層や VGGNet の 19 層よりも深いです。しかし、その計算能力はわずか15億回の浮動小数点演算に過ぎず、パラメータ数も500万とAlexNet(6000万)の1/12に過ぎません。しかし、AlexNetをはるかに上回る精度を実現しており、非常に優秀で実用的なモデルと言えます。 Inception V1 では、次の 2 つの理由からパラメータの数を削減しています。1 つ目は、パラメータの数が増えるとモデルが大きくなり、モデルの学習に必要なデータが増えること、そして高品質のデータは現在非常に高価であること、2 つ目は、パラメータの数が増えるとコンピューティング リソースの消費が増えることです。 より深いモデル層とより強力な表現力に加えて、Inception V1 がパラメータが少なくても効果が高い理由は他に 2 つあります。まず、最後の完全接続層が削除され、グローバル平均プーリング層に置き換えられます (つまり、画像サイズが 1*1 に変更されます)。完全接続層は AlexNet または VGGNet のパラメータのほぼ 90% を占め、オーバーフィッティングを引き起こす可能性があります。完全接続層を削除すると、モデルのトレーニングが高速化され、オーバーフィッティングが軽減されます。 2 番目に、Inception V1 で慎重に設計された Inception モジュールは、パラメータの利用効率を向上させます。その構造を図 10 に示します。この部分も、ネットワーク イン ネットワークの考え方を取り入れています。比喩的に説明すると、インセプション モジュール自体は大きなネットワーク内の小さなネットワークのようなもので、その構造を繰り返し積み重ねることで大きなネットワークを形成できます。 4 つのブランチを持つ Inception モジュールの基本構造を見てみましょう。最初のブランチは入力に対して 1*1 畳み込みを実行します。これは実際に NIN で提案された重要な構造です。 1*1 畳み込みは非常に優れた構造で、チャネル間で情報を整理し、ネットワークの表現力を向上させ、出力チャネルの次元を増減することができます。 Inception モジュールの 4 つのブランチはすべて、1*1 畳み込みを使用して低コスト (計算の複雑さは 3*3 よりもはるかに小さい) のクロスチャネル機能変換を実行していることがわかります。 2 番目のブランチでは、最初に 1*1 畳み込みを使用し、次に 3*3 畳み込みに接続します。これは、2 つの特徴変換を実行することと同じです。 3 番目のブランチも同様で、最初に 1*1 畳み込み、次に 5*5 畳み込みが行われます。最後のブランチは、3*3 最大プーリングの後に 1*1 畳み込みを直接使用します。 インセプション モジュールの 4 つのブランチは、集約操作 (出力チャネルの数の次元で集約) によって最後に結合されます。 同時に、Google Inception Net も次のような大規模なファミリーです。
Inception V2 は VGGNet から学習し、大きな 5*5 畳み込みを 2 つの 3*3 畳み込みに置き換え (パラメータの数を減らして過剰適合を軽減するため)、有名なバッチ正規化 (BN) 方式も提案しました。 BN は非常に効果的な正則化手法であり、大規模な畳み込みネットワークのトレーニングを何倍も高速化し、収束後の分類精度も大幅に向上させることができます。 ニューラルネットワークの特定の層でBNを使用すると、各ミニバッチデータに対して正規化が実行され、出力がN(0,1)の正規分布に正規化され、内部共変量シフト(内部ニューロン分布の変化)が削減されます。 BN の論文では、従来のディープ ニューラル ネットワークをトレーニングする場合、各層の入力分布が変化するため、トレーニングが困難になると指摘されています。この問題を解決するには、非常に小さな学習率しか使用できません。各レイヤーにBNを使用すると、この問題を効果的に解決できます。学習率を何倍にも増やすことができ、以前の精度を達成するために必要な反復回数はわずか1/14で、トレーニング時間が大幅に短縮されます。 以前の精度に到達した後、トレーニングを継続することができ、最終的に Inception V1 モデルのパフォーマンスは Inception V1 モデルよりもはるかに優れ、トップ 5 のエラー率は 4.8% となり、人間の目よりも優れています。 BN はある意味では正規化の役割も果たすため、Dropout を削減またはキャンセルし、ネットワーク構造を簡素化することができます。 ResNetの技術的特徴の概要 ResNet(Residual Neural Network)は、Microsoft ResearchのKaiming He氏と他の4人の中国人によって提案されました。Residual Unitを使用して152層のディープニューラルネットワークのトレーニングに成功し、ILSVRC 2015のコンテストで優勝し、トップ5のエラー率3.57%を達成しました。同時に、パラメータの数はVGGNetよりも少なく、効果は非常に顕著でした。 ResNet の構造により、超深層ニューラルネットワークのトレーニングが大幅に加速され、モデルの精度も大幅に向上します。 ResNet の元々のインスピレーションは、ニューラル ネットワークの深さを継続的に増やしていくと、最初は精度が向上してから飽和状態に達し、さらに深さを増やしていくと精度が低下するという劣化の問題から生まれました。 これは過剰適合の問題ではありません。テスト セットのエラーが増加するだけでなく、トレーニング セット自体のエラーも増加するためです。比較的浅いネットワークが飽和精度に達したと仮定すると、さらにいくつかの合同マッピングレイヤーを追加すると、少なくともエラーが増加しません。つまり、より深いネットワークはトレーニングセットのエラーの増加につながるべきではありません。 ここで言及された一致マッピングを使用して、前のレイヤーの出力を次のレイヤーに直接渡すことについてのアイデアは、ResNetのインスピレーションです。ニューラルネットワークの入力はxであり、予想される出力はh(x)であると仮定します。最初の結果として入力xを出力に直接渡すと、この時点で学ぶ必要がある目標はf(x)= h(x)-xです。 これは、ResNetの残留単位です。これは、学習目標を変更することと同等です。 上の図は、VGGNET-19、34層の深い通常の畳み込みネットワーク、34層の深いリセネットネットワークを示しています。通常の直接接続された畳み込みニューラルネットワークとResNetの最大の違いは、ResNetには入力を後続のレイヤーに直接接続する多くのバイパス分岐があることがわかります。 従来の畳み込み層または完全に接続されたレイヤーは、情報を送信する際の情報の損失や消耗などの問題を多少あります。 ResNetは、入力情報を出力に直接バイパスして、ネットワーク全体を保護することで、入力と出力の違いを学習することで、ある程度解決します。 上の図は、レイヤーの数が異なるResNetのネットワーク構成を示しています。 ResNet構造を使用した後、レイヤーの増加によって引き起こされるトレーニングセットの増加するエラーの現象が削除され、レイヤー数が増加すると徐々に減少し、テストセットのパフォーマンスも改善されます。 まとめ これは、Alexnet、Vggnet、Inception Net、およびResnetの4つの古典的な畳み込みネットワークの導入を終了します。上記の畳み込み型ニューラルネットワークの歴史を簡単に確認します。 Perceptronは1957年にFrank Resenblattによって提案されました。Perceptronは畳み込みネットワークであるだけでなく、ニューラルネットワークの祖先でもあります。 NeoCognitronは、1980年代に日本の科学者福島kunikoが提案した多層ニューラルネットワークです。 LENET-5は、1997年にCNNの父であるYann Lecunによって提案されました。これは、手書きの数字を効果的に認識できる多層カスケード畳み込み構造を提案した最初のものでした。畳み込み型ニューラルネットワークの以前の3つの技術的ブレークスルーは、その間に非常に長く、理論的革新が現れるまでに10年以上かかったことがわかります。 その後、2012年、ヒントンの学生アレックスは、8層の深い畳み込みニューラルネットワークでILSVRC 2012競争に勝ち、畳み込みニューラルネットワーク研究の流行に即座に点火しました。 Alexnetは、Relu Activation機能、ドロップアウト、最大カバレッジプーリング、LRN層、GPU加速などの新しいテクノロジーを正常に適用し、その後の技術革新に関するより多くの技術を促しました。 AlexNetの後、畳み込みニューラルネットワークの開発を2つのカテゴリに分割できます。1つはネットワーク構造の改善と調整(図6-18の左分岐)、もう1つはネットワークの深さの増加です(図18の右ブランチ)。 2013年、ネットワーク作業におけるYan Shuicheng教授のネットワークが最初に公開され、畳み込みニューラルネットワークの構造を最適化し、1*1の畳み込み構造を促進しました。畳み込みネットワーク構造を改善する作業において、後継者は2014年にGoogle Inception Net V1です。これは、繰り返し積み重ねることができる効率的な畳み込みネットワーク構造であるInceptionモジュールを提案し、その年のILSVRC競争で優勝しました。 2015年初頭のインセプションV2は、バッチ正規化を提案しました。これにより、トレーニングプロセスが大幅に加速し、ネットワークパフォーマンスが向上しました。 2015年末のインセプションV3は、ネットワーク構造を最適化し続け、小さな畳み込みにおける因数分解のアイデアを提案し、大規模な畳み込みを複数の小さな畳み込みまたは1次元の畳み込みに分解しました。 適切な支店では、多くの研究作業は、2014年にILSVRCコンペティションの準優勝であるネットワークレイヤーの数を深めることに専念しています。 2015年、MicrosoftのResNetは152層のディープネットワークのトレーニングに成功し、その年にILSVRC競争に勝ち、トップ5エラー率を3.46%に減らしました。 Alexnetが2012年に提案されて以来、深い学習の分野での研究が非常に急速に発展し、基本的に毎年または数か月ごとに新世代のテクノロジーが登場していることがわかります。新しいテクノロジーには、多くの場合、新しいネットワーク構造、より深いネットワークトレーニング方法などが伴い、画像認識などの分野で新しい精度記録を作成し続けます。 もちろん、CNNテクノロジーは日ごとに変化しています。無視できない原動力の1つは、実験用のGPUコンピューティングリソースが高速であることと、研究者が迅速に探索して試してみることができる非常に便利なオープンソースツール(Tensorflowなど)があることです。過去に、研究者がCuda-convnet自身を実装するためにAlexのような高度なプログラミングスキルを持っていなかった場合、CNNSを設計したり、迅速に実験を行うことができないかもしれません。 Tensorflowにより、研究者と開発者は、ニューラルネットワーク構造を簡単かつ迅速に設計し、研究、テスト、展開、さらには実用的な使用を実施できます。 著者について Huang Wenjianは、「Tensorflow in Action」の著者です。GoogleTensorflowの工学部長、360のチーフサイエンティスト、Cui Bin教授、Yangtze River Scholar of Paked a a culike neg of place in shad neg neg negの営業担当者であるCui Bin教授Anese Publishing House。彼は現在、PPMoneyのビッグデータアルゴリズムのディレクターであり、グループのリスク管理、資産管理、インターネット証券、その他のビジネスのデータマイニングを担当しています。 Google Tensorflowの寄稿者。 Minglue Data Technologyの元パートナーとして、彼は多くの大手銀行、保険会社、および金融リスク管理、ニュースおよび世論分析、保険の買戻し予測などのファンド企業のデータマイニングプロジェクトを主導し、クライアントから多くの賞を受賞しています。彼は、Tmallの数億ユーザーのパーソナライズされた検索システムを担当するAlibabaの検索エンジンアルゴリズムチームで働いていました。彼はアリババのビッグデータ推奨アルゴリズム競争に参加し、7,000を超えるチームの中でトップ10にランクされました。彼は香港科学技術大学から学士号と大学院の学位を取得しました。 |
<<: 「より深く」「より鮮明に」見る - 超高精細画像におけるディープラーニングの応用
>>: 畳み込みニューラル ネットワークの実践 - Keras を使用して猫を識別する
海外メディアの報道によると、8月2日、Googleの研究者らは、OpenAIのGPT-4を研究アシス...
[[203619]] 「もし私が諜報員だったら、生体認証機能をオンにすることは絶対にありません。」...
7月11日、ウォール・ストリート・ジャーナルによると、Googleは最近、いくつかの病院と協力し、M...
翻訳者 |陳俊レビュー | Chonglou今日では、ChatGPT や phind などの AI ...
セマンティック埋め込みモデルは、検索、推奨、データマイニングなどの重要な分野で広く使用されています。...
テクノロジーが私たちの日常生活を支配する時代において、サイバー脅威はますます巧妙かつ危険なものになっ...
編集者 | イーフェン制作:51CTO テクノロジースタック(WeChat ID:blog)大きな続...
テキスト生成画像に関しては、Wenxin ERNIE-ViLG はユーザーが入力したテキストに基づい...
1980 年代に、FICO はロジスティック回帰アルゴリズムに基づく FICO クレジット スコアリ...
【51CTO.com クイック翻訳】ヘルスケアのあらゆる側面において、時間は常に最も貴重な部分である...
画像ソース: unsplash 30秒で読める1.複数の人工知能技術サービスプロバイダーがIT Ti...
[[197626]]人工知能は新しい用語ではなく、その開発の歴史は数十年にわたります。それは 19...
AI におけるブレークスルーには、一般的に 3 つの種類があります。学術ランキングで上位を占め、学...