Python ではじめる機械学習 15. 強化学習

>100 Views

November 22, 25

スライド概要

profile-image

機械学習・音声認識・プログラミングに関する書籍を執筆しています。

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

15. 強化学習 エージェント 状態 報酬 ⾏為 報酬 ⾏為 報酬 ⾏為 報酬 ⾏為 環境 (a) 強化学習の枠組み (b) エピソード 15.1 強化学習とは 15.2 1状態問題 K-armed bandit 荒木雅弘 : 『Pythonではじめる機械学 15.3 複数の状態をもつ問題 スライドとコード 15.4 深層強化学習 15.5 方策勾配法とLLMの学習 習』 (森北出版,2025年)

2.

15.1 強化学習とは (1/2) 強化学習の位置付け:中間的学習 状態変化を伴う環境下で行動するエージェントを想定する 正解(状態に対する正しい行為)は与えられず,時間遅れを伴った報酬(数値)として 形を変えて与えられる 機械学習 教師あり学習 中間的学習 少量データ 学習 報酬仮説 学習目標は累積期待報酬最大化で記述できる 強化学習 教師なし学習

3.

15.1 強化学習とは (2/2) 強化学習の設定 マルコフ決定過程 離散的に進む時刻 t の各時点において,エージェントは環境に対して行為 at を行い,環境から ​ 行為の結果変化した状態 st+1 と報酬 rt+1 を受け取る ​ ​ 環境にマルコフ性を仮定 遷移先は直前の状態と行為のみに依存し,報酬は直前の状態と遷移先のみに依存する エージェントは報酬の期待値が最大となる政策 π (状態から行為への写像)を学習する エージェント 状態 報酬 ⾏為 報酬 ⾏為 報酬 ⾏為 環境 (a) 強化学習の枠組み (b) エピソード ⾏為 報酬

4.

15.2 1状態問題 -K-armed bandit- (1/3) K-armed bandit 問題の定義 K 本の腕を持つスロットマシンを考える i 番目の腕を引く行為: ai , (即時)報酬:r(ai ), 行為の価値: Q(ai ) (i = 1, … , K) ​ ​ ​ 報酬が確定的な場合 すべての ai を1度ずつ試み,Q(ai ) = r(ai ) が最大となる ai が最適な行為 ​ ​ ​ ​ 報酬が確率的な場合 すべての ai を何度か試み,報酬の平均値 Q(ai ) = E(r(ai )) が最大となる ai が最適な行為 ​ ​ ​ ​

5.

15.2 1状態問題 -K-armed bandit- (2/3) 時刻 t での報酬の平均値 Qt (ai ) の計算 ​ ​ t 1 Qt (ai ) = ∑ rj (ai ) t j=1 ​ ​ ​ ​ ​ ​ 1 = (rt (ai ) + ∑ rj (ai )) t j=1 t−1 ​ ​ ​ ​ ​ ​ ​ ​ 1 (rt (ai ) + (t − 1)Qt−1 (ai )) t 1 = Qt−1 (ai ) + (rt (ai ) − Qt−1 (ai )) t = ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ Q値のインクリメンタルな更新式(更新後の値 = 現在の値 + 学習率 * 誤差) 学習率 η は t の増加に伴って減少させるべきだが,t が大きいときは定数として扱える Qt+1 (ai ) = Qt (ai ) + η(rt+1 (ai ) − Qt (ai )) ​ ​ ​ ​ ​ ​ ​ ​

6.

15.2 1状態問題 -K-armed bandit- (3/3) どのようにして行為 ai を選ぶか ​ 常に Qt (ai ) が最大のものを選ぶ方法 ​ ​ もっと良い行為があるのに見逃してしまうかもしれない いろいろな ai を何度も試みる方法 ​ 無駄な行為を何度も行ってしまうかもしれない ϵ-greedy法 確率 ϵ でランダムに行為を選ぶ 確率 1 − ϵ でその時点においてもっともQ値が高い行為を選ぶ

7.

15.3 複数の状態をもつ問題 (1/9) 例題: frozen lake 問題 エージェントはタイル上で初期状態 S から終了状態 G を目指して移動する 初期状態から終了状態に至る期間をエピソードとよぶ 1エピソードで得られる報酬の期待値を最大とする政策の獲得を目標とする タイルの種類 F (Frozen) : 歩行可能。ただし,滑る設定では意図した方向に移動できないことがある H (Hole) : 穴に落ちてエピソードは終了する 報酬の例 : G は 1, H は -1 S F F F F H F H F F F H H F F G

8.

15.3 複数の状態をもつ問題 (2/9) マルコフ決定過程:状態遷移を伴う問題の定式化 時刻 t における状態 st ∈ S ,初期状態分布 P (s0 ) ​ ​ 時刻 t における行為 at ∈ A(st ) ​ ​ 報酬 rt ∈ R,確率分布 p(rt ∣ st , at ) ​ ​ ​ ​ 次状態 st+1 ∈ S ,確率分布 P (st+1 ∣ st , at ) ​ ​ ​ ​ 価値関数 V π (st ) : 状態 st から政策 π に従って行動したときに得られる価値 Q(st , at ) : 状態 st における行為 at の価値 ​ ​ ​ ​ ​ ​

9.

15.3 複数の状態をもつ問題 (3/9) 学習目標 最適政策 π ∗ の獲得 状態価値関数 時刻 t の状態が st で,以降,政策 π に従ったときに得られる累積報酬の期待値 ​ γ : 割引率 0≤γ<1 ∞ V (st ) = E(rt + γrt+1 + γ rt+2 + … ) = E(∑ γ i rt+i ) 2 π ​ ​ ​ ​ ​ ​ i=0 累積報酬の期待値(=将来の平均)が最大となる政策が最適政策 π ∗ ≡ arg max V π (st ), ∀st ​ π ​ ​

10.

15.3 複数の状態をもつ問題 (4/9) 価値反復法 状態価値関数を再帰方程式(ベルマン方程式)で表し,繰り返し計算で収束させる ∞ ∞ V ∗ (st ) = max Q∗ (st , at ) = max E (∑ γ i rt+i ) = max E (rt + γ ∑ γ i rt+i ) ​ at ​ ​ ​ at ​ ​ ​ ​ at ​ i=0 ​ ​ ​ i=0 = max E(rt + γV ∗ (st+1 )) ​ at ​ ​ ​ 状態遷移確率を明示したベルマン方程式 V ∗ (st ) = max{E(rt+1 ) + γ ∑ P (st+1 ∣st , at )V ∗ (st+1 )} ​ ​ at ​ ​ ​ st+1 ​ ​ ​ ​ ​ ​ ​ ​

11.

15.3 複数の状態をもつ問題 (5/9) 価値反復法のアルゴリズム 入力 : マルコフ決定過程 出力 : 状態価値関数 V (s) 1. 初期化: V (s) = 0 2. repeat: for s ∈ S : V (s) ← maxa∈A(s) {r(s, a) + γ ∑s′ ∈S P (s′ ∣ s, a)V (s′ )} ​ until V (s) の変化量が一定値以下になる ​

12.

15.3 複数の状態をもつ問題 (6/9) 方策反復法 直接的に方策を繰り返し改善することで,最適な行動価値関数 Q(s, a) を推定する 一般に,安定的に収束する Qπ (st , at ) = r(st , at ) + γ ∑ P (st+1 ∣ st , at )V π (st+1 ) ​ ​ ​ ​ ​ st+1 ∈S ​ ​ ​ ​ ​

13.

15.3 複数の状態をもつ問題 (7/9) 方策反復法のアルゴリズム 入力 : マルコフ決定過程 出力 : 最適方策 π ∗ 1. repeat: 方策評価を行い,V π (s) を計算する for a ∈ A: for s ∈ S : Q(s, a) ← r(s, a) + γ ∑s′ ∈S P (s′ ∣ s, a)V (s′ ) π(s) ← arg max Q(s, a) ​ ​ a until 方策 π が変化しなくなる 2. return 最適方策 π ∗

14.

15.3 複数の状態をもつ問題 (8/9) Q 学習 状態遷移確率や報酬分布が未知の場合に,探索によってQ値を更新していく方法 探索戦略 ϵ-greedy法 ソフトマックス法(学習が進むにつれて温度 T を小さくする) P (a ∣ s) = exp(Q(s, a)/T ) ∑b∈A exp(Q(s, b)/T ) ​ ​ Q値の更新(更新分を時間とともに減らしていく) Q(s, a) ← Q(s, a) + η(r + γ max Q(s′ , a′ ) − Q(s, a)) ′ ​ a

15.

15.3 複数の状態をもつ問題 (9/9) Q学習のアルゴリズム 入力 : 行為と報酬の系列 出力 : 最適方策 π ∗ 1. 初期化: Q(s, a) を0に設定する 2. for each エピソード: s ← s0 while s が終了状態でない: ​ 探索基準に基づき行為 a を選択・実行し,報酬 r と次状態 s′ を観測 Q(s, a) ← Q(s, a) + η(r + γ maxa′ Q(s′ , a′ ) − Q(s, a)), 3. π ∗ (s) ← arg max Q(s, a) ​ ​ a 4. return 最適方策 π ∗ s ← s′

16.

15.4 深層強化学習 (1/2) 深層学習の強化学習への導入 DNN を用いて,強化学習で用いる関数を近似する 近似対象 : 状態価値関数 V (s),Q関数 Q(s, a),方策 π(a∣s) 画像入力の場合など,状態数が非常に多い場合に有効 エージェント ⾏ 為 選 択 状態 報酬 環境 ⾏為

17.

15.4 深層強化学習 (2/2) Q 関数の近似の例 Q関数の表現 : DNN f のパラメータ θ , 入力状態 x Q(x, a; θ) = fθ (a ∣ x) ​ 教師信号として用いられるターゲット出力(以下,定式化は状態を s とする) ′ ′ − y = r + γ max Q(s ,a ;θ ) ′ ​ a 損失関数:学習対象のネットワークとターゲットネットワークの二乗誤差 ′ ′ − L(θ) = Es,a,r,s′ ∼D [(y − Q(s, a; θ))2 ] = E(s,a,r,s′ )∼D [(r + γ max Q(s , a ; θ ) − Q(s, a; θ)) ] ′ 2 ​ ​ ​ a

18.

15.5 方策勾配法と LLM の学習 (1/2) 方策勾配法 方策 π(a ∣ s) をパラメータ化し,累積報酬の期待値を最大化するようにパラメータ θ を更新する 期待累積報酬 T −1 J(θ) = Eπθ [∑ γ t rt ] ​ ​ t=0 方策の勾配を用いたパラメータ更新 θ ← θ + α∇θ J (θ) ​

19.

15.5 方策勾配法と LLM の学習 (2/2) 方策勾配法を用いた LLM の学習 LLM の出力を行為,文脈を状態として,方策勾配法で学習する ヒューマンフィードバックから報酬モデルを学習して報酬とする 次単語の予測 損失 GPT 報酬モデル GPT GPT 強化学習 指⽰ (a) 事前学習 (b) ファインチューニング 指⽰ (c) RLHF

20.

まとめ 強化学習の問題設定 学習目標は累積期待報酬最大化で記述できるという報酬仮説に基づく 目標は状態から行為を決める関数の獲得だが,正解情報は示されず,遅延した報酬が確 率的に得られる 最適政策の求め方 価値反復法,方策反復法,Q学習など 状態数が多い場合など,深層学習との統合が有効 方策勾配法を用いて,LLMの学習が可能