昨日淡々と学習させると言ったが、あれは嘘だ。
結局翌日になっても何の成果も挙げられなかった素振りを見せるガオガエン。このあいだ学習率を下げたときにはすぐに勝率を上げていったのだが、今回はまた同様に停滞した後で学習率を下げても何もおこらなかった。まあ、色々変更があったし、前回よりも学習したステップの数が少なかったので、そのせいかもしれないが、よくなることを期待していたためにがっかりした。
結局試行回数を稼がないといけないのかもしれないが、ここでまた別のアイディアを着想してしまう。学習率が正しいのかよくわからないのであれば、時間変化させてしまえばいい。学習率を周期的に変動させる方法は実は一般的に使用されていて、成果も出しているのだが、失念していた。AtariのKangarooで試してみたところ、学習が劇的に早まったので、とりいれてみることにした。値は広くとって基本の値の10倍から1/10まで、周期はとりあえず5万ステップにしてログスペースでcosで周期振動させてみる。長く停滞する期間があるようならこの方法は有効なはずだ。
というのも強化学習には長く exploration-exploitation balance (探索と収束のバランス)の難しさというものがある。探索をしすぎると解答に収束できないし、収束を早くしすぎると最適解に辿りつけなくなる可能性がある。そのバランスをとるにはいい妥協点を見つけないといけないのだが、これが難しいのである。
周期的に変化する学習率は高いときは探索を促進し、低いときは収束を促進する。うまくやればいいとこどりになりうる。失敗する可能性があるとすれば、低いときに収束した点から遠ざかってしまうことが考えられるが、これが起こっている場合は報酬やQ値に反映されるだろうから、少なくとも観測は可能と考える。
さて、明日からは淡々と学習させる日々が続くはずだ。
0 件のコメント:
コメントを投稿