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

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

[[204925]]

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

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

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

勾配降下法

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

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

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

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

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

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

エポック

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

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

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

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


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

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

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

バッチサイズ

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

BATCHとは何ですか?

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

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

反復

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

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

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

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

ブログ    
ブログ    
ブログ    

推薦する

機械知能に取って代わられない5つのスキル

「機械知能が人間のために行っている 5 つのこと」という記事では、機械が常に新しい奇跡を生み出してい...

自動運転のセキュリティ確保 - 主流のミドルウェア設計について

国内外の新車メーカーの急速な台頭により、自動車の知能レベルは向上し続けています。車両の中央コンピュー...

...

医者から「ビジネスを奪いたい」ですか?人工知能はこれら3つの大きな困難を克服しなければならない

10年以上が経過し、ディープラーニングは人工知能の発展の機会を提供してきました。並列コンピューティン...

古典的なソートアルゴリズムヒープソートの簡単な分析

ヒープは通常、(完全な) ツリーとして表示できるオブジェクトの配列です。そして、以下のルールは常に満...

すべての最大共通部分列を見つけるためのアルゴリズムの実装

1. LCS分析まず、サブシーケンスとは何でしょうか?定義は書きませんが、一目でわかるように例を挙げ...

...

...

ラマ事件じゃないよ!李開復の大型モデルが貝殻論争に巻き込まれ、チームの2度目の反応がここに!

ノアとシャオウが編集制作:51CTO テクノロジースタック(WeChat ID:blog)昨日、テク...

Google 研究者: AI が優秀すぎて「ラインを落とした」

数日前、人工知能の分野でほとんどブラックユーモアとも言えるニュースが発表された。Google のエン...

ディープラーニングアルゴリズムの全貌:その正しさを理論的に証明する

論文アドレス: https://arxiv.org/abs/1705.07038この論文では、ディー...

...

データマイニングにおけるトップ10の古典的なアルゴリズム

国際的に有名な学術組織である IEEE 国際データマイニング会議 (ICDM) は、データマイニング...

9つの一般的な畳み込みニューラルネットワークの紹介

畳み込みの目的は、入力から有用な特徴を抽出することです。画像処理では、さまざまなフィルターを選択でき...

...