168 Views
September 25, 23
スライド概要
Deep reinforcement learning from human feedback nonaka
Reinforcement Learning From Human Preference - 強化学習の基本的な問題設定:エージェント (Agent)と環境(Enviroment) - エージェント - 環境を攻略する戦略 (Policy)を持つ。 - policyは、環境の観察結果 (Observation)を入力として、行動 (Action)を出 力する関数 - 環境 - 現在の観察結果とエージェントの行動を入力として、次の観察結果を返す - 現在のエージェントの行動及び観察結果から報酬を返す - 目的 - 環境から与えられる報酬を用いて、エージェントの戦略を学習させること
Reinforcement Learning From Human Preference - 強化学習の問題設定の例: AtariのBreakOut(ブロック崩し) - エージェント(バーを操作するプログラム ) - 戦略(Policy) - 現在の画面の観察結果 (Observation)を受け取って、バーを右に動かす か?左に動かすか決める関数 - 環境(ブロック崩しゲーム全体 ) - エージェントから行動 (右左移動)を受け取って、画面の状態を変える - ゲームオーバーのルールから、報酬をエージェントに提供する - 目的 - 右左によしなに動かせる戦略をつくる
Reinforcement Learning From Human Preference - 戦略をパラメータを持った関数として定義して、報酬から学習する。 ゲーム プレイ 観察結果 行動 報酬 o_t a_t +1(崩せた) o_t+1 a_t+1 -1(GameOver) 観察結果 NNで表現され たPolicy 行動
Reinforcement Learning From Human Preference - RLHFの問題背景 - ゲームではなくて、現実の問題へ強化学習を適用する場合 - 人間の嗜好を反映した報酬関数の設計ができないことが多い - テーブルを掃除するタスクで、テーブルにものがないことを報酬に学習して、全 部をゴミ箱に捨ててしまうなど
Reinforcement Learning From Human Preference - アプローチ①逆強化学習、模倣学習 - 模倣学習 - 人間の行動結果をそのまま学習データとして用意する - 逆強化学習 - 人間の行動結果から報酬関数を推定して、それを強化学習に使用 - ⇒どちらも人間が実際に行動できることを仮定しているため、以下のデメリット - 状態の数が人間が行動するには多すぎる - そもそも人間が行動ができない (危険すぎるなど )
Reinforcement Learning From Human Preference - アプローチ② - 報酬を作成する際に、人間からのフィードバックを取り入れる - デメリット - 強化学習の膨大な経験に対して、人間が逐一フィードバックすることのコスト - 例:ブロック崩しゲームの一画面遷移ごとに報酬を与える (アノテーション する)のは地獄ですよね ?
Reinforcement Learning From Human Preference - RLHFの解決策 - ②のアプローチ - デメリットであるアノテーションコストに関しては、戦略が生成する軌跡 (trajectories)を 人間が評価したデータを使って、報酬関数を推定することで下げることができた。
Reinforcement Learning From Human Preference - 軌跡(trajectories)とは? - エージェントの戦略が出力した一連の行動とそれに付随する観察結果 - s = {(o_1, a_1), (o_2, a_2), (o_3, a_3), …, (o_t, a_t)} - https://player.vimeo.com/video/754042470?h=e64a40690d
Reinforcement Learning From Human Preference - 具体的なステップ 1~3を繰り返すことで、戦略を学習していく。 1. 2. 3. 戦略を持ったエージェントが軌跡 (s_1, s_2, …, s_N)を生成する。また、後工程で、得られる 推定された報酬関数 rを使って戦略を更新する 1で集められた軌跡から、ペアをサンプリング (s_1, s_2)して、人間がそれを評価する (s_1 > s_2など) 2で得られた評価結果から、報酬関数を学習する 1はrさえわかってしまえば、既存の強化学習手法を適用することで戦略を更新できる。 rをどのように推定するかが問題
Reinforcement Learning From Human Preference - step2: 1で集められた軌跡から、ペアをサンプリング (s_1, s_2)して、人間がそれを評価する (s_1 > s_2など) 軌道1 軌道2 どっちの軌道 が良い?? s_4 s_2 1 s_7 s_8 2 s_8 s_4 1
Reinforcement Learning From Human Preference - step3: 2で得られた評価結果から、ランク学習的に報酬関数を推定する 軌道1 軌道2 どっちの軌 道が良 い?? s_4 s_2 1 s_7 s_8 2 s_8 s_4 1 weight share s_4 s_2
Reinforcement Learning From Human Preference - 実験結果の抜粋 (Atari Games) 実験設定を書く
Chat GPTの学習における位置づけ - - Step1 : GPT-3.5を会話データでファインチューニング Step2 : 軌道の生成と報酬関数の推定 - 評価軸: 真実性、無害性、有益性 - 軌道 = 与えられた入力文章 (o)とそれによって生成された文章 (a) - pairwiseではなく、複数個の出力でランキングをつくっていそう。 Step3 : 推定された報酬関数を用いて強化学習