深層学習の概要 - 深層畳み込みニューラル ネットワーク モデルの概要 (Deep Convolution Neural Network、DCNN)

この記事は主に私が以前学んだことをまとめたものです。最新技術はまだ研究中です...

1 はじめに

機械学習は人工知能を実現するための方法および手段であり、コンピューターが人間の学習行動をどのようにシミュレートまたは実装して新しい知識やスキルを獲得し、既存の知識構造を再編成して自身のパフォーマンスを継続的に向上させるかを研究することに特化しています。人工知能の研究方向として、コンピュータビジョン技術は機械学習の発展とともに進歩しており、特にここ10年ではディープラーニングに代表される機械学習技術がコンピュータビジョンに革命を起こしています。この記事では、代表的なディープラーニング技術であるディープ畳み込みニューラルネットワークについて、主にディープ畳み込みニューラルネットワークの基礎知識を紹介します。

2 ディープ畳み込みニューラル ネットワークの基礎

情報技術の発展に伴い、さまざまな映像データの量が飛躍的に増加しており、大量の映像データから隠された情報を抽出し、その潜在価値を活用することは大きな意義を持っています。

人工知能の発展に伴い、コンピュータービジョンテクノロジーがますます広く使用されるようになりました。例えば、ビデオ監視における顔認識と同一性分析、医療診断におけるさまざまな医療画像の分析と認識、詳細な視覚分類、顔画像の属性認識、指紋認識、シーン認識などです。コンピュータビジョン技術は徐々に人々の生活に浸透してきました。日常生活の生活や用途にしかし、画像の特徴を手動で抽出して機械学習を実行するという従来のコンピュータ ビジョン手法は、これらのアプリケーションに対処するにはますます不適切になりつつあります。2006 年以来、ディープラーニングは人々の視野に入り、特に 2012 年に AlexNet が ImageNet 大規模視覚認識チャレンジで優勝して以来、ディープラーニングは人工知能の分野で目覚ましい発展を遂げ、コンピューター ビジョンや音声分野で広く使用されています。認識、自然言語処理、マルチメディア、その他多くの分野で大きな成功を収めています。ディープラーニングと従来のパターン認識手法の最大の違いは、手動で設計された特徴を使用するのではなく、ビッグデータから特徴を自動的に学習することであり、優れた特徴はパターン認識システムのパフォーマンスを大幅に向上させることができます。コンピューター ビジョンの分野では、ディープ畳み込みニューラル ネットワークが注目の研究テーマとなっており、画像分類、ターゲット検出、画像セグメンテーションなどのコンピューター ビジョン タスクにおいて重要な役割を果たしています。このセクションでは、ディープ畳み込みニューラル ネットワークの基礎知識を紹介します。

2.1 人工ニューラルネットワーク

人間の神経系は数千億個のニューロンで構成されており、各ニューロンは樹状突起、軸索、細胞体で構成されています。人間は毎日無数の視覚・聴覚情報を受け取り、その情報は神経系によって処理され、樹状突起は情報を受け取って細胞体に伝達し、軸索は情報を受け取って外部に伝達します。人工ニューラル ネットワークは、人間の神経系の構造と機能を模倣した情報処理システムです。

図 2-1 人工ニューロンの構造

図 2-1 は、単一の人工ニューロンの構造を示しています。ニューロンX1,...,Xnには、それぞれ n 個の入力があります。接続線上の値は、それぞれの入力の重みですW1、...、Wn。活性化関数 (活性化関数) はf、バイアス項 (バイアス)です。 ) は でb、ニューロンの出力は次のようになりますy=f(\sum WiXi+b)

人工ニューラル ネットワークは、相互に接続された多数の人工ニューロン (ノードとも呼ばれます) で構成されるコンピューティング モデルであり、接続された 2 つのニューロンは通過信号の重み付けされた値を表します。フォワード ニューラル ネットワークは、入力層、隠れ層、出力層を含む単純な人工ニューラル ネットワーク モデルです。入力層には 1 つの層があり、出力層には 1 つの層があり、隠れ層には複数の層があり、各層はノード間には接続がなく、層間のノード間の関係は重みによって測定されます。順方向ニューラル ネットワークは全結合層とも呼ばれ、そのネットワーク構造は単一のニューロンよりも複雑ですが、出力は入力と活性化関数を乗算した重みの関係を満たします。

人工ニューラル ネットワークの出力は、ネットワーク構造、入力バツ、重みW、活性化関数などの多くの側面の影響を受けます。ニューラル ネットワークの構築後は、ネットワーク構造と活性化関数が固定されます。出力を変更するには、重みを変更する必要があります。したがって、ニューラル ネットワークのトレーニング プロセスは、パラメーターを継続的に最適化するプロセスです Wトレーニングは、順伝播と逆伝播という 2 つのプロセスで構成されます。まず、ニューラル ネットワークを構築してトレーニング データを入力すると、ニューラル ネットワークは出力結果 (順伝播) を計算し、出力結果と入力データの実ラベル (損失関数) の差を計算します。 、ネットワークはこの差の値を使用してWパラメータの値を更新します。これがバックプロパゲーションです。ニューラル ネットワークのトレーニング プロセスでは、順伝播と逆伝播を周期的に実行し、各ニューロンの重みパラメーターを調整して非線形関係をフィッティングし、最終的により良いモデル精度を取得します。

モデルの適合度は活性化関数と密接に関係しています。ニューラル ネットワーク活性化関数の役割は、入力信号に対して非線形計算を実行し、その出力を次のノードに渡すことです。一般的な活性化関数には、Sigmoid 活性化関数、Tanh 活性化関数、ReLU 活性化関数の 3 つがあります。シグモイド活性化関数を図 2-2 に示します。入力が大きいか小さい場合、関数の勾配は非常に小さくなります。バックプロパゲーション アルゴリズムでは連鎖導出ルールを使用してパラメーターの勾配を計算するため、モデルはシグモイド関数を使用するため、簡単にW勾配消失の問題が発生します。Tanh 関数はシグモイド関数に似ていますが、入力が大きくても小さくても関数の勾配が小さくなり、勾配の消失の問題が発生しやすく、重みの更新には役立ちません。ReLU 関数には、入力が正の数の場合、勾配が一定でゼロにならないこと、計算速度が速いことなど、さらに利点があります。しかし、これには致命的な欠点もあります。入力が負の場合、勾配が完全に消失するため、活性化関数の使用は実際のニーズに基づいて決定する必要があります。

図 2-2 Sigmoid 活性化関数 図 2-3 Tanh 活性化関数 図 2-4 Relu 活性化関数

バックプロパゲーションでは、損失関数 (loss) が非常に重要です。一般的に使用される損失関数には、平均二乗誤差損失 (mse_loss)、カスタム損失関数、およびクロス エントロピー損失関数 (クロス エントロピー) が含まれます。画像分類で最も一般的に使用される損失関数は、クロス エントロピー損失関数です。分類問題では、合計 n カテゴリがあると仮定すると、分類器の出力は、入力がこれらの n カテゴリであると予測される確率、つまり、出力は n 個の確率になります。式(1)に示すように、クロスエントロピーは2つの確率分布の差を表し、差が小さいほど2つの確率は近く、差が大きいほど2つの確率の差は大きくなります。qは実際のラベルを表し、 はp予測値を表します。

                                                         H(p,q)=-\sum q(x)logp(x)                    (1)

2.2 畳み込みニューラル ネットワーク (CNN)

畳み込みニューラル ネットワークは人工ニューラル ネットワークを改良したものです。畳み込み層とプーリング層が追加されています。畳み込みニューラル ネットワークのトレーニング プロセスは、順伝播と逆伝播を含む人工ニューラル ネットワークのトレーニング プロセスと同じです。広める。畳み込み層とプーリング層については、以下で詳しく紹介します。

(1) 畳み込み層

畳み込みニューラル ネットワークは重み共有ネットワークです。通常のニューラル ネットワークと比較して、モデルの複雑さが軽減され、パラメータの数が大幅に削減されます。これは、畳み込みの 2 つの重要な特性、つまり局所受容野とパラメータ共有 (パラメータ共有) によるものです。 。

従来のニューラル ネットワークでは、各入力ニューロンと出力ニューロンは完全に接続されており、各入力ニューロンと出力ニューロンの間の関係はパラメーターによって記述されます。畳み込みニューラル ネットワークの畳み込みカーネル フィルター サイズは入力サイズよりもはるかに小さく、その接続はまばらです。画像の局所的な画素は密接に結びついており、離れた画素の相関は弱い ニューロンは大域的な画像を知覚する必要はなく、局所的な画像のみを知覚するだけでよく、局所的な情報を高度に組み合わせて大域的な情報を取得する。コンボリューション カーネルを使用して画像を処理し、局所的に意味のある特徴を検出します。コンボリューション カーネルと同じサイズの空間接続範囲を受容野と呼びます。コンボリューション層の数が多いほど、受容野は大きくなります。値が大きくなるほど、 、受容野に対応する元の画像領域が大きくなる。以下に示すように、局所受容野によりパラメータの数が大幅に減少します。入力画像サイズが 1000 1000 の場合、隠れ層ニューロンの数は 100 万です。それらが完全に接続されている場合、1000 1000 =1000000= の接続と1 つのパラメーター\回が存在します。コンボリューション カーネル サイズが 10 10 の場合、ローカル受容野のサイズは 10 10 です。隠れ層の各ニューロンは10 10 サイズの領域に接続するだけでよく、合計 10 10 1000000=接続、つまりパラメータがあります。\回10^{12}10^{12}\回\回\回\回10^{8}10^{8}

上の例では、局所受容野の使用によりパラメータの数が大幅に削減されていますが、それでもパラメータの数は非常に多くなります。各ニューロンは 10 10 サイズの画像領域に接続されている\回ため、各ニューロンは 10 \回10 = 100 個のパラメータを持ちます。各ニューロンのパラメータが同じ場合、つまり、各ニューロンは同じコンボリューション カーネルを使用します。デコンボリューションの場合のみ、パラメータの共有には合計 100 個のパラメータが必要です。ただし、1 つのコンボリューション カーネルで抽出できる特徴は 1 つだけであるため、コンボリューションの際には複数のコンボリューション カーネルが使用され、各コンボリューション カーネル フィルターのパラメーターが異なるため、入力画像の異なる特徴が抽出されます。複数の畳み込みカーネルを使用すると、いくつかの特徴を抽出でき、これらの特徴が配置されて特徴マップが形成されます。ローカルの受容野とパラメーターの共有により、モデル パラメーターの量が大幅に削減され、メモリ領域が節約され、同時にモデルのパフォーマンスが低下することなく維持されます。

(2)プーリング層

図 2-5 最大プーリングの概略図

プーリング層は、ダウンサンプリング層とも呼ばれ、一般に、特徴マップのサイズを削減することを目的として、各特徴マップに対してプーリングが動作します。プーリングには最大プーリングと平均プーリングの 2 種類があります。図 2-5 は最大プーリングを示しています。プーリング カーネル サイズは 2 2、ステップ サイズは 2 2 です。平たく言えば、最大プーリング操作は重複部分を見つける\回こと\回です\回。 2 2 プーリング カーネルと特定の深度特徴マップの値を計算し、重複領域の最大値を取得してダウンサンプリングされた値を取得します。ステップ サイズに従ってプーリング カーネルの位置を移動し、出力特徴マップを取得します。平均プーリングの操作は、重複領域内のピクセルの平均値が取得される点を除いて、最大プーリングの操作と同様です。

2.3 ディープ畳み込みニューラルネットワークの最適化

より良いパフォーマンスを達成するために、畳み込みニューラル ネットワークの層はますます深くなり、深い畳み込みニューラル ネットワークの層が深くなるほど、より多くのパラメーターを学習する必要があり、ネットワークの最適化がより困難になります。適切な最適化方法がなければ、オーバーフィッティングまたはアンダーフィッティングの問題が発生します。

過適合とは、モデルの汎化能力が低く、トレーニング セットでは良好に適合しますが、検証セットでは適合が不十分であることを意味します。平たく言えば、モデルが訓練データをよく学習しすぎていることを意味し、モデルは訓練セット内の画像はよく認識できますが、非訓練セット内の画像は認識できません。理由は 2 つあり、1 つはトレーニング セット内のデータが少なすぎること、もう 1 つはトレーニングの反復が多すぎることです。過学習を軽減するには、次の 4 つの主な方法があります。

(1) 早期停止。各反復 (エポック) の後、検証セットの誤り率 (検証誤差) が計算され、誤り率が下がらなくなった場合、トレーニングは終了します。これは時間内に損失を止める方法ですが、モデルの汎化能力は向上せず、トレーニングを続けるのは時間の無駄です。ただし、1 回の反復後のエラー率のみに依存するのは非科学的です。この反復後のエラー率は増加または減少する可能性があるためです。したがって、10 回、20 回などの反復後の検証セットのエラー率に基づいてトレーニングを終了するかどうかを決定できます。

(2) データセットの拡張。これは、過学習を軽減する最も直接的かつ効果的な方法です。高品質で大量のデータがなければ、適切なモデルをトレーニングすることは不可能です。データセットはソースからデータを追加する2つの側面から拡張できます。たとえば、画像を分類する場合、トレーニングセットに画像を直接追加しますが、どの程度のデータが追加されるかが不明であるため、この方法は実装が困難です; 元のデータに変更を加え、元の画像を回転したり、元のデータにノイズを追加したり、元のデータの一部を切り取ったりするなど、より多くのデータを取得します。

(3) 正規化。正則化には、L0 正則化、L1 正則化、L2 正則化があり、L2 正則化は機械学習でよく使用されます。L2 正則化項にはパラメータを小さく強化する効果があり、パラメータが小さいほどモデルの複雑さが低くなり、モデルがトレーニング データに正しく適合し、モデルの汎化能力が向上します。

(4)中退する。モデル融合の一種であるドロップアウトは、一定の確率でニューロンの動作を停止させ、テスト エラーを効果的に削減します。入力が与えられると、ネットワークは一連のパラメーターを共有するさまざまな構造をサンプリングします。ニューロンは特定の特定のニューロンに依存しないため、ドロップアウトによってニューロン間の複雑な共適応が軽減され、ネットワークの堅牢性が強化されます。

モデルはトレーニング セットではうまく適合しませんが、検証セットでは良好に適合しますが、適合が不十分です。その理由は、アンダーフィッティングとは、モデルがトレーニング データについて十分に学習しておらず、特徴学習が不十分であり、表現能力が低いことを意味するためです。アンダーフィッティングは次の方法で軽減できます。

(1) その他の機能項目を追加します。機能項目が不十分であると、アンダーフィッティングが発生します。不十分な機能項目によって引き起こされるアンダーフィッティングは、機能項目を追加することで十分に解決できます。特徴項目を追加する方法には、組み合わせ、汎化、相関などが含まれます。これらの方法は、多くのシナリオに適用できます。

(2) 多項式特徴を追加します。たとえば、線形モデルに 2 次または 3 次の項を追加すると、モデルの汎化能力を強化できます。

おすすめ

転載: blog.csdn.net/qq_44918501/article/details/130270044