用語集 · 機械学習

損失関数

別名:Loss function、loss、objective、cost function、損失、目的関数、コスト関数、ロス

モデルがどれだけ間違っているかを測る数です。学習は、これが小さくなるようにモデルを調整します。

損失関数は、モデルの間違いを1つの数にまとめます。小さいほど良い値です。そのうえで勾配降下法が、これを下げるようにパラメータを調整します。

古典的な例を2つ挙げます。

平均二乗誤差(数値の予測向け):

L=1N∑i=1N(yi−y^i)2L = \frac{1}{N}\sum_{i=1}^{N} \big(y_i - \hat{y}_i\big)^2

交差エントロピー(カテゴリの予測向け):

L=−1N∑i=1Nlog⁡pθ(yi∣xi)L = -\frac{1}{N}\sum_{i=1}^{N} \log p_\theta(y_i \mid x_i)

強化学習の損失

強化学習には比べるべき正解がないので、損失はエージェントが集めたデータから作ります。PPOでは、損失はいくつかの部分の和です。

  • 方策の損失:PPOのクリップ付き目的関数にマイナスをつけたもので、良い行動が選ばれやすくなるようにします。
  • 価値の損失:平均二乗誤差で、クリティックがリターンを予測するように学習させます。
  • 正則化項:ある解をほかの解より好むようにする項で、たとえば滑らかさです。

損失は報酬と同じではありません。報酬は、エージェントが何を達成すべきかを表します。損失は、そこへ向けてネットワークを更新するための道具です。

このプロジェクトでは

全体の損失は、PPOの方策の損失に、価値の損失の半分、CAPS正則化の滑らかさの項2つ、そして [−1,1][-1, 1] の外に出た行動の平均へのペナルティを足したものです(行動クリッピングを参照)。

関連用語

この用語が出てくる記事

← すべての用語