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 の予測

ブログ    
ブログ    
ブログ    

推薦する

GPT-3 がマーベル ユニバースに登場! 2Dの男がスパイダーマンの続編を作るためにそれを使用しました

GPT-3 は論理的な手順に従ってコーパステキストを洗練して要約できるため、詩やラップの歌詞を書くの...

...

ヘルスケアにおける AI と ML の可能性を解き放つ

ヘルスケア分野では、人工知能 (AI) と機械学習 (ML) が患者のケア、診断、治療に大きな進歩を...

...

人工知能(AI)時代に誰もが身につけるべき9つのソフトスキル

今日の人工知能、ビッグデータ、自動化の時代では、技術的なスキルとデータリテラシーが非常に重要です。し...

AIチップがまだ普及していないのはなぜでしょうか?

2019年、国内外の業界関係者が共同でAIチップの開発を推進しました。 7nmチップはまだ完全に展...

ラマ2 ビッグバン!バークレーは実機テストで8位、iPhoneでローカル実行可能、多数のアプリが無料でプレイ可能、ルカンも夢中

昨日、Meta は Llama 2 の無料商用バージョンをリリースし、再びオープンソース コミュニテ...

APIなしでは「AI」が成功できない理由

クラウド、携帯電話時代、メタバース、そして現在の人工知能などのテクノロジーのトレンドはすべて、表面下...

大人気すぎてブレイク中! ByteDanceのGPT部門フローの秘密を解明

ノアが編集制作:51CTO テクノロジースタック(WeChat ID:blog) 「大規模な言語モデ...

スマート信号機は歩行者が道路を横断する時間を長くする

[[392088]]画像ソース: https://pixabay.com/images/id-329...

...

...

2021 年に注目すべき 5 つのロボティック プロセス オートメーション (RPA) トレンド

過去2、3年で、中国におけるロボティック・プロセス・オートメーション(RPA)の応用は急速に拡大しま...

ロボティックプロセスオートメーションの開発展望

ロボティック プロセス オートメーション (RPA) は、今日のデジタル サポート エクスペリエンス...

中国は人工知能(AI)で世界をリードしており、多くの技術が世界をリードしている。

[[217124]] [[217125]] [[217126]]ディープラーニングは最も急速に成長...