マインドマップギャラリー 従来のニューラルネットワーク
非線形活性化関数、勾配の概念、線形回帰の概念、線形回帰の適用シナリオと制限、ニューラル ネットワークの構造など、機械学習のための従来のニューラル ネットワークのいくつかの知識ポイントを確認します。
2022-11-23 09:35:21 に編集されました従来のニューラルネットワーク
非線形活性化関数
シグモイド
アドバンテージ
入力特徴量を0から1までの広範囲に圧縮することで、ディープネットワークにおいて大きな変更を加えずにデータ振幅を維持できるようにする
物理的な意味で生体ニューロンに最も近い
出力範囲に応じて、この関数は予測確率を出力として持つモデルに適しています。
欠点がある
入力が非常に大きいか非常に小さい場合、出力は基本的に一定です。つまり、変化が非常に小さいため、勾配は 0 に近くなります。
グラデーションが途中で消えてしまい、収束が遅くなる可能性があります
指数演算は比較的時間がかかります
出力は 0 平均ではないため、次の層のニューロンは、前の層によって出力された非 0 平均信号を入力として取得します。ネットワークが深化するにつれて、元データの流通傾向も変化していきます。
タン
アドバンテージ
上記のシグモイド関数の出力が 0 平均値にならない問題を解決します。
Tanh 関数の導関数の範囲は 0 ~ 1 であり、シグモイド関数の 0 ~ 0.25 よりも優れており、勾配の消失の問題がある程度軽減されます。
Tanh 関数は、原点付近では y=x 関数に似ており、入力活性化値が低い場合は行列演算を直接実行でき、学習は比較的簡単です。
欠点がある
シグモイド関数と同様に、勾配消失問題は依然として存在します。
その 2 つの形式の式、つまり 2*sigmoid(2x)-1 と (exp(x)-exp(-x))/(exp(x) exp(-x)) を観察してください。電源操作はまだ存在します
ReLU
アドバンテージ
シグモイド関数や Tanh 関数と比較すると、入力が正の場合、Relu 関数には飽和問題が発生しないため、勾配消失問題が解決され、ディープ ネットワークがトレーニング可能になります。
計算速度は非常に速く、入力が 0 値より大きいかどうかを判断するだけで済みます。
収束速度はシグモイド関数や Tanh 関数よりもはるかに高速です
Relu の出力により、一部のニューロンの値が 0 になります。これにより、ネットワークの疎性がもたらされるだけでなく、パラメータ間の相関が減少し、過剰適合の問題がある程度軽減されます。
欠点がある
Relu 関数の出力は、平均が 0 である関数ではありません。
Dead Relu 問題があります。つまり、一部のニューロンがアクティブ化されず、対応するパラメーターが更新されない可能性があります。この問題の主な理由には、パラメーターの初期化の問題と大きすぎる学習率の設定が含まれます。
入力が正の値で微分値が 1 の場合、「連鎖反応」では勾配は消えませんが、勾配降下の強度は重みの積に完全に依存するため、勾配爆発の問題が発生する可能性があります。 。
リーキー ReLU
アドバンテージ
Relu 関数に存在する Dead Relu 問題に対応して、Leaky Relu 関数は、入力が負の値の場合に入力値に非常に小さな傾きを与えます。これは、負の入力の場合の 0 勾配問題を解くことに基づいています。 Dead Reluの問題もかなり軽減されています。
この関数の出力は負の無限大から正の無限大までです。つまり、リーキーにより Relu 関数の範囲が拡張されます。α の値は通常、0.01 などの小さい値に設定されます。
欠点がある
この関数は理論的には Relu 関数よりも優れた効果を持っていますが、多くの実践によってその効果が不安定であることが証明されているため、この関数を実際に適用する例はあまりありません。
異なる間隔で異なる関数が適用されるために結果が一貫性を欠くと、正と負の入力値に対して一貫した関係予測を提供できなくなります。
グラデーションの概念
勾配の本来の意味はベクトル(ベクトル)で、ある関数のこの時点での方向導関数がその方向に沿って最大値に達する、つまり関数がこの方向(この勾配の方向)に沿って最も速く変化することを意味します。この時点での変化は、 率が最大になります (勾配のモジュール)。
線形回帰の概念
入力から出力までのマッピング関係を記述する線形関係
線形回帰の適用シナリオ
ネットワーク分析、リスク分析、株価予測、天気予報
線形回帰の限界
線形回帰は、線形に分布したデータのセグメント化を明確に説明できますが、非線形に分布したデータの説明には弱いです。
ニューラルネットワークの構造
入力層
活性化値
中間層
出力層
重み: 入力層のニューロンとの密接な関係を指します。接続が近いほど、値は大きくなります。
活性化値: 出力層の活性化値が計算されます。簡単な計算は、入力層の活性化値に重みを乗算することです。
Offset: 現時点ではこのパラメータについて心配する必要はありません
ニューロンの「並列」および「直列」接続
ここで、m はニューラル ネットワークの n 層目の幅を表し、n は現在のニューラル ネットワークの深さを表します。
ニューラル ネットワークの最初の層から最終出力まで、各ニューロンの値は、前の層のニューロン値、ニューロン パラメーター W、b、および n 番目のニューロンの方程式によって決定されます。 -th 層は次の式で表すことができます。
損失関数 - 損失
深層学習のパフォーマンスに影響を与える最も重要な要素の 1 つ。神経に影響を与えるのは外界です ネットワークモデルのトレーニングのための直接的なガイダンス
適切な損失関数により、深層学習モデルの収束を保証できます。
適切な損失関数を設計することは研究作業の主要な内容の 1 つです
Softmax 関数の定義とその利点
正規化された指数関数
予測結果を負でない数値に変換する
ソフトマックスの最初のステップは、モデルの予測結果を指数関数に変換することで、確率が負でないことを保証します。
さまざまな予測結果の確率の合計は 1 に等しくなります。
この方法では、変換結果をすべての変換結果の合計で割ります。これは、合計に占める変換結果の割合として理解できます。これにより、おおよその確率が得られます。
クロスエントロピー関数の定義とその利点
損失関数として使用できる理由
クロス エントロピーは、ニューラル ネットワーク (機械学習) の損失関数として使用できます。p は実際のラベルの分布を表し、q はトレーニングされたモデルの予測ラベル分布を表します。クロス エントロピー損失関数は、p と q の間の類似性を測定できます。 。
損失関数としてクロス エントロピーを使用するもう 1 つの利点は、勾配降下中にシグモイド関数を使用すると、学習率を出力誤差によって制御できるため、平均二乗誤差損失関数の学習率の低下の問題を回避できることです。
p(i) を実際の確率分布、q(i) を予測確率分布と考えます。損失関数としてクロス エントロピーを使用すると、それを最小化すると、q(i) を徐々に p( i) に近づけることができます。フィッティングの目的は達成されました。
、
ターゲット [0, 1] 間隔と世代による回帰問題
カスタマイズ
特定の属性に興味を持つ
特定の予測値を個別に取り出すか、異なるサイズのパラメータを割り当てる
複数の損失を結合する
多目的トレーニングタスク、合理的な損失結合方法の設定(さまざまな操作)
ニューラルネットワーク融合
さまざまなニューラル ネットワークの損失を組み合わせて、ネットワークをトレーニングし、ガイドします。
学習率
値が大きいほど収束速度が速くなります。
数値が小さく、収束精度が高い
適切な学習率を選択する方法
修理済み
固定、つまり固定学習率は最も単純な設定であり、必要なパラメータは 1 つだけです。
最適化プロセス全体を通じて学習率は変化しません。これは、全体的な最適点に近づくにつれて、最適点をスキップするのを避けるために学習率がどんどん小さくなる必要があるため、使用されることはほとんどありません。
ステップ
たとえば、各削減は元の値の 0.1 倍など、均一な削減方法を使用します。
これは非常に一般的に使用される学習率の反復戦略であり、学習率が元の倍数に減少するたびに、使用が簡単で、通常は良好な結果が得られます。
アダグラド
適応学習率
AdaGrad アルゴリズムからは、アルゴリズムが反復を続けるにつれて r がますます大きくなり、全体の学習率がますます小さくなることがわかります。したがって、一般的に、AdaGrad アルゴリズムはインセンティブ収束から始まり、徐々にペナルティ収束に変わり、速度がどんどん遅くなります。
RMSプロップ
RMSProp アルゴリズムは、AdaGrad アルゴリズムのように正方形の勾配を激しく直接蓄積しませんが、減衰係数を追加して、どの程度の履歴情報を取得するかを制御します。
簡単に言うと、グローバル学習率を設定した後、パスごとに、減衰係数によって制御される履歴勾配の二乗和の平方根でグローバル学習率をパラメータごとに除算し、各パスの学習率がパラメータが違います。
その効果は、パラメーター空間の平坦な方向に大きな進歩が見られることです (平坦であるため、履歴勾配の二乗和は小さくなり、学習の低下が小さくなることに対応します)。また、急峻な方向にすることができます。よりスムーズになり、トレーニングがスピードアップします。
勢い
得られた最適化方向に沿って進めていきます。方向性を再度求める必要はなく、微調整するだけで済みます。
勢いを利用することと学習率を直接高めることの違いは何でしょうか?
方向が異なり、検索がより正確になります。
過学習
過学習は過学習とも呼ばれ、アルゴリズムがトレーニング セットでは良好に機能するが、テスト セットでは良好に機能せず、汎化パフォーマンスが低下することが直感的に表れます。
オーバーフィッティングは、モデル パラメーターのフィッティング プロセス中にトレーニング データにサンプリング エラーが含まれており、複雑なモデルもトレーニング中にサンプリング エラーにフィットするという事実によって発生します。いわゆるサンプリング誤差は、サンプリングによって得られたサンプルセットと全体のデータセットとの間の偏差を指します。
モデル自体は非常に複雑なので、トレーニング サンプル セット内のノイズに適合します。現時点では、より単純なモデルを選択するか、モデルをトリミングする必要があります。
トレーニング サンプルが少なすぎるか、代表性に欠けています。このとき、サンプル数を増やすか、サンプルの多様性を高める必要があります。
トレーニング サンプルのノイズの干渉により、モデルがこれらのノイズに適合するようになります。この場合、ノイズの多いデータを削除するか、ノイズの影響を受けないモデルに切り替える必要があります。
解決
ドロップアウト
ドロップアウトとプーリングの違い
サブトピック
順伝播中に、特定のニューロンの活性化値が特定の確率 p で動作を停止するようにします。これにより、モデルが特定の局所的な特徴にあまり依存しなくなるため、モデルがより一般化可能になります。
正則化
正則化はパラメータ w にどのような影響を与えますか?
重みの減衰とは何ですか?それは正則化とどのように関係していますか?
L2 正則化の目的は、重みをより小さい値に減衰させ、モデルの過学習の問題をある程度軽減することであるため、重みの減衰は L2 正則化とも呼ばれます。
微調整
ほとんどのパラメータは更新する必要がなく、実際のパラメータは大幅に削減されます。
事前トレーニング済みモデルの畳み込み層の一部をフリーズします (これらの層は多くの基礎情報を保持しているため、通常は入力に近い畳み込み層の大部分)、またはネットワーク層をフリーズし、残りの畳み込み層をトレーニングします (通常は出力畳み込み層に近い部分)と全結合層。
微調整の原理は、既知のネットワーク構造と既知のネットワーク パラメーターを使用し、出力層を独自の層に変更し、最後の層の前にいくつかの層のパラメーターを微調整することで、ディープの強力な一般化機能を効果的に利用します。ニューラル ネットワークの微調整機能が強化され、複雑なモデルの設計や時間のかかるトレーニングが不要になるため、データ量が不十分な場合には微調整がより適しています。
意義
巨人の肩に立つ: 先人によって訓練されたモデルは、最初から構築するモデルよりも強力である可能性が高く、車輪を再発明する必要はありません。
トレーニング コストは非常に低く抑えることができます。転移学習用の特徴ベクトルを導出する方法を使用すると、後のトレーニング コストが非常に低くなり、CPU に負担がかからず、ディープ ラーニング マシンなしで実行できます。
小規模なデータ セットに適しています: データ セット自体が小さい (画像数千枚) 場合、モデルが大きくなるほどデータ量が増えるため、数千万のパラメーターを使用して大規模なニューラル ネットワークを最初からトレーニングすることは非現実的です。要件があるため、オーバーフィッティングは避けられません。現時点では、大規模なニューラル ネットワークの超特徴抽出機能を引き続き使用したい場合は、転移学習に頼るしかありません。
移行モデル
転移学習 (Transfer learning) は、その名前が示すように、学習済みのモデル (学習済みモデル) のパラメーターを新しいモデルに転送して、新しいモデルの学習を支援することです。ほとんどのデータやタスクが関連していることを考慮すると、転移学習を通じて、学習したモデルのパラメーター (モデルによって学習された知識とも理解できます) を何らかの方法で新しいモデルに共有し、学習効率を最適化することができます。ほとんどのネットワークのように、モデルを最初から学習する必要はありません。