REINFORCE
概要
強化学習とは
強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。
方策勾配法
強化学習ではボードゲームでいう盤面に相当する「状態」(state)と、指し手に相当する「行動」(action)の組み合わせで対象をモデル化する。AIが一手ずつ行動するたびに状態が変化していき、何らかの報酬(reward)が得られる。どのような状態のとき、どのような確率でどのような行動を取るのかを定めた行動指針を「方策」(policy)という。
REINFORCEは方策を直接的に最適化する「方策勾配法」の最も基本的なアルゴリズムとして知られる。方策勾配法では、方策から将来に渡って得られる累積報酬を目的関数として、試行錯誤の度にその勾配(微分値)を計算し、得られる報酬が最大化するように少しずつパラメータを修正していく。
REINFORCEの手順
強化学習では、将棋や囲碁の一局のように、一連の行動を最初から最後まで行うことを「エピソード」(episode)という。REINFORCEでは、エピソードを何度も繰り返し、その度に少しずつ行動の選択確率を修正していく。
一回のエピソードの最中には行動の確率の更新は行わず、どの行動を取ったかのみを記録する。エピソードが終わり、最終的に得られた報酬が確定したら、過去のエピソードの報酬と比較する。良い結果が得られたら、その回のエピソードを構成する行動の確率を引き上げ、悪い結果であれば引き下げる。
何度もエピソードを繰り返すと、最終的に良い結果に繋がるような行動の選択確率は高まっていき、良い結果に繋がらないような行動の確率は低くなっていく。このように、エピソード全体を通した経験から得られた報酬をもとに学習する手法を「モンテカルロ法」と呼び、他の強化学習手法にも応用される。
利点と難点
REINFORCEはアルゴリズムが単純で実装しやすい。特定のモデルを前提とせず、状態の遷移確率や報酬関数といったモデルの詳細が不明でも学習できる「モデルフリー」型で、適用範囲が広い。行動は離散的な選択肢である必要はなく、移動量、回転量といった連続的な値でも構わない。
一方、毎回の行動確率の更新幅(方策勾配)の分散が大きく、学習が不安定になりやすいとされる。エピソード全体の繰り返しが必要なため、行動の度に評価を更新するアルゴリズムに比べると学習効率が劣る。単純であるがゆえ全体最適解を探索する仕組みがなく、局所最適解に陥りやすいとも言われる。
