Deep reinforcement learning from human feedback

168 Views

September 25, 23

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Deep reinforcement learning from human feedback nonaka

2.

Reinforcement Learning From Human Preference - 強化学習の基本的な問題設定:エージェント (Agent)と環境(Enviroment) - エージェント - 環境を攻略する戦略 (Policy)を持つ。 - policyは、環境の観察結果 (Observation)を入力として、行動 (Action)を出 力する関数 - 環境 - 現在の観察結果とエージェントの行動を入力として、次の観察結果を返す - 現在のエージェントの行動及び観察結果から報酬を返す - 目的 - 環境から与えられる報酬を用いて、エージェントの戦略を学習させること

3.

Reinforcement Learning From Human Preference - 強化学習の問題設定の例: AtariのBreakOut(ブロック崩し) - エージェント(バーを操作するプログラム ) - 戦略(Policy) - 現在の画面の観察結果 (Observation)を受け取って、バーを右に動かす か?左に動かすか決める関数 - 環境(ブロック崩しゲーム全体 ) - エージェントから行動 (右左移動)を受け取って、画面の状態を変える - ゲームオーバーのルールから、報酬をエージェントに提供する - 目的 - 右左によしなに動かせる戦略をつくる

4.

Reinforcement Learning From Human Preference - 戦略をパラメータを持った関数として定義して、報酬から学習する。 ゲーム プレイ 観察結果 行動 報酬 o_t a_t +1(崩せた) o_t+1 a_t+1 -1(GameOver) 観察結果 NNで表現され たPolicy 行動

5.

Reinforcement Learning From Human Preference - RLHFの問題背景 - ゲームではなくて、現実の問題へ強化学習を適用する場合 - 人間の嗜好を反映した報酬関数の設計ができないことが多い - テーブルを掃除するタスクで、テーブルにものがないことを報酬に学習して、全 部をゴミ箱に捨ててしまうなど

6.

Reinforcement Learning From Human Preference - アプローチ①逆強化学習、模倣学習 - 模倣学習 - 人間の行動結果をそのまま学習データとして用意する - 逆強化学習 - 人間の行動結果から報酬関数を推定して、それを強化学習に使用 - ⇒どちらも人間が実際に行動できることを仮定しているため、以下のデメリット - 状態の数が人間が行動するには多すぎる - そもそも人間が行動ができない (危険すぎるなど )

7.

Reinforcement Learning From Human Preference - アプローチ② - 報酬を作成する際に、人間からのフィードバックを取り入れる - デメリット - 強化学習の膨大な経験に対して、人間が逐一フィードバックすることのコスト - 例:ブロック崩しゲームの一画面遷移ごとに報酬を与える (アノテーション する)のは地獄ですよね ?

8.

Reinforcement Learning From Human Preference - RLHFの解決策 - ②のアプローチ - デメリットであるアノテーションコストに関しては、戦略が生成する軌跡 (trajectories)を 人間が評価したデータを使って、報酬関数を推定することで下げることができた。

9.

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

10.

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をどのように推定するかが問題

11.

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

12.

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

13.

Reinforcement Learning From Human Preference - 実験結果の抜粋 (Atari Games) 実験設定を書く

14.

Chat GPTの学習における位置づけ - - Step1 : GPT-3.5を会話データでファインチューニング Step2 : 軌道の生成と報酬関数の推定 - 評価軸: 真実性、無害性、有益性 - 軌道 = 与えられた入力文章 (o)とそれによって生成された文章 (a) - pairwiseではなく、複数個の出力でランキングをつくっていそう。 Step3 : 推定された報酬関数を用いて強化学習