Kategorier: Alle

af aaa Niwa 4 år siden

342

マインドマップ

強化学習の進化は、価値関数に基づく手法と方策を最適化する手法に分かれる。DQN(Deep Q-Network)は、Q関数をニューラルネットワークで近似することで新たな地平を開いた。特にDueling Q NetworkやDDQN(Double DQN)などの改良手法が登場し、学習の効率化と精度向上が図られた。CNNを用いて画像を入力するアプローチも試みられている。

マインドマップ

メイントピック

脳みその並列処理

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

言語中枢
ウェルニッケ中枢

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

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

ブローカー中枢

運動性の言語野

言語工場

言葉を発する機能

マインドマップ

強化学習の歴史 流れ

Q学習
DQN誕生

DQNはどんなもの?

DQNをさらに工夫する

A3C+TRPOの改良

PPO

A3C ( Asynchronous Advantage Actor-Critic )

ネットワーク

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

3. Asynchronous

2. Actor-Critic

この手法のQ関数

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

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

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

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

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

通常のQ関数

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

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

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

1. Advantage

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

TRPO

DDQN (DuobleDQN)

DuelingNetwork

メリットは?

これは選択できる行動が増えれば増えるほど、大きな利点になります。

V(s)が行動aによらず毎回学習できる点です。

Q関数が持つ情報は、状態sだけで決まる部分と、行動aしだいで決まる部分に分離できます。

例えば、もう倒れる寸前の状態sであれば、actionが右に押そうが、左に押そうが、そのあと得られるであろう報酬合計はとても少ないと予測できます。

行動価値関数Qには、右に押そうが、左に押そうが、大体そのあと獲得できるであろう報酬合計が、状態sによって決まる部分があります。

参考文献 https://qiita.com/sugulu/items/6c4d34446d4878cde61a

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

目的関数は?

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

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

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

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

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

ネットワークについて

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

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

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

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

参考文献 http://neuro-educator.com/rl2/

デメリットは?

CNNで画像をインプットさせればいいよね?

カートポールみたいに、土台のX軸位置方向と、ポールの傾き加減とか っていうのならインプット簡単なんだけど。

テトリスの状態とって再現むずいよね

画像が入力できない

表であること

状態を離散化する必要がある

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

Dueling Q Network

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