分布型深層強化学習

在庫の最適化に深層強化学習を適用したという論文はいくつか出ているが、どれも成功しているとは言えないものだった。

理由は、需要の不確実性が大きいのと、品切れという発生確率が小さいイベントで大きな費用がかかるので、学習がうまくできないことにあると考えられる。

最近の深層強化学習の進展はめざましく、囲碁や将棋だけでなく、より複雑なゲームでも人間以上の性能を示しようになっている。そもそもはATARIゲームへの挑戦から始まったが、全てのATARIゲームで人間以上という訳ではなく、学習も遅い。

本家のDeep Mindでは、色々な改良版が提案されているが、そのうちの一つに分布型深層強化学習と名付けられたものがある。アイディアは簡単で、Bellman方程式の期待値の代わりに分布を用いるというものだ。日本語だと、こちらに元論文を読んだ感想文があるが、これを読んで理解できる人は少ないだろう。

簡単に(latexフォーマットで)書くと、状態 x' ~ P(.|x,a),行動 a' ~ ¥pi (.|x)に対する、通常のQ-学習のBellman方程式

¥[ Q(x,a) = E[R] + ¥gamma E[ Q(x',a') ]   ¥]

を確率分布に対するもの

¥[ Z(x,a) = R(x,a) + ¥gamma Z(x',a')   ¥]

に変更するだけである。あとは、$R(x,a) + ¥gamma Z(x',a')$ をターゲットとして深層学習で教師あり学習すれば良い。

元論文では、ATARIゲームを用いて実験をしているので、深層学習の入力は連続画像を表す「状態」で、行動の数は少ないので、行動ごとの「分布」を学習している。

多段階在庫最適化などは動的計画法やシミュレーションベースのものが提案されているが、これと比較するのは面白い研究になりそうだ。期末在庫を状態、行動を発注量として深層学習に入力し、割引費用の分布をターゲットにすれば良い。

需要の分布は既知と仮定するのが通常の枠組みなので、需要発生後の費用(在庫費用と品切れ費用の和)の分布も既知となる。それに価値関数の分布Zを加えた分布を作る際には、畳み込みをすれば良い。この辺りはもしかすると新しいかもしれない。学生のネタにとっておこう。

この記事が気に入ったらサポートをしてみませんか?