調子に乗ってGA + UCB1-TUNEDでメタ強化学習開始
とりあえず多碗バンディット問題をεグリーディーで解くエージェントの、εを設定させてみました。
ちなみに腕は10本で各腕ごとに固定の閾値を設定、乱数が閾値以下なら報酬1.0、閾値より大きければ報酬0.0って条件です。
メタエージェントに与える報酬は、εグリーディーエージェントが1000回プレイして(腕を試して)得た報酬の平均値。メタエージェントの行動はεの選択です。
んで、結果。とりあえず上手く行ったッポイです。
細かい注意点は2つ。
- UCB1-TUNEDの式中の1/4を問題に応じた値にしないと上手く学習しない*1
- 設定するメタパラメータの取り得る値の範囲が0〜1の場合は、遺伝子の持っている値をそのまま使うよりも、シグモイド関数で0〜1の値に変換してからメタパラメータに設定した方が収束が速い
*1:最初はメタエージェントの報酬をエージェントの報酬の合計にしていて、その影響で変な挙動をした