Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
講義 8.1 — ヘシアンフリー最適化の概要
講義 8.1 — ヘシアンフリー最適化の概要 [機械学習のためのニューラル ネットワーク]
ヘシアンフリー オプティマイザーは、リカレント ニューラル ネットワークを効果的にトレーニングするために使用される複雑なアルゴリズムです。すべての詳細については掘り下げませんが、その仕組みについての一般的な理解を提供します。
ニューラル ネットワークをトレーニングするときの目標は、エラーを最小限に抑えることです。オプティマイザは、エラーを最大限に減らすために移動する方向と距離を決定します。減少は、上に凹んだ二次誤差曲面を仮定すると、勾配対曲率の比に依存します。ニュートンの方法は、楕円形の誤差曲面を円形の誤差曲面に変換することによって最急降下の制限に対処します。これは、ヘッセ行列としても知られる曲率行列の逆行列を勾配に乗算することによって行われます。ただし、ヘッセ行列を反転することは、そのサイズのため、大規模なニューラル ネットワークでは実行できません。これを克服するために、ヘシアンフリーや L-BFGS などの近似法では、低ランクの行列を使用して曲率を近似します。ヘシアンフリーでは、曲率行列を近似し、一度に一方向の誤差を最小限に抑える方法である共役勾配を使用します。以前の方向の勾配を変更しない共役方向を選択することで、以前の最小化を中断することを回避します。
共役勾配は、n 次元二次曲面の全体的最小値を n ステップ以下で効率的に見つけます。これは、n よりもはるかに少ないステップで誤差を最小値に近づけることによって実現されます。多層ニューラル ネットワークなどの非 2 次誤差曲面に直接適用でき、大規模なミニバッチでもうまく機能します。ヘシアンフリー オプティマイザーは、二次近似と共役勾配を組み合わせて、真の誤差曲面への近似を繰り返し改善し、最小値に近づけます。
ヘッセアンフリー オプティマイザーは、最初に真の誤差曲面への初期二次近似を作成します。次に、共役勾配を適用して、この二次近似の誤差を最小限に抑えます。そうすることで、この近似上の最小点に近づきます。その後、オプティマイザは曲率行列に対して新しい近似を作成し、このプロセスを繰り返します。共役勾配を使用して近似を改良し、誤差を最小限に抑えながら反復を続けます。この反復プロセスにより、オプティマイザは徐々に誤差曲面の真の最小値に近づくことができます。
リカレント ニューラル ネットワークでは、隠れたアクティビティの大きな変更に対してペナルティを追加することが重要です。これにより、シーケンス全体に伝播する初期のウェイト変更によって引き起こされる過度の影響が防止されます。オプティマイザは、隠れたアクティビティの変更にペナルティを与えることで安定性を確保し、望ましくない結果を防ぎます。
ヘシアンフリー オプティマイザーは、二次近似、共役勾配の最小化、隠れたアクティビティの変更に対するペナルティを組み合わせて、リカレント ニューラル ネットワークを効果的にトレーニングします。近似を繰り返し改善し、誤差を最小限に抑えることで、効率的かつ正確な最適化を実現します。
講義 8.2 — 文字列のモデリング
講義 8.2 — 文字列のモデリング [機械学習のためのニューラル ネットワーク]
次に、ウィキペディアの文字列をモデル化するタスクにヘシアンフリー最適化を適用します。通常、言語をモデル化するときは、単語の文字列を操作します。ただし、Web は文字列で構成されているため、文字レベルの情報をモデル化すると、より簡単なアプローチが得られます。
文字列のモデリングには、形態素の処理、単語の意味のある単位への分解、膠着特性を持つ言語の処理など、独特の課題があります。文字レベルのモデリングに焦点を当てることで、テキストを単語に前処理することに伴う複雑さを回避し、文字レベルでパターンと情報を直接キャプチャできます。これを実現するために、乗算接続を備えたリカレント ニューラル ネットワーク (RNN) を使用します。 RNN は隠れ状態で構成されており、この場合は 1500 の隠れユニットがあります。非表示状態のダイナミクスには、現在のキャラクターと以前の非表示状態を考慮して、新しい非表示状態を計算することが含まれます。その後、RNN はソフトマックス層を使用して次の文字を予測し、考えられる各文字に確率を割り当てます。
従来の RNN 構造を使用するのではなく、より良い結果を生み出す別のアプローチを採用しています。考えられるすべての文字列をツリー状の構造に編成し、各文字が非表示状態の遷移に影響を与えます。このツリーを表現するには、隠れ状態ベクトルを使用して各ノードの情報を取得します。これにより、同様のノード間で情報を効率的に共有できるようになり、モデル全体のパフォーマンスが向上します。キャラクター固有のトランジションを効率的に実装するために、係数を使用した乗算接続を導入します。各係数は 2 つの入力グループに基づいて重み付き合計を計算し、その結果を使用して出力重みをスケールします。キャラクター固有の要素を組み込むことで、現在のキャラクターに基づいて隠れ状態の進化を駆動する遷移行列を決定できます。
このアプローチにより、パラメーターを効率的に利用しながら、文字レベル言語モデリングの複雑さを捉えることができます。キャラクターごとに個別のウェイト マトリックスを維持するのではなく、キャラクター間の類似性を利用してパラメーターを共有します。このパラメーターの共有は、過学習を防止し、計算負荷を軽減するのに役立ちます。
ヘシアンフリー最適化を使用して、Wikipedia の文字列をモデル化します。乗法的な接続とキャラクター固有の因子を利用することで、現在のキャラクターに基づいて隠れ状態間の遷移を効率的に捕捉でき、それによってモデリングのパフォーマンスが向上します。
講義 8.4 — エコー状態ネットワーク
講義 8.4 — エコー状態ネットワーク [機械学習のためのニューラル ネットワーク]
エコー ステート ネットワークは、リカレント ニューラル ネットワーク (RNN) の学習プロセスを簡素化するための賢いアプローチです。これらは、結合された発振器のリザーバーを使用して RNN 内の接続を初期化し、入力を発振器の状態に変換します。これらの状態に基づいて出力を予測することができ、必要な学習は出力を発振器に結合する方法だけです。これにより、非表示から非表示への接続または入力から非表示への接続を学習する必要がなくなります。
複雑なタスクでのエコー状態ネットワークのパフォーマンスを向上させるには、大規模な隠れ状態が必要です。エコー状態ネットワークの慎重に設計された初期化と、勢いのある時間によるバックプロパゲーションを組み合わせることで、その機能をさらに強化できます。リカレント ニューラル ネットワークのトレーニングにおける最近のもう 1 つのアイデアは、非表示間の接続をランダムに修正し、出力接続のトレーニングに重点を置くことです。このアプローチは、フィードフォワード ニューラル ネットワークのランダム特徴検出器の概念に似ており、最後の層のみが学習され、学習プロセスが簡素化されます。
Echo 状態ネットワークが成功するかどうかは、ランダム接続を適切に設定して、消滅や爆発などの問題を回避できるかどうかにかかっています。スペクトル半径は、隠れ重みから隠れ重みまでの行列の最大固有値に対応しますが、アクティビティ ベクトルの長さが安定するようにするには、約 1 に設定する必要があります。疎な接続も重要です。ほとんどの重みがゼロであるため、ネットワークの特定の部分に情報が保持されます。重要な情報を消去することなくオシレーターの状態を駆動するには、入力から隠蔽への接続のスケールを慎重に選択する必要があります。 Echo 状態ネットワークの学習プロセスは高速であるため、接続の規模と疎性を実験してパフォーマンスを最適化できます。エコー状態ネットワークの例が示されており、入力シーケンスによって出力の正弦波の周波数が指定されます。ネットワークは、隠れユニットの状態を使用して線形モデルを当てはめることによって正弦波を生成することを学習し、正しい出力を予測します。中央のダイナミックリザーバーは、入力信号によって駆動される複雑なダイナミクスをキャプチャします。
エコー状態ネットワークには、線形モデルのフィッティングの簡単さによる高速トレーニング、隠れた重みから隠れた重みへの賢明な初期化の重要性、1 次元の時系列を効果的にモデル化する機能など、いくつかの利点があります。ただし、高次元データのモデリングに苦労する可能性があり、従来の RNN と比較してより多くの隠れユニットが必要になります。
Ilya Sutskever は、エコー ステート ネットワーク技術を使用してリカレント ニューラル ネットワークを初期化し、その後、経時的なバックプロパゲーションを使用してトレーニングすることを検討しました。この組み合わせは、リカレント ニューラル ネットワークをトレーニングするための効果的な方法であり、パフォーマンスの向上を達成することが証明されました。エコー状態ネットワークの初期化手法と時間逆伝播 (BPTT) を組み合わせた Ilya Sutskever のアプローチは、リカレント ニューラル ネットワーク (RNN) のトレーニングにおいて有望な結果をもたらしました。エコー状態ネットワークの初期化を使用し、RMSprop やモメンタムなどの手法で BPTT を適用することで、Sutskever 氏は、このアプローチが RNN のトレーニングに非常に効果的であることを発見しました。
エコー状態ネットワークの初期化を使用すると、RNN に優れた開始点が提供され、隠れた出力から出力への接続をトレーニングするだけでも十分に学習できるようになります。しかし、Sutskever の実験では、隠れた重みと隠れた重みも学習することで RNN のパフォーマンスをさらに向上できることが示されました。このハイブリッド アプローチは、エコー ステート ネットワークと従来の RNN の長所を組み合わせることで、両方の方法の利点を活用します。エコー状態ネットワークの初期化は強固な基盤を提供し、BPTT は RNN のパフォーマンスの微調整と最適化を可能にします。このアプローチの成功は、RNN のトレーニングにおける適切な初期化の重要性を示しています。
問題領域のダイナミクスを捉える初期化から始めることで、その後のトレーニングをより効率的かつ効果的に行うことができます。さらに、勢いのある RMSprop などの最適化手法を使用すると、学習プロセスがさらに強化され、より良い結果を達成するのに役立ちます。
エコー状態ネットワークの初期化と BPTT を最適化手法と組み合わせることで、RNN をトレーニングするための強力なアプローチが得られます。両方の方法の長所を活用して、学習効率、モデルのパフォーマンス、予測精度を向上させます。
講義 9.1 — 一般化を改善する方法の概要
講義 9.1 — 一般化を改善する方法の概要 [機械学習のためのニューラル ネットワーク]
このビデオでは、ニューラル ネットワークの過剰適合を減らすことで一般化を改善するというトピックについて説明します。過学習は、トレーニング データの量に比べてネットワークの容量が多すぎる場合に発生します。このビデオでは、ネットワークの容量を制御し、容量制御に適切なメタパラメータを決定するためのさまざまな方法を説明しています。
過学習が発生するのは、トレーニング データに入出力マッピングの真のパターンに関する情報が含まれているだけでなく、トレーニング セットに固有のサンプリング エラーや偶然の規則性も含まれているためです。モデルをフィッティングする際、これらのタイプの規則性を区別することができず、モデルが柔軟すぎてサンプリング誤差にフィットする場合、一般化が不十分になります。
過学習を防ぐ簡単な方法の 1 つは、より多くのデータを取得することです。データ量を増やすと、真の規則性がより適切に表現されるため、過学習が軽減されます。もう 1 つのアプローチは、モデルの容量を慎重に制限して、サンプリング エラーによって引き起こされる偽の規則性のフィッティングを回避しながら、真の規則性を捕捉できるようにすることです。これは難しいかもしれませんが、ビデオでは容量を効果的に調整するためのさまざまなテクニックについて説明しています。
このビデオでは、さまざまなモデルの平均化などのアンサンブル手法の使用についても言及しています。データのさまざまなサブセットでモデルをトレーニングしたり、パフォーマンスが良好なさまざまな重みセットを見つけたりすることで、その予測を平均することで、個々のモデルと比較して全体的なパフォーマンスを向上させることができます。さらに、ベイジアン アプローチでは、単一のニューラル ネットワーク アーキテクチャを使用しますが、出力を適切に予測する重みの複数のセットを見つけて、テスト データに対するそれらの予測を平均します。
モデルの容量は、アーキテクチャの調整 (例: 隠れ層と層ごとのユニットの数を制限する)、重みにペナルティを課す、重みやアクティビティにノイズを追加する、またはこれらの方法を組み合わせて使用するなど、さまざまな手段を通じて制御できます。
容量制御のメタパラメータを設定するときは、結果が特定のテスト セットに偏らないようにする必要があります。このビデオでは、データをトレーニング、検証、テストのサブセットに分割するという、より良いアプローチを提案しています。検証データはモデルのパフォーマンスに基づいて適切なメタパラメータを決定するために使用され、テスト データはネットワークの有効性の不偏な推定値を提供します。テスト データへの過剰適合を避けるために、テスト データを 1 回だけ使用することが重要です。
このビデオでは、データを n 個のサブセットに分割し、これらのサブセットのさまざまな組み合わせでモデルをトレーニングおよび検証して、最良のメタパラメーターの複数の推定値を取得する手法である n 分割相互検証についても言及しています。
最後に、ビデオでは、早期停止と呼ばれる簡単に使用できる方法について説明します。これには、小さな重みから開始し、検証セットでのモデルのパフォーマンスが低下し始めたときにトレーニング プロセスを停止することが含まれます。このアプローチでは、重みが小さいモデルの容量が制限され、線形ネットワークと同様に動作するため、容量が制御されます。適切な時点でトレーニングを停止すると、真の規則性のフィッティングと、トレーニング セットによって引き起こされる偽の規則性のフィッティングとの間のトレードオフが最適化されます。
全体として、このビデオでは、ニューラル ネットワークの容量を制御し、過剰学習を防止するためのさまざまなアプローチを紹介しています。これらの方法には、より多くのデータの取得、容量の慎重な調整、アンサンブル手法の使用、検証による適切なメタパラメータの設定、早期停止などの手法の採用が含まれます。
講義 9.2 — 重みのサイズを制限する
講義 9.2 — 重みのサイズを制限する [機械学習のためのニューラル ネットワーク]
このビデオでは、重みのサイズを制限することでネットワークの容量を制御する方法について説明します。一般的なアプローチは、重みが大きくなりすぎることを制限するペナルティを適用することです。重みが小さいネットワークは、重みが大きいネットワークに比べて単純であると想定されます。
使用できるさまざまなペナルティ項があり、重みに制約を課して、各隠れユニットの入力重みベクトルが特定の長さを超えないようにすることもできます。重みサイズを制限する標準的な方法は、L2 重みペナルティを利用することです。このペナルティは重みの 2 乗値にペナルティを課し、重みの減衰と呼ばれることもあります。このペナルティの導関数は、重みをゼロに向けて引っ張る力として作用します。したがって、重みペナルティは、それを打ち消す重大な誤差導関数がない限り、重みを小さく保ちます。
ペナルティ項は、係数 (ラムダ) を乗算した重みの二乗の合計を 2 で割ったものとして表されます。コスト関数を微分すると、導関数が誤差導関数と、重みの大きさとラムダの値に関連する項の合計であることがわかります。重みの大きさが導関数の大きさのラムダ倍で 1 に等しい場合、導関数はゼロになります。したがって、大きな重みは、相当の誤差導関数も持つ場合にのみ存在できます。このプロパティにより、影響が最小限に抑えられる大きな重みが少なくなるため、重みの解釈が容易になります。
L2 重みペナルティにより、ネットワークが不必要な重みを利用することが防止され、その結果一般化が向上します。さらに、入力の変化に応じて出力がより緩やかに変化する、より滑らかなモデルが得られます。同様の入力の場合、重みペナルティによって重みが均等に分配されますが、ペナルティなしではすべての重みが 1 つの入力に割り当てられる可能性があります。
L2 ペナルティとは別に、重みの絶対値にペナルティを課す L1 ペナルティなど、他の重みペナルティを使用することもできます。このタイプのペナルティにより、多くの重みが正確にゼロになり、解釈が容易になります。重みが増加するにつれてコスト関数の勾配が減少する場合、より極端な重みペナルティを適用できます。これにより、ネットワークは大きな重みをゼロに近づけることなく維持でき、ペナルティを小さな重みに集中させることができます。
ペナルティの代わりに、重量制限を使用することもできます。重み制約を使用すると、各隠れユニットまたは出力ユニットの入力重みベクトルに最大二乗長が課されます。長さが制約を超える場合、長さが許容制限内に収まるまで、すべての重みを同じ係数で除算して重みがスケールダウンされます。重み制約は、二乗長の適切な値を選択するのが簡単であるため、重みペナルティよりも利点があります。さらに、ウェイト制約により、非表示のユニットが小さく非効果的なウェイトに固定されるのを防ぎます。また、重量の爆発も防ぎます。
さらに、重量制限はペナルティに微妙な影響を与えます。ユニットがその制約に達すると、すべての重みに対する実効ペナルティが大きな勾配によって決まります。大きな勾配により、入力ウェイト ベクトルの長さが押し上げられ、他のウェイトに下向きの圧力がかかります。この自己スケーリング ペナルティは、無関係な重みをゼロに近づける固定ペナルティよりも効果的です。ラグランジュ乗数の観点からは、ペナルティは制約を満たすために必要な乗数とみなすことができます。
ウェイト制約を使用すると、ウェイト ペナルティに比べていくつかの利点があります。最適な重みペナルティを決定するよりも、入力重みベクトルの二乗長の適切な値を選択する方が簡単です。ロジスティック単位には自然なスケールがあり、重量値 1 の重要性を理解しやすくなります。
また、ウェイト制約により、隠れユニットがすべてのウェイトが非常に小さく効果がなくなってスタックすることも防止されます。すべての重みが小さい場合、重みの増加に制約がなく、役に立たなくなる可能性があります。重み制約により、重みが無視できなくなります。
ウェイト制約のもう 1 つの利点は、場合によってはウェイト ペナルティによって発生する可能性のあるウェイトの爆発を防ぐことです。これは、ネットワークの安定性を維持し、数値の不安定性を防ぐために非常に重要です。
ウェイト制約のさらに微妙な影響は、ペナルティへの影響です。ユニットが制約に達し、重みベクトルの長さが制限されると、すべての重みに対する実効ペナルティが大きな勾配の影響を受けます。大きな勾配により、入力ウェイト ベクトルの長さが上に押し上げられ、その結果、他のウェイトに下向きの圧力がかかります。本質的に、ペナルティ自体は、重要な重みに適切になるように調整され、小さな重みは抑制されます。この適応ペナルティ メカニズムは、無関係な重みをゼロに近づける固定ペナルティよりも効果的です。
ラグランジュ乗数に精通している人にとって、ペナルティは、制約を満たすために必要な対応する乗数とみなすことができます。重み制約は、ネットワークの重みの望ましい特性を強制する方法として機能します。
重みのサイズを制限することによるネットワークの容量の制御は、ペナルティまたは制約によって実現できます。どちらの方法にもそれぞれ利点がありますが、重み制約を使用すると、適切な値の選択がより簡単になり、重みが無視できなくなったり爆発したりすることがなくなり、自己スケーリング ペナルティ メカニズムが提供されます。これらの技術は、ニューラル ネットワークの解釈可能性、安定性、有効性に貢献します。
講義 9.3 — ノイズを正則化器として使用する
講義 9.3 — ノイズを正則化器として使用する [機械学習のためのニューラル ネットワーク]
ニューラル ネットワークの容量を制限する別の方法を検討してみましょう。これには、重みまたはアクティビティのいずれかにノイズを追加することが含まれます。二乗誤差を最小限に抑えることを目的として、単純な線形ネットワークの入力にノイズを追加することは、ネットワークの重みに L2 ペナルティを課すことと同じです。この概念は、ノイズの多い重みが使用される、特にリカレント ネットワークで使用される、より複雑なネットワークに拡張でき、パフォーマンスの向上が見られます。
さらに、ノイズをレギュラライザーとしてアクティビティに導入することもできます。バックプロパゲーションを使用して、ロジスティック隠れユニットを含む多層ニューラル ネットワークをトレーニングすることを検討してください。前方パス中にユニットをバイナリかつ確率的にし、後向きパス中に実数値を使用して決定論的であるかのように扱うことにより、確率的バイナリ ニューロンを作成します。完全に正確というわけではありませんが、このアプローチはトレーニングに時間がかかるにもかかわらず、トレーニング セットと比較してテスト セットでより良いパフォーマンスをもたらします。
重みやアクティビティにノイズを組み込むこれらの方法は、ニューラル ネットワークの容量を制御し、一般化機能を向上させるための代替技術を提供します。
要約すると、ニューラル ネットワークにノイズを追加することは、容量を制御し、一般化を向上させるための有用な戦略となり得ます。ガウス ノイズを入力に導入することで、L2 重みペナルティと同様の効果を達成できます。これにより、二乗重みに基づいてノイズの分散が増幅され、全体の二乗誤差に寄与します。重みのノイズは、リカレント ネットワークなどのより複雑なネットワークで特に効果的であり、パフォーマンスの向上につながります。
さらに、正則化手法としてノイズをネットワークのアクティビティに適用することもできます。順方向パス中にユニットを確率的バイナリ ニューロンとして扱い、バックプロパゲーション中に実際の値を使用することにより、システムにランダム性を導入します。このアプローチではトレーニングが遅くなる可能性がありますが、多くの場合、テスト セットでのパフォーマンスが向上し、一般化が向上していることがわかります。
重みやアクティビティの形式を問わず、ノイズを追加すると、容量を制限し、ニューラル ネットワークの堅牢性と汎化能力を強化するための代替アプローチが提供されます。
講義 9.4 — 完全なベイズ手法の紹介
講義 9.4 — 完全なベイジアン アプローチの紹介 [機械学習のためのニューラル ネットワーク]
モデルをフィッティングするベイジアン アプローチでは、最も可能性の高いパラメーターを検索するのではなく、パラメーターの考えられるすべての設定を検討します。パラメータの事前分布を仮定し、それを観測データの尤度と組み合わせて事後分布を取得します。
コイン投げの例では、頻度主義的なアプローチ (最尤法) は、観測されたデータの尤度を最大化するパラメーター値を選択することを提案します。ただし、このアプローチには限界があり、以前の信念や不確実性を説明できない可能性があります。
ベイジアン フレームワークでは、事前分布がパラメーター値に割り当てられます。データを観察した後、事前分布に各パラメータ値の尤度が乗算され、正規化されていない事後分布が得られます。適切な確率分布を取得するには、事後分布を面積 1 になるようにスケーリングすることで再正規化します。
反復ステップを通じて、より多くのデータが観察されるにつれて事後分布が更新されます。最終的な事後分布は、事前の知識と観察されたデータの両方を組み込んだ、パラメーター値に関する最新の信念を表します。妥当なパラメータ値の範囲とその確率が提供されます。
ベイズの定理は、データが与えられたパラメーター値の事後確率を計算するために使用されます。これには、事前確率にそのパラメーター値が与えられたデータの尤度を乗算し、それをデータの確率で割ることによって正規化することが含まれます。
完全な事後分布を考慮することにより、ベイズ手法ではパラメータ値のより包括的な分析が可能になり、事前の信念を組み込んで観察データに基づいてパラメータ値を更新できます。
講義 9.5 — 重み減衰のベイズ的解釈
講義 9.5 — 重み減衰のベイズ解釈 [機械学習のためのニューラル ネットワーク]
このビデオでは、完全なベイズ アプローチにおける重みペナルティのベイズ解釈について説明します。ベイジアン アプローチの目標は、モデルのパラメーターのすべての可能な設定の事後確率を計算することです。ただし、最大事後学習と呼ばれる簡略化されたバージョンでは、事前の信念の当てはめと観察されたデータの当てはめの間の最良の妥協点である単一セットのパラメータを見つけることに重点が置かれています。このアプローチは、モデルの容量を制御するための重み減衰の使用についての説明を提供します。教師あり最尤学習中に二乗誤差を最小化する場合、本質的には、正解の対数確率密度を最大化する重みベクトルを見つけることになります。この解釈は、ニューラル ネットワークの出力にガウス ノイズを追加することによって正解が生成されることを前提としています。
この確率的解釈では、モデルの出力はガウス分布の中心とみなされ、そのガウス分布の下で高い確率で目標値が得られることに関心があります。ネットワークの出力を考慮したターゲット値の負の対数確率密度は、ターゲットと出力の差の二乗をガウス分散の 2 倍で割ったものに相当します。ログを取得してマイナス記号を付けると、ネットワークの出力を考慮したターゲット値の負の対数確率密度がコスト関数になります。このコスト関数を最小化することは、二乗距離を最小化することと同じです。これは、二乗誤差を最小化するときに、ガウス分布の下で対数確率を最大化するという確率的解釈があることを示しています。
適切なベイジアン アプローチは、すべての可能な重みベクトルにわたる完全な事後分布を見つけることですが、これは非線形ネットワークでは困難な場合があります。より簡単な代替方法として、最も可能性の高い重みベクトル、つまり事前の知識とデータを考慮すると最も可能性が高い重みベクトルを見つけることを試みることができます。
最大事後学習では、事前のフィッティングとデータのフィッティングの間のトレードオフを最適化する重みのセットを見つけることを目的としています。負の対数確率をコストとして使用する方が、確率領域で作業するよりも便利です。重みが与えられたデータの対数確率を最大化します。これは、重みが与えられたすべてのトレーニング ケースの出力の対数確率の合計を最大化することと同じです。重みを最適化するために、データが与えられた重みの負の対数確率を考慮します。このコストは 2 つの項で構成されます。1 つはデータと重みの両方に依存する項で、ターゲットにどの程度適合するかを測定します。もう 1 つは重みのみに依存する項で、重みが与えられたデータの対数確率から導出されます。
予測を行うためにモデルの出力にガウス ノイズが追加され、重みについては事前ガウスが適用されると仮定すると、重みが与えられたデータの対数確率は、出力とターゲットの間の二乗距離を分散の 2 倍でスケールしたものになります。ガウスノイズ。同様に、事前分布に基づく重みの対数確率は、事前ガウス分散の 2 倍でスケールされた重みの 2 乗値です。
ガウス ノイズ以前の分散の 2 倍の積を乗算することで、新しいコスト関数が得られます。最初の項は、ニューラル ネットワークで通常最小化される二乗誤差に対応します。 2 番目の項は、2 つの分散の比に重みの 2 乗の合計を乗算したものになり、これが重みペナルティになります。したがって、重みペナルティは、このガウス解釈における分散の比率によって決定され、この枠組み内の任意の値ではありません。したがって、このベイジアン解釈における重みペナルティは、パフォーマンスを向上させるために選択される単なる任意の値ではありません。ガウス ノイズと事前の分散に基づいた意味のある解釈が得られます。
さらに詳しく説明すると、方程式に分散の 2 倍を乗算し、すべてのトレーニング ケースで合計すると、最初の項はニューラル ネットワークの出力とターゲットの差の 2 乗に対応します。この用語は、ニューラル ネットワークで通常最小化される二乗誤差を表します。 2 番目の項は重みのみに依存し、2 つの分散の比に重みの 2 乗の合計を乗算したものになります。今期はウェイトペナルティです。大きな重み値にペナルティを与え、より小さな重み値を奨励します。分散の比率によって、このペナルティの強さが決まります。
基本的に、重みペナルティを導入することで、データを適切にフィッティングすることと重みを小さく保つことの間でトレードオフを行っています。このトレードオフは、分散の比率によって制御されます。重みペナルティが大きいほど(つまり、分散比が小さい)、重みは小さくなりますが、重みペナルティが小さいほど(つまり、分散比が大きい)、重みを大きくすることができます。ベイズ手法としての重み減衰または重みペナルティの解釈は、ガウス ノイズとガウス事前分布の仮定に依存していることに注意することが重要です。これらの仮定により計算が簡素化され、最適化プロセスに対する重みペナルティの影響を理解するための確率論的な枠組みが提供されます。
実際には、考えられるすべての重みベクトルにわたる完全な事後分布を見つけることは、特に複雑な非線形ネットワークの場合、計算的に困難になる可能性があります。したがって、最も可能性の高い重みベクトルを見つけることを目的とした最大事後学習は、より実用的な代替手段を提供します。このアプローチは、以前の信念と観察されたデータの適合のバランスをとり、妥協的な解決策を提供します。
ウェイト ペナルティのベイジアン解釈は、ニューラル ネットワークの最適化におけるウェイト ペナルティの役割をより深く理解するのに役立ちます。確率的な観点と、データのフィッティングと事前の重みの間のトレードオフを考慮することで、重みペナルティを正則化手法として活用して、モデルの容量を制御し、汎化パフォーマンスを向上させることができます。
講義 9.6 — マッケイのクイック・アンド・ダーティ・メソッド
講義 9.6 — MacKay のクイック アンド ダーティ メソッド [機械学習のためのニューラル ネットワーク]
このビデオでは、検証セットに依存せずにニューラル ネットワークで重みペナルティを決定するために David MacKay によって 1990 年代に開発された方法について説明します。 MacKay のアプローチは、最大事後 (MAP) 推定としての重みペナルティの解釈に基づいており、重みペナルティの大きさは重みに対する事前分布の厳密さに関係します。
MacKay は、重みペナルティとニューラル ネットワークの出力の想定ノイズの両方を経験的に適合できることを実証しました。これにより、検証セットを必要とせずに重みペナルティを適合させる方法が得られ、ネットワーク内の接続のサブセットに対して異なる重みペナルティを適用できるようになります。この柔軟性を検証セットを使用して実現するには、計算コストが高くなります。
ここで、2 つの分散の比率としてのウェイト ペナルティの解釈を活用するために、David MacKay によって開発されたシンプルで実用的な方法について説明します。二乗誤差を最小化するモデルを学習した後、出力分散の最適な値を決定できます。この値は、残差誤差の分散を使用して取得されます。
重みの事前ガウス分布の分散を推定することもできます。最初に、この分散について推測し、学習プロセスを進めます。ここで経験的ベイズと呼ばれる「汚いトリック」が登場します。事前分散を、モデルが学習した重みの分散になるように設定します。これは、これらの重みが最も可能性が高いためです。これはベイジアン アプローチのいくつかの前提に違反しますが、データに基づいて事前分布を決定することができます。
重みを学習した後、学習した重みの 1 次元分布にゼロ平均ガウス分布を当てはめます。次に、このガウスの分散を重み事前分散として取得します。特に、異なる層などに重みの異なるサブセットがある場合、層ごとに異なる分散を学習できます。
MacKay の方法の利点は、検証セットが必要ないため、テスト以外のすべてのデータをトレーニングに使用できることです。さらに、検証セットを使用して達成するのは困難である複数の重みペナルティを組み込むことができます。
この方法を要約すると、ノイズ分散と重み事前分散の比率を推測することから始めます。次に、重みを改善するために勾配降下学習を実行します。次に、ノイズ分散を残差誤差の分散として更新し、重み事前分散を学習された重みの分布の分散として更新します。このループが繰り返し繰り返されます。
実際、マッケイのメソッドは効果的に機能することが示されており、彼はこのアプローチを使用していくつかの競技会で成功を収めました。
10.1 — モデルを組み合わせることがなぜ役立つのか
10.1 — モデルを組み合わせることがなぜ役立つのか [機械学習のためのニューラル ネットワーク]
このビデオでは、予測を行うために複数のモデルを組み合わせる重要性について説明します。単一モデルを使用する場合、そのモデルに適切な容量を選択するという課題に直面します。容量が低すぎると、モデルはトレーニング データの規則性を捕捉できません。一方、容量が高すぎる場合、モデルは特定のトレーニング セットのサンプリング誤差を過剰適合させます。複数のモデルを組み合わせることで、真の規則性への適合と過剰適合の回避との間でより良いバランスをとることができます。モデルをまとめて平均化すると、単一のモデルを使用する場合と比較して、より良い結果が得られることがよくあります。この効果は、モデルが多様な予測を行う場合に特に顕著です。モデルに異なる予測をさせることは、さまざまな手法を通じて実現できます。
限られたトレーニング データを扱う場合、過剰適合が一般的な問題になります。ただし、複数のモデルの予測を考慮することで、過剰適合を軽減できます。これは、モデルが異なる予測を行う場合に特に当てはまります。回帰では、二乗誤差をバイアス項と分散項に分解できます。バイアス項はモデルが真の関数にどの程度近似しているかを示し、分散項はトレーニング セット内のサンプリング エラーを捕捉するモデルの能力を測定します。高容量モデルは低いバイアスを示すことが多いため、モデルを平均化することで、低いバイアスを維持しながら分散を減らすことができます。これにより、平均化の利点を活用して誤差を減らすことができます。
特定のテスト ケースで個々のモデルをモデルの平均と比較すると、一部の個別の予測変数が結合された予測変数よりも優れたパフォーマンスを示す可能性があります。ただし、個々の予測変数が異なる場合に優れています。さらに、個々の予測子が互いに大きく一致しない場合、通常、結合された予測子は平均してすべての個別の予測子よりも優れています。したがって、目標は、正確さを保ちながら、互いに明確な誤差を生じる個々の予測変数を用意することです。
数学的には、ネットワークを組み合わせるときに、2 つの期待二乗誤差を比較します。最初のエラーは、1 つの予測子をランダムに選択し、すべての予測子の予測を平均することに対応します。 2 番目の誤差は、モデルの予測を平均することによって取得されます。モデルをランダムに選択することで期待される二乗誤差は、平均化によって達成される二乗誤差よりも大きく、誤差を減らす上で平均化が有利であることを示しています。方程式の追加項はモデルの出力の分散を表し、平均化によって効果的に低減されます。
モデル間で多様な予測を実現するには、さまざまなアプローチを使用できます。これには、さまざまなタイプのモデルの使用、モデル アーキテクチャの変更、さまざまな学習アルゴリズムの採用、データのさまざまなサブセットでのモデルのトレーニングが含まれます。バギングやブースティングなどのテクニックも、多様なモデルを作成するのに効果的です。バギングでは、データの異なるサブセットで異なるモデルをトレーニングすると同時に、モデルごとに異なるトレーニング ケースの重み付けを行います。これらの方法は、モデルを結合するときのパフォーマンスの向上に貢献します。
複数のモデルを組み合わせると、予測タスクに役立ちます。モデルを平均化することで、規則性の把握と過剰適合の回避との間でバランスをとることができます。モデル間の多様な予測により、組み合わせた予測子のパフォーマンスが向上します。さまざまな手法を適用して多様な予測を促進し、全体的な結果を向上させることができます。