Skip to main content
深層強化学習 DDPG

throough(スルー)に導入予定の深層強化学習 DDPG (Deep Deterinistic Policy Gradient)の解説

Miyamoto


1 はじめに

この記事では強化学習における手法の一つであるDDPGについて紹介します。対応するワードはDQNやQテーブルなどです。これらと並列の単語として、DDPGが存在します。

Deep Deterinistic Policy Gradientの略で、その名の通り決定論的(Deterministic)1(Policy Gradient)を、深層ニューラルネット(Deep)で行います。

DQN(Deep Q Network)については解説しません。DQNについては下記リンクをご覧ください。


1確率要素のない。

2 方策勾配について。DQN等との比較

DQNなどでは、状態行動価値関数と方策関数はひとまとめにされていました。すなわち、


(1)

π(s):=argmaxQa(s,a)


という形で方策関数が定義されました。すなわちQ関数の構成が即方策関数の構成になっていたわけです。しかし、方策勾配型は異なります。

πという関数を、行動ごとの確率が出力される関数ではなく、π:SRnという、行動(今回は決定された値段)し、何らかの手段(一般的には深層ニューラルネット)を用いて構成します。

2.1 DDPGにおけるランダム性

リンクでも解説した通り、強化学習においては、ランダムな行動決定の導入が必要となります。これを探索という。DDPGにおける探索は、毎回生成した正規乱数ϵを使います。


(2)

a=π(s)+σϵ


σはあらかじめ固定しておいた数字です。210.5くらいがおすすめです

2.2 学習について

Q 関数の更新についてはリンクをご覧ください。DQNと同じくQ関数を更新していきますが、今回は Q と独立したπという関数を用意したため、こちらについても更新をしていく必要があります。最大化したいのは当然 Q2


(3)

E[i=0γtrt]


ですので、 Q 関数を利用して更新していきます。 3

π のパラメータをθと置きます。通常の回帰や分類問題は、これを損失関数という、パラメータの悪さを評価する関数Lと学習率αを用いて


(4)

θθαL(θ)


という形でパラメータを更新していきます。これは数学的な感覚になってしまうのですが、Lが小さくなる方向に関数を更新していきます。

一方で、この方策関数πのパラメータを更新するときはJ(θ)という、θのよさを評価する関数を用いて、


(5)

θθ+αJ(θ)


という形で更新していきます。これは上の逆で、Jが大きくなるようにパラメータを更新していきます。4


2累積報酬和の期待値。

3GANと同じように交互に二段階最適化していきます。

(4分類問題などでは悪さを評価するのに、強化学習では良さを評価するのは、タスクの特徴によって、それぞれ悪さと良さを評価しやすいからです。

2.21 J の構成について

パラメータの良さを評価する関数Jについては、最大化したいタスクに合わせて構成します。

今の状態をsとして


(6)

J(θ):=E[Q(s,πθ(s))]


とするのが妥当でしょう。

2.21 方策勾配定理

実際に勾配を計算するときは、この定理を使います。

定理1 方策勾配定理


(7)

J(θ)=E[θπ(θ)aQ(s,a)|a=πθ(s)]


この期待値というのはReply Memoly などの確率要素に対するものです。ぱっとみただの連鎖律ですが、確率要素が入るため結構ややこしくなります。

3 専門:方策勾配定理について

方策勾配定理について、いくら調べてもろくな証明が出てこなかったので、我々が自力で証明しました。

たぶんこれは見つけられなかっただけであり、すでに厳密な証明がされているはずなので、Q関数収束に関する論文のふろくにおまけという形で書いています。[2]5


5国際学会IDS-2020 に弊社が出したこの論文が採択されました!

定理2 方策勾配定理の厳密な証明

Q関数とπはニューラルネットによる構成をされているものとする。すなわち


(8)

fi(x):=Viη(Wix+bi)+ai


ただしVi,Wi は行列。 ai,bi はベクトル、 ηは活性化関数であるとする。

Q(x)=fnfn1.f1(x)πも別fiを用いて同様の定義がなされているものとする。このとき、次が成り立つ。


(9)

J(θ)=E[θπ(θ)aQ(s,a)|a=πθ(s)]


ルベーグ積分論に基づく実解析の見地から厳密な証明を行いました。ぜひご覧ください。

ニューラルネットで実装が行われているということが重要。これにより入力や各パラメータに対して、各々の関数がリプシッツ連続になります。ここが証明のカギ。

4 弊社における取り組み

ダイナミックプライシングツールの throough(スルー)
ダイナミックプライシングツール
throough(スルー)

弊社ソフトウェアthroough(スルー)に、このDDPG の技術を用いた強化学習アルゴリズムを準備中です。このDDPG を用いることにより、1円単位での値付けが可能となります。

DQN と比べて大きなメリットは「ネットワークが順番を認識できる」という点にあります。

例えば、100円と120円と140円という選択肢があったとして、DQN では100円と120円、100円と140円の差の違いを認識できませんが、DDPG はそれを認識して最適化することができます。

参考文献

[1] Timothy P Lillicrap, Jonathan J Hunt, Alexander Pritzel, Nicolas Heess, Tom Erez, Yuval Tassa,
David Silver, and Daan Wierstra. Continuous control with deep reinforcement learning. arXiv preprint
arXiv:1509.02971, 2015.

[2] Konatsu Miyamoto, Masaya Suzuki, Yuma Kigami, Kodai Satake,Convergence of Q-value in case of Gaus-
sian rewards,arXiv preprint arxiv:2003.03526,2020

この記事をシェアする