概要 Deep Reinforcement Learing from Human Preferences (2017)
March 20, 2023エージェントの行動を撮影した2つのビデオクリップから良い方を人間に選ばせ、報酬関数の学習データを生成する。 テーブルを掃除するロボットの制御などは、報酬関数の設計が難しい。 そこで、2つのビデオクリップとその選好を1つのサンプルとする訓練データで、モデルに報酬関数を学習させる。
環境の状態と状態下での行動のペアの系列を生成し、1秒から2秒間のビデオクリップとして記録する。 そして、人間に、2つのビデオクリップをうち良い方を選んでもらう。 2つのビデオクップのうち一方が他方よりも良い確率を出力できるようにモデルを訓練する。
行動を決定する方策の学習には、従来のアルゴリズムを使う。 ただし、報酬関数は定常ではなく時刻とともに変化するので、報酬関数の変化に頑強なアルゴリズムがよい。 実験では、advantage actor-criticとtrust region policy optimizationが採用された。 報酬は平均0、分散1に標準化する。
ビデオクリップは、時刻\(t\)における観察可能な環境の状態\(o_t\in\mathcal{O}\)とエージェントが\(o_t\)が実行した行動\(a_t\in\mathcal{A}\) の系列\(\sigma=((o_0, a_0), (o_1, a_1),\dots ,(o_{k-1}, a_{k-1}))\in(\mathcal{O}\times \mathcal{A})^k\)とかく。 系列\(\sigma^1\)が\(\sigma^2\)よりも好ましい関係を\(\sigma^1\succ\sigma^2\)で表し、報酬関数\(r: \mathcal{O}\times \mathcal{A}\rightarrow \mathbb{R}\)によって $$ r(o^1_0,a^1_0)+\dots + r(o^1_{k-1},a^1_{k-1}) > r(a^2_0,a^2_0) + \dots + r(o^2_{k-1}, a^2_{k-1}) $$ であるとき $$ r(o^1_0,a^1_0)+\dots + r(o^1_{k-1},a^1_{k-1}) \succ r(a^2_0,a^2_0) + \dots + r(o^2_{k-1}, a^2_{k-1}) $$ である。 \(\sigma^1\succ \sigma^2\)であれば\(\mu=1\), \(\sigma^2 \succ \sigma^1\)であれば\(\mu=2\)として、訓練データのサンプルを\((\sigma^1, \sigma^2, \mu)\), その集合を\(\mathcal{D}\)とする。
\(\mathcal{D}\)で、関係\(\sigma^1\succ\sigma^2\)が成立する確率\(\hat{P}[\sigma^1\succ \sigma^2]\)を推定できるように報酬関数のモデル\(\hat{r}\)を学習する。 Bradley-Terryの確率モデルにしたがい $$ \hat{P}[\sigma^1\succ \sigma^2]=\frac{\exp\sum\hat{r}(o^{1}_{t},a^1_t)}{\exp\sum\hat{r}(o^1_t,a^1_t)+\exp \sum \hat{r}(o^2_t,a^2_t)} $$ で確率を推定し、交差エントロピーによる損失は $$ \textrm{loss}(\hat{r})=-\sum_{(\sigma^1,\sigma^2,\mu)=\mathcal{D}}\mu(1)\log\hat{P}[\sigma^1\succ\sigma^2]+\mu(2)\log\hat{P}[\sigma^2\succ \sigma^1] $$ になる。
実験では、以上のアルゴリズムに3つの改良が加えられている。 まず、アンサンブル学習により、複数のモデルの出力の平均値を報酬にしている。 次に、\(l_2\)正則化により検証時損失が訓練時の損失よりも\(1.1\)から\(1.5\)倍の値になるように制御されており、実験によってはドロップアウト層が使われている。 最後に、ソフトマックス関数を直接適用せず、人間が誤回答する可能性があることを仮定し、\(10\%\)の確率で一様に人間がランダムに好みの系列を選択しうることを前提にしている。
論文のリンク
雑記
2つの特徴のうちどちらが良いかを選ぶ訓練方法はランキング学習でも使われている。RankNetはその一例。 実験に使用したモデルを付録で説明したとあるが、付録が見あたらない。