3つの勾配降下法アルゴリズム(BGD、SGD、MBGD)の違い

3つの勾配降下法アルゴリズム(BGD、SGD、MBGD)の違い

序文

ネットワークをトレーニングするときに、batch_size を設定することがよくあります。この batch_size は何に使用されますか? 10,000 枚の画像のデータセットはどのくらいの大きさにする必要がありますか? これを 1、10、100、または 10,000 に設定するとどのような違いがありますか?

  1. # 手書き数字認識ネットワークのトレーニング方法 
  2. ネットワーク.fit(  
  3. 列車画像、  
  4. トレーニングラベル、  
  5. エポック=5,  
  6. バッチサイズ=128)

バッチ勾配降下法 (BGD)

勾配降下法アルゴリズムは、一般的に損失関数を最小化するために使用されます。元のデータをネットワークに入力すると、ネットワークは特定の計算を実行し、ネットワークの計算結果と実際の状況のギャップを表す損失関数を取得します。勾配降下法アルゴリズムは、トレーニングされた結果が実際の状況により適合するようにパラメータを調整するために使用されます。これが勾配降下法の意味です。

バッチ勾配降下法は、勾配降下法の最も原始的な形式です。その考え方は、すべてのトレーニング データを使用して勾配をまとめて更新することです。勾配降下法アルゴリズムでは、損失関数の導関数を見つける必要があります。トレーニング データ セットが比較的大きい場合は、すべてのデータをまとめて読み込み、ネットワークでまとめてトレーニングし、合計する必要があると考えられます。これは巨大な行列になり、計算量も非常に膨大になります。もちろん、これには利点もあります。つまり、すべてのトレーニング セットが考慮されるため、ネットワークは最適な (極端な) 方向に最適化される必要があります。

確率的勾配降下法 (SGD)

バッチ勾配降下法とは異なり、確率的勾配降下法の考え方は、一度に 1 つのトレーニング セットを取り出してフィッティング トレーニングを実行し、反復トレーニングを実行するというものです。トレーニング プロセスでは、まずトレーニング データを取り出し、ネットワーク パラメータを修正して適合させ、パラメータを変更します。次に、次のトレーニング データを取り出し、修正したばかりのネットワークを使用して適合させてパラメータを変更します。これを繰り返して、各データがネットワークに入力されるまで繰り返し、パラメータが比較的安定するまで繰り返します。利点は、各フィッティングに 1 つのトレーニング データのみが使用され、更新の反復の各ラウンドが非常に高速になることです。欠点は、フィッティングが実行されるたびに 1 つのトレーニング データのみが考慮され、最適化の方向がトレーニング セット内のネットワークの全体的な最適方向であるとは限らず、多くの場合、ジッタが発生したり、ローカル最適値に収束したりすることです。

ミニバッチ勾配降下法 (MBGD)

ミニバッチ勾配降下法は、今でもコンピューターで最も一般的に使用されている妥協案を使用しています。ネットワークがトレーニングされるたびに、トレーニング データ セット全体ではなく、トレーニング データ セット内の特定のデータ セットでもなく、その一部、たとえば毎回 20 個の入力がトレーニングされます。これにより、データ量が多すぎて計算が遅くなったり、特定のトレーニング サンプルの特定のノイズ特性によってネットワークが激しく振動したり、最適でない方向に最適化されたりすることがなくなると考えられます。

これら 3 つの勾配降下アルゴリズムの計算方法を比較します。バッチ勾配降下法は大きな行列に対する演算であり、行列計算の最適化を使用して並列計算を実行することを検討できますが、メモリなどのハードウェア性能に対する要件が高くなります。ランダム勾配降下法の各反復は前の計算結果に依存するため、並列計算はできず、ハードウェア要件は低くなります。また、小さなバッチ勾配降下法では、各反復はより小さな行列であり、ハードウェア要件は高くありません。同時に、行列演算は並列計算でき、複数の反復間でシリアル計算が使用されるため、全体的に時間が節約されます。

下の図を見ると、3 つの勾配降下アルゴリズムによるネットワークの最適化の反復プロセスがよりよく反映されており、より直感的な印象を与えることができます。

要約する

勾配降下アルゴリズムの調整では、トレーニング データ セットが非常に小さい場合は、バッチ勾配降下法を直接使用できます。一度に取得できるトレーニング データが 1 つだけの場合、またはトレーニング データがリアルタイムでオンラインで送信される場合は、確率的勾配降下法を使用できます。その他の場合や一般的な場合は、バッチ勾配降下アルゴリズムを使用する方が適切です。

<<:  今年の主要リリース: 人工知能開発レポート 2020

>>:  IDC: 2021 年の中国スマート デバイス市場に関するトップ 10 の予測

ブログ    

推薦する

ChatGPTが新たな著作権紛争に巻き込まれる: ホラー小説作家2人が、訓練のために作品を盗んだとしてOpenAIを訴えた

7月6日、AIモデルのトレーニングデータソースの著作権は常に話題となっていた。以前、マイクロソフトは...

...

AI はどのようにして人間の会話の内容を認識するのでしょうか?マイクロソフト研究チームがお伝えします

[[280027]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

LeCun はそれを見て良かったと言っていました! Meta AI は音声、視覚、テキストで同時に SOTA を達成

人間の知能は「マルチモーダル学習」の総体であり、分類の境界を越えてさまざまな情報源や形式からの情報と...

AIはキーボードの音を聞いてパスワードを盗むことができ、その精度は最大95%

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIトレーニングの福音: 合成データについて

今日、AI テクノロジーは克服するのが難しいいくつかの主要な課題に直面しています。正確な結果を提供す...

人工知能とデザインの未来

人工知能はあらゆる業界に混乱をもたらしています。医療分野では、AI 技術が病気の診断において人間を上...

...

AIビデオ分析技術はどのように機能するのでしょうか?どのように機能しますか?

リアルタイムAI映像解析技術とは?リアルタイム AI ビデオ分析は、ビデオ ストリームを分析して、特...

必読 | AI 変革のための開発者ガイド

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

AI戦略について尋ねるべき10の質問

近年、AI テクノロジーに投資している企業の大多数は、一般的に、AI アプリケーションを業務改善やコ...

Python データ分析の基礎: 外れ値の検出と処理

機械学習において、異常検出と処理は比較的小さな分野、または機械学習の副産物です。一般的な予測問題では...