損失の削減: 反復的アプローチ

前のモジュールでは、損失のコンセプトを紹介しました。このモジュールでは ML モデルがどのように 損失を繰り返し減らすかを説明します

反復学習では、指ぬきなどの隠れた物体を探す子ども向けのゲーム「ホット アンド コールド」を思い出すことがあります。このゲームでは「隠しオブジェクト」が最良のモデルです。最初は無理のない推測(「 \(w_1\) の値は 0.」)で、損失が何であるかをシステムが提示するのを待ちます。その後、別の推測(「 \(w_1\) の値は 0.5」)を試し、損失がどのくらいなのかを確認します。実際、うまくプレイすれば、通常は暖かくなります。ゲームの本当の秘訣は 可能な限り効率的に 最適なモデルを見つけることです

次の図は、ML アルゴリズムがモデルをトレーニングする際に使用する反復型の試行錯誤プロセスを示しています。

特徴とラベルからモデルと予測に移行するサイクル

図 1. モデルをトレーニングするための反復的アプローチです。

機械学習集中講座全体を通して、この同じ反復的なアプローチを使用し、特に「モデル(予測関数)」というラベルの付いた荒々しい雲の中で、さまざまな複雑な問題について詳しく説明します。反復戦略は主に大規模なデータセットに対するスケーリングに優れているため、ML でよく利用されています。

「モデル」は、1 つ以上の特徴を入力として受け取り、1 つの予測を出力として返します。わかりやすくするために、1 つの特徴(\(x_1\))を受け取り、1 つの予測(\(y'\))を返すモデルについて考えてみましょう。

$$ y' = b + w_1x_1 $$

\(b\)と \(w_1\)にはどの初期値を設定すればよいですか。線形回帰の問題では、開始値は重要ではないことがわかります。ランダム値を選択することもできますが、次の簡単な値を使用します。

  • \(b\) = 0
  • \(w_1\) = 0

最初の特徴値が 10 であるとします。この特徴量を予測関数にプラグインすると、次のようになります。

$$ y' = 0 + 0 \cdot 10 = 0 $$

図の「Compute Loss」の部分は、モデルで使用する損失関数です。二乗損失関数を使用するとします。損失関数は、次の 2 つの入力値を取ります。

  • \(y'\): 特徴 x に対するモデルの予測
  • \(y\): 特徴 x に対応する正しいラベル。

ついに、図の「コンピューティング パラメータの更新」の部分に到達しました。ここで、ML システムは損失関数の値を調べ、 \(b\) と \(w_1\)の新しい値を生成します。ここでは、この不思議な箱から新しい値が導き出されると、ML システムはすべての特徴をすべてのラベルに対して再評価し、損失関数に新しい値を生成して、新しいパラメータ値を生成します。損失が可能な限り低いモデル パラメータが見つかるまで、学習は反復処理を続けます。通常は損失全体の変化が止まるか、少なくとも極端にゆっくりと変化するまでイテレーションしますその場合、モデルは収束と言います。