定義
学習アルゴリズムが実際に最小化(または最大化)しようとする関数を目的関数と呼びます。
代表的な目的関数に損失関数に正則化項などを加えた関数があります。
関連用語の整理
| 用語 |
役割 |
| 損失関数(loss function) |
1つのデータ点に対する予測と正解の誤差を測る関数(例:交差エントロピー、二乗誤差) |
| コスト関数(cost function) |
損失関数をデータセット全体で平均・合計したもの |
| 目的関数(objective function) |
損失関数 + 正則化項など、最適化のターゲットとなる関数全体 |
基本式
\[目的関数 = 損失関数(誤差) + 正則化項\]
例:L2 正則化
\[目的関数 = \underbrace{交差エントロピー(予測, 正解)}_{損失関数(誤差そのもの)}
+ \underbrace{\lambda \times \sum W^2}_{正則化項(誤差ではない)}\]
目的関数が必要な理由
- 誤差(損失)だけでは、正則化項のようなモデルを単純に保つ制約を含められない
- 誤差と制約を 1 つの数値にまとめることで、勾配降下法などの最適化アルゴリズムが機械的に微分・更新できる
LLM の文脈における目的関数
- 事前学習(pretraining)における目的関数は、交差エントロピー誤差の平均
- 各トークン位置で次トークン予測の交差エントロピーを計算
- バッチ内の全トークン・全系列にわたって平均
- この平均値を最小化するように重みを更新
- ファインチューニングや RLHF の段階では、報酬モデルのスコアや KL ダイバージェンス項など、別の目的関数が追加・置換される