ニューラルネットワークのトレーニングでは、エポック、バッチサイズ、反復の違いがわかりません

ニューラルネットワークのトレーニングでは、エポック、バッチサイズ、反復の違いがわかりません

[[204925]]

きっと、コンピューターの画面を見て頭を悩ませ、「なぜコードでこの 3 つの用語を使用しているのだろう。これらの用語の違いは何だろう」と疑問に思ったことがあるでしょう。なぜなら、これら 3 つの用語はすべて非常によく似ているからです。

これらの用語の違いを理解するには、勾配降下法など、機械学習に関するいくつかの用語を知っておく必要があります。

勾配降下法の意味を簡単にまとめると次のようになります。

勾配降下法

これは、最適な結果 (曲線の最小値) を見つけるために機械学習で使用される反復最適化アルゴリズムです。

勾配とは、傾斜または斜面の傾きを意味します。

減少の意味はコスト関数の減少です。

このアルゴリズムは反復的であるため、最適な結果を得るには複数回使用する必要があります。勾配降下法の反復的な性質により、適合度の低いグラフを進化させて、データに最も適合したものを得ることができます。

勾配降下法には学習率と呼ばれるパラメータがあります。上の図の左に示すように、学習率は最初は大きいため、降下ステップのサイズは大きくなります。ポイントが減少するにつれて、学習率はますます小さくなり、したがって降下ステップ サイズも小さくなります。同時に、コスト関数も減少します。つまり、コストが減少します。これは損失関数または損失とも呼ばれますが、どちらも同じです。 (損失/コスト削減は良いことです)

エポック、バッチ サイズ、反復などの用語を使用する必要があるのは、データが膨大な場合 (機械学習ではほとんどの場合に当てはまります) のみであり、その場合、データを一度にすべてコンピューターに取り込むことは不可能です。したがって、この問題を解決するには、データを小さなチャンクに分割し、それらを 1 つずつコンピューターに渡し、各ステップの最後にニューラル ネットワークの重みを更新して、指定されたデータに適合させる必要があります。

エポック

完全なデータセットがニューラル ネットワークを 1 回通過して戻ってくるプロセスをエポックと呼びます。

ただし、エポックがコンピューターで処理するには大きすぎる場合は、エポックを小さなチャンクに分割する必要があります。

複数のエポックを使用するのはなぜですか?

最初は奇妙に聞こえるかもしれませんが、完全なデータセットをニューラル ネットワークに 1 回渡すだけでは不十分で、同じニューラル ネットワークに完全なデータセットを複数回渡す必要があります。ただし、有限のデータセットを扱っており、学習プロセスとグラフを最適化するために反復プロセスである勾配降下法を使用していることを忘れないでください。したがって、重みを 1 回だけ更新したり、1 つのエポックを使用したりするだけでは不十分です。


エポック数が増加すると、ニューラル ネットワーク内の重みの更新回数も増加し、曲線はアンダーフィットからオーバーフィットへと変化します。

では、いくつのエポックが適切なのでしょうか?

残念ながら、この質問に対する正しい答えはありません。答えはデータ セットによって異なります。ただし、データの多様性は適切なエポック数に影響します。たとえば、黒猫だけのデータセットと、さまざまな色の猫のデータセットがあります。

バッチサイズ

バッチ内のサンプルの合計数。注意: バッチ サイズとバッチ数は異なります。

BATCHとは何ですか?

データをニューラル ネットワークに挿入できない場合は、データ セットを複数のバッチに分割する必要があります。

この記事を「はじめに」、「勾配降下法」、「エポック」、「バッチ サイズ」、「反復」などのいくつかの部分に分割して、記事を読みやすく理解しやすくします。

反復

反復を理解するために必要なのは、九九表か電卓だけです。反復は、バッチがエポックを完了するために必要な回数です。覚えておいてください: 1 つのエポックでは、バッチの数と反復回数は同じです。

たとえば、2000 個のトレーニング サンプルを含むデータ セットの場合。 2000 個のサンプルをサイズ 500 のバッチに分割すると、1 エポックを完了するには 4 回の反復が必要になります。

<<:  cnBeta は、開発者が AI アプリケーションを構築するのに役立つ 3 つの新しい機械学習ツールをリリースしました。

>>:  人工知能が試験重視教育の華容道を阻む

ブログ    
ブログ    
ブログ    

推薦する

崑崙万為が「天宮」13Bシリーズ大型モデルをオープンソース化、商用利用のハードルはゼロ

10月30日、崑崙万為は、数百億語の容量を持つ大規模言語モデル「天工」Skywork-13Bシリーズ...

Google、かわいい動物動画生成に優れたAI動画ジェネレータ「Lumiere」をリリース

海外メディアの報道によると、1月26日、GoogleはLumiereと呼ばれる人工知能ビデオジェネレ...

5分でAdam最適化アルゴリズムを素早くマスター

[[389202]]勾配降下法は、目的関数の負の勾配に従って関数の最小値を見つける最適化アルゴリズム...

サポートベクターマシンを使用して非線形データセットを学習する方法

サポートベクターマシン (SVM) [[326874]]サポート ベクター マシンとは何ですか? サ...

人工知能:顔認識技術の応用シナリオの紹介

1. シーン分類 顔認識:セキュリティ監視認識、顔アクセス制御、有名人の顔、VIP ID認識など。人...

自然言語処理パート1: テキスト分類器

[[194511]]序文テキスト分類は、自動記事分類、自動メール分類、スパム識別、ユーザー感情分類な...

製造業における人工知能の活用事例トップ10

世界経済の礎である製造業は、人工知能 (AI) が推進する技術革命の最前線にあります。この記事では、...

百度技術委員会の呉華委員長:NLP技術は機械に人間の言語によるコミュニケーション能力を持たせるはずだ

[[211656]] 「人工知能を人間の生活に取り入れたいなら、人間とコミュニケーションできる言語能...

人工知能が人間に取って代わり、多くの人が失業することになるのでしょうか?

人工知能とは何ですか? AI と呼ばれる人工知能は、コンピュータ サイエンスの一分野です。このテクノ...

...

自動運転にはバブルが必要

業界に「金儲けの見込み」があれば、必然的に「混乱」が起こります。 10年前はスマートフォンでしたが、...

マイクロソフトのGitHubはAIを使ってソフトウェア開発者の心を理解しようとしている

コード共有サービス GitHub は、ソフトウェア開発者向けの人工知能アシスタント「GitHub C...

人工知能によりデータの痕跡を監視できるようになりました。このとき、ユーザーのプライバシーとセキュリティをどのように維持できるのでしょうか?

近年、ソーシャル ネットワーキング プラットフォームのユーザー数は飛躍的に増加しています。これらのプ...

ほんの数行の Python コードで、将来の子供がどのような外見になるかを予測できますか?強力な人工知能

今回はBaidu Smart Cloudの顔認識機能とPythonを組み合わせて実験してみました。結...