線形回帰: ハイパーパラメータ

ハイパーパラメータは変数 さまざまな側面を管理するシステムです一般的なハイパーパラメータは次の 3 つです。

一方、パラメータは 重みやバイアスなどの変数ですイン つまり、ハイパーパラメータはユーザーが制御する値です。パラメータは値であり、 計算されます。

学習率

学習率は、 自動スクロールの速度に影響している モデルが収束します。学習率が低すぎると、モデルに長時間かかることがある 収束します。ただし、学習率が高すぎると、モデルは学習をまったく 収束しますが、逆に最小化する重みとバイアスの 損失です。目標は、高すぎず低すぎない学習率を選択することです。 モデルがすばやく収束することを示します。

学習率によって重みの変化の大きさが決まる 勾配降下法の各ステップで、バイアスとバイアスがこのモデルは、 勾配を学習率で計算してモデルのパラメータ(重み とバイアス値など)が使用されます。勾配のステップ 3 では、 「少量」は「小量」です。方向に進む 学習率を意味します

古いモデル パラメータと新しいモデル パラメータの違いは次のとおりです。 損失関数の傾きに比例しますたとえば、傾きが モデルのステップが大きくなります。小さくても、小さな一歩で済みます。対象 たとえば、勾配の大きさが 2.5、学習率が 0.01 の場合、 モデルはパラメータを 0.025 ずつ変更します。

理想的な学習率によって、モデルが妥当な数内に収束する できます。図 21 の損失曲線では、モデルが 収束し始める前の最初の 20 回の反復で改善しています。

図 21:平坦化する前の急な傾きを示す損失曲線。

図 21.次の学習率でトレーニングされたモデルを示す損失グラフ 迅速に収束します。

対照的に、学習率が小さすぎると、学習を終えるまでに何度も反復する必要が 収束します。図 22 の損失曲線は、モデルによって 各イテレーションによる改善:

図 22:ほぼ 45 度の傾きを示す損失曲線。

図 22.小さな学習率でトレーニングされたモデルを示す損失グラフ。

学習率が大きすぎると、反復のたびに収束しないためです。 損失が跳ね返ったり、継続的に増加したりします。図 23 では、 この曲線では、反復処理のたびにモデルが減少し、その後損失が増加していることがわかります。 図 24 では、後の反復処理で損失が増加します。

図 23:ギザギザの上下線を示す損失曲線。

図 23.次の学習率でトレーニングされたモデルを示す損失グラフ 大きくなりすぎて損失曲線が急激に変動し、 反復処理が増加します。

図 24:後のイテレーションで損失が増加することを示す損失曲線

図 24.次の学習率でトレーニングされたモデルを示す損失グラフ 後のイテレーションで損失曲線が急激に増加します。

演習:理解度をチェックする

理想的な学習率はどれくらいですか?
理想的な学習率は問題によって異なります。
各モデルとデータセットには、それぞれ独自の理想的な学習率があります。
0.01
1.0

バッチサイズ

バッチサイズはハイパーパラメータであり、 重みを更新する前にモデルが処理するサンプルの数を指します バイアスですモデルはすべての サンプルを更新してから、重みとバイアスを更新します。ただし、 データセットには数十万、場合によっては数百万のサンプルが含まれます。 フルバッチは実用的ではありません

以下を必要とせずに平均の適切な勾配を取得するための一般的な 2 つの手法 データセット内のすべての例を確認してから、重みとバイアスを 確率的勾配降下法 ミニバッチの確率的勾配 降下性:

  • 確率的勾配降下法(SGD): 確率的勾配降下法のみで使用する 反復処理ごとに 1 つのサンプル(バッチサイズ 1)が返されます。十分な数 SGD は動作しますが、ノイズが非常に多くなります。「ノイズ」特定のキャンペーンにおける トレーニング中に損失を減少させるのではなく増加させる 必要があります。「確率的」という用語は、含まれる 1 つの例は 各バッチはランダムに選択されます

    次の画像では、モデルの変化に応じて損失がわずかに変動しています。 SGD を使用して重みとバイアスを更新するため、損失にノイズが生じる可能性があります。 graph:

    図 25:急勾配の損失曲線。平坦になくても、わずかな変動が多い。

    図 25.確率的勾配降下法(SGD)でトレーニングしたモデル 損失曲線で表します

    なお、確率的勾配降下法を使用すると、モデルの 収束付近だけでなく、損失曲線全体をカバーします。

  • ミニバッチ確率的勾配降下法(ミニバッチ SGD): ミニバッチ 確率的勾配降下法は、フルバッチと SGD の間の妥協点です。対象 $ N $ のデータポイントの数。バッチサイズは 1 より大きい任意の数にできる $ N $ 未満といった条件です。モデルが各バッチに含まれるサンプルを選択する 勾配を平均化してから重みとバイアスを 反復処理ごとに 1 回です。

    各バッチのサンプル数はデータセットと コンピューティング リソースを制限します。一般に、バッチサイズが小さいと、 SGD など、バッチサイズが大きいと、フルバッチ勾配降下法のように動作します。

    図 26:収束付近で急激な損失曲線が平坦化し始め、変動が大幅に小さい。

    図 26.ミニバッチ SGD でモデルをトレーニング。

モデルをトレーニングする際、ノイズは望ましくないものと見なされ、 いくつかの特性があります。ただし、ある程度のノイズが よいことです。以降のモジュールでは、ノイズがモデルにどのように役立つかを 適切に一般化して、 ニューラル ネットワークにおける最適な重みとバイアス 提供します

エポック

トレーニング中のエポックとは、トレーニング モデルはトレーニング セット内のすべてのサンプルを 1 回処理しました。たとえば、 1,000 個のサンプルと 100 個のサンプルのミニバッチ サイズで モデルを 10 回反復して、 1 エポックのみです。

通常、トレーニングには多くのエポックが必要です。つまり システムは すべてのサンプルが複数回出現する場合です。

エポック数は、モデルを開始する前に設定するハイパーパラメータ 説明します。多くの場合、このプロセスに要するエポックの数を 必要があります。一般にエポックが多いほど良いモデルになりますが、 トレーニングにも時間がかかります

図 27:フルバッチはデータセット全体、ミニバッチはデータセットのサブセット、エポックは 10 個のミニバッチのフルパスです。

図 27.フルバッチかミニバッチか。

次の表では、バッチサイズとエポックが 複数回呼び出されることがあります。

バッチタイプ 重みとバイアスの更新が発生するタイミング
フルバッチ モデルがデータセット内のすべてのサンプルを確認した後。たとえば データセットに 1,000 件のサンプルが含まれ、モデルのトレーニングが 20 エポックまで行われ、 モデルは重みとバイアスをエポックごとに 1 回、20 回更新します。
確率的勾配降下法 モデルがデータセット内の 1 つの例を確認した後。 たとえば、データセットに 1,000 個の例が含まれ、トレーニング 20 エポックの場合、モデルは重みとバイアスを 20,000 回更新します。
ミニバッチ確率的勾配降下法 モデルが各バッチの例を確認した後。たとえば データセットに 1,000 件のサンプルが含まれ、バッチサイズが 100 で、 トレーニングは 20 エポックまで行われ、重みと 200 倍にします

演習:理解度をチェックする

1. ミニバッチ SGD を使用する場合の最適なバッチサイズはどのくらいですか?
場合によって異なる
理想的なバッチサイズは、データセットと使用可能な コンピューティング リソース
バッチあたり 10 例
バッチあたり 100 例
2. 次の説明のうち正しいものはどれですか。
外れ値が多いデータには、大規模なバッチは適していません。
この文は間違っています。より多くの勾配を平均化すると、 バッチサイズを使用すると、外れ値による悪影響を軽減できます。 あります
学習率を 2 倍にすると、トレーニングが遅くなる可能性があります。
この説明は正しいです。学習率を 2 倍にすると 学習率が大きすぎるため、重みを 「跳ね回る」ように変更したり収束に要する時間が長くなります。 他の例と同様に、最適なハイパーパラメータはデータセットと コンピューティング リソースを管理できます。