マインドマップ

強化学習の歴史 流れ

価値関数に基づくアプリーち

方策を最適化するアプローチ

DQN

Dueling Q Network

Q学習

デメリットは?

DQN誕生

DQNはどんなもの?

ネットワークについて

入力層は状態空間の次元数。

カートポールなら、 カートの位置、速度、棒の角度、角速度の4次元なので、入力層のニューロン数は4つです。

出力層のニューロンの数は行動の選択肢数です。

CartPoleの場合は右か左にCartを押すので、出力層は2つのニューロンになります。

目的関数は?

、r(t)+γ・max[Q(s_{t+1},a_{t+1})]

が、現状でもっとも正しそうなものとなります。

よって、現状のQネットワークの出力Q(s_t, 右に押す)が、

r(t)+γ・max[Q(s_{t+1},a_{t+1})]

の値に近くなるように、ネットワークの重みを学習してあげます。

Q関数をNNで近似する +4つの工夫

DQNをさらに工夫する

DDQN (DuobleDQN)

TRPO

A3C ( Asynchronous Advantage Actor-Critic )

DQNの次の世代的存在であるため、DQNからの変化幅が大きく、理解するのがなかなか難しいです。

Value-based(従来のDQN、Q学習) + policy-basedの組み合わせ。 アルファ碁ゼロもそうらしい

1. Advantage

通常のQ関数

Q(s,a) → r(t) + γ・max[Q(s_,a)]

通常のQ学習の場合は、Q関数が、逆ドミノ的に決まっていく。

CartPoleの場合は、t=200もしくは倒れたときが終端(終了)となるので、終端のsの場合、次の状態s_がないため、 Q(s,a) → r(t) とQ関数が再帰的でなく確定します。

この手法のQ関数

Q(s,a) → r(t) + γ・r(t+1) + (γ^2)・max[Q(s_,a)]

どんな注意ポイントがある?

途中の行動a(t+1)を決めるときに、完成途中のQ関数を使用するので、そこが間違っていたら、その先もどんどん間違うことになります。

そのため、どんどん先のAdvantageを使えば良いというわけでもなく、少し先くらいまでのAdvantageを使うのがバランスが良いです。

従来のQ関数の更新を「1ステップ先でなく、2ステップ以上先まで動かして、更新しよう」という考え方です。

2. Actor-Critic

3. Asynchronous

ネットワーク

A3C+TRPOの改良

PPO

脳みその並列処理

会話中、脳みそのどこが動いている?

言語中枢

ブローカー中枢

言葉を発する機能

言語工場

運動性の言語野

ウェルニッケ中枢

聞いて理解するための場所。感覚性の言語野を使う

耳から来て、聴神経をと聴覚中枢にたどり着き、ここに来る

メイントピック