Contenu connexe Similaire à Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン (20) Plus de Takahiro Kubo (20) Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン2. Agenda
● OpenAI Gymを体験しよう
○ OpenAIとOpenAI Gym
○ OpenAI Gymを動かしてみる
○ ルールで「AI」を作ってみる
● 「AI」を成長させよう
○ 強化学習というアイデアのモデル化 [MDP]
○ 行動評価の方法 [Bellman Equation]
○ 最適化の方法 [Value Iteration]
○ 探索による最適化 [Q-learning]
○ 探索と活用のジレンマ [ε-greedy法]
● Deep Learningとの融合
○ Deep Q-Networkの登場
○ Deep Q-Networkにおける3つのトリック
○ Deep Q-Networkの実装
● おわりに 2
Twitterで質問を受け付けます
#techcircleja
4. Takahiro Kubo (icoxfog417)
TIS株式会社 戦略技術センター所属
● 化学系メーカーの業務コンサルタント出身(得意技は石油化学製品の価格改定)
● 既存の技術ではシステムによる業務改善に限界があるとの実感から、異動
● 現在は機械学習や自然言語処理の研究・それらを用いたサービスのプロトタイピング
を担う
● kintoneエヴァンジェリスト
@対話システムシンポジウム @PyConJP 2016 @Cybozu Days 2016
10. OpenAIとOpenAI Gym(2/3)
10
Ilya Sutskever氏 Trevor Blackwell氏
Andrej Karpathy氏
所属する研究員の方たちは、Seq2Seqを提案したIlya
Sutskever、Segwayを発明したTrevor Blackwell、画像の
説明文生成を行ったAndrej Karpathなど、泣く子も黙る
世界的に優秀な研究員・エンジニア達が所属。
日本人はまだいないようなので、ぜひ日本人初の
OpenAI研究員を目指そう!
16. OpenAI Gymを動かしてみる(2/3)
Gymの基本的な使い方は以下の通り。
16
import gym
env = gym.make("CartPole-v0")
for i_episode in range(20):
observation = env.reset()
done = False
while not done:
env.render()
action = env.action_space.sample()
next_observation, reward, done, info = env.step(action)
Environment
(CartPole-v0)
Agent
action
observation, reward
done (episode
end)
gym
①Environmentからはobservationが得られる
②Agentは、observationを基にactionを行う(ここではランダムに選択)
③actionにより、Environmentから次のobservationと、行動に対する報酬が与えられる
⇒この報酬を最大化したい
①
②
③
テストに出る
①
②
③
21. ルールで「AI」を作ってみる(2/4)
21
Agent Environment
action
(フン=上 & フン=下)
observation, reward
def act(self, observation):
if len(self._plan) == 0:
self._plan += [self.action_up] * self._interval # up
self._plan += [self.action_down] * (self._interval * 2) # back to center & down
self._plan += [self.action_up] * self._interval # back to center
return self._plan.pop(0)
Fun(上)
(戻る)+Fun(下)
(戻る)
※後のハンズオンでやります
59. 探索による最適化(8/9)
59
行動評価 = actionによるreward + 割引率 x 遷移先で見込める最大の報酬
行動評価 = (1 - 学習率) x 既存の行動評価の値 x 学習率(実際の行動評価)
Bellman Equation
これまでの行動評価を信じる分 今回の行動評価を信じる分
行動評価 = 既存の行動評価の値 + 学習率(実際の行動評価 - 既存の行動評価の値)
式変形
TD誤差
60. 探索による最適化(9/9)
60
行動評価 = actionによるreward + 割引率 x 遷移先で見込める最大の報酬
行動評価 = (1 - 学習率) x これまでの行動評価 x 学習率(実際の行動評価)
Bellman Equation
これまでの行動評価を信じる分 今回の行動評価を信じる分
行動評価 = これまでの行動評価 + 学習率(実際の行動評価 - これまでの行動評価)
式変形
テストに出る
TD誤差
Q-learning