前回の記事では、GoogLeNet InceptionV1のネットワーク構造を紹介しました。この記事では、Inception V2/V3/V4の開発履歴と、そのネットワーク構造とハイライトについて詳しく説明します。 GoogLeNet インセプション V2 GoogLeNet Inception V2 は、「バッチ正規化: 内部共変量シフトの削減によるディープ ネットワーク トレーニングの高速化」に登場しました。注目すべきは、次の役割を果たすバッチ正規化メソッドです。
機械学習では通常、トレーニング サンプルは独立かつ同一に分布 (iid) しており、トレーニング サンプルの分布はテスト サンプルの分布と一致しているという仮定を立てます。実際のデータがこの仮定を満たしている場合、モデルの効果は良好である可能性があり、その逆も同様です。これは学術的には共変量シフトと呼ばれており、サンプル (外部) の観点からは、ニューラル ネットワークでも同じことが言えます。構造的(内部的)な観点から見ると、ニューラルネットワークは複数の層で構成されているため、特徴を抽出しながらサンプルを層間で伝播させます。各層の入力分布に一貫性がなければ、必然的にモデル効果が悪かったり、学習速度が遅くなったりします。学術的には、これを内部共変量シフトと呼びます。 仮定: y yはサンプルラベル、 X = { x 1 、 x 2 、 x 3 、 ... . . . . } X ={x1、x2、x3、......}はサンプルx x がニューラルネットワークの複数の層を通過した後の各層の入力です。 理論的には、 p ( x , y ) p(x,y)の結合確率分布は、次のように、セットX X内の任意の入力層の結合確率分布と一致するはずです。 p ( x , y ) = p ( x 1 , y ) p(x,y)=p(x1,y) ; P ( x 、 x ) ⋅p ( x 、 y ) = p ( x ) ....しかし、 神経の各層、つまりP ( X 1 ) ≠ P ( X 2 ) BN アルゴリズムのプロセス全体は次のとおりです。
左側は白色化なしの元の実行可能領域、右側は白色化後の実行可能領域です。
ここでパラメータγ γとσ σを学習する必要があります。 畳み込みニューラルネットワークにおけるバッチ正規化畳み込みネットワークでは重み共有戦略が採用されており、各特徴マップに対してγとσのペアを 1 つだけ学習する必要があります。 GoogLeNet インセプション V3GoogLeNet Inception V3 は、「コンピュータ ビジョンの Inception アーキテクチャの再考」で提案されました (この論文では、著者はネットワーク構造を v2 と呼んでいますが、最終バージョンの v4 を標準として使用しています)。この論文のハイライトは次のとおりです。
ネットワーク構造設計の原則前述のように、ディープラーニング ネットワークの探究は実験科学に近いものです。実験では、いくつかの構造設計原則がまとめられていますが、正直に言うと、必ずしも実用的ではないと思います。
ニューラルネットワークには、多層畳み込みなどの特徴を自動的に抽出するプロセスが含まれています。ネットワークの初期段階で抽出された特徴が粗すぎると詳細が失われ、後で構造を洗練しても効果的に表現できないことは直感的かつ常識的に理解できます。極端な例を挙げると、宇宙の惑星を識別するために、通常は近くから遠くへ、家、木、海、大陸プレートから惑星全体、そして宇宙全体へと進みます。最初から宇宙に直接ズームアウトすると、すべての惑星が球体であり、どれが地球でどれが水星であるかを区別できないことがわかります。したがって、レイヤー数が深くなるにつれて特徴マップのサイズは徐々に小さくなるはずですが、特徴を効果的に表現して組み合わせるために、チャネルの数は徐々に増加します。 次の図はこの原則に違反しています。最初は直接サンプリングして 35×35×320 から 17×17×320 に縮小しており、多数の特徴の詳細が失われています。後で Inception を使用してさまざまな特徴の抽出と組み合わせを実行しても、役に立ちません。
スムーズなサンプル注釈マルチ分類サンプルの場合、注釈は一般的にワンホット([0,0,0,1]など)です。クロスエントロピーに似た損失関数を使用すると、モデルは学習中にグラウンドトゥルースラベルに自信過剰な確率を割り当てます。さらに、グラウンドトゥルースラベルのロジット値が他のラベルと大きく異なるため、過剰適合が発生し、一般化が低下します。 1 つの解決策は、正規化項を追加することです。つまり、サンプル ラベルの確率分布を調整して、サンプル注釈が「ソフト」になるようにします (例: [0.1、0.2、0.1、0.6])。この方法により、実験でトップ 1 とトップ 5 のエラー率が 0.2% 減少しました。 ネットワーク構造GoogLeNet インセプション V4GoogLeNet Inception V4/およびResNet V1/V2の3つの構造は、論文「Inception-v4、Inception-ResNet、および残余接続の学習への影響」で提案されました。この論文のハイライトは、より優れたGoogLeNet Inception v4ネットワーク構造を提案し、それを残余ネットワークと統合し、v4に劣らず、トレーニング速度が速い構造を提案していることです。 GoogLeNet Inception V4 ネットワーク構造GoogLeNet Inception ResNet ネットワーク構造コーディング練習 Tensorflow コードは slim モジュールに完全実装されており、PaddlePaddle コードは前回の記事で書いた inception v1 コードを参考に記述することができます。 要約する この記事はより理論的な内容で、主にGoogLeNetのインセプションモジュールの開発について説明しています。これにはv2で提案されたバッチ正規化、v3で提案された畳み込み階層とより一般的なネットワーク構造基準、v4での残差ネットワークとの組み合わせが含まれます。実際のアプリケーションでは、同じデータを異なるネットワーク構造で実行して結果を確認し、異なるネットワーク構造の損失削減率、精度の向上などを実際に体験できます。 |
<<: 10社にインタビュー、機械学習のインタビュー内容をまとめました
>>: アクセラレーションクラウドが新製品を発売、異種コンピューティングアクセラレーションプラットフォームがAIと高性能コンピューティングのビジネスニーズに効果的に対応
導入データ サイエンティストになる上で最も良いことの 1 つはプログラミングです。多くの場合、私は...
セキュリティ オペレーション センター (SOC) のアナリストは推論と意思決定に優れていますが、2...
[51CTO.com からのオリジナル記事]活動の説明: Aiti Tribe は、コア開発者に詳...
1. モバイルゲーム闇産業チェーンまず、モバイルゲームのブラック産業チェーンを紹介します。これは基本...
AI とエッジ コンピューティングの融合により、多くの業界が変革されるでしょう。移植性を向上させ、モ...
将来の妻や夫がどんな人か分からないですか?さあ、まずはAIを使って予測してみましょう。 [[3123...
ソフトウェア開発者向けのローコード機能それでは、ソフトウェア開発者に機械学習機能を提供するローコード...
人工知能はここ数年で大きな進歩を遂げてきましたが、開発者の過剰な約束とエンドユーザーの非現実的な期待...
本日、2021年世界インターネット大会烏鎮サミットにおいて、ファーウェイ上級副社長、ファーウェイクラ...
チャットボットの開発は、複数のテクノロジーとツールを組み合わせて使用する必要がある複雑で困難な作...
8月14日、人工知能(AI)の発展は教育に新たな課題をもたらしました。フォーチュン誌の最近の報道に...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
「データ」は今日、これほど広く注目されたことはありません。以前は、携帯電話番号などの情報を何気なく...