Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
強化学習ライブラリ RLlibを使ってみた
Search
NearMeの技術発表資料です
PRO
December 17, 2023
0
170
強化学習ライブラリ RLlibを使ってみた
NearMeの技術発表資料です
PRO
December 17, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ルートの質を評価する指標について
nearme_tech
PRO
0
9
Rustで作る強化学習エージェント
nearme_tech
PRO
0
35
ビームサーチ
nearme_tech
PRO
0
31
WASM入門
nearme_tech
PRO
0
33
ESLintをもっと有効活用しよう
nearme_tech
PRO
0
25
リファクタリングのための第一歩
nearme_tech
PRO
0
67
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
1
180
確率的プログラミング入門
nearme_tech
PRO
2
120
Observability and OpenTelemetry
nearme_tech
PRO
2
45
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Faster Mobile Websites
deanohume
306
31k
Navigating Team Friction
lara
183
15k
A Philosophy of Restraint
colly
203
16k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Agile that works and the tools we love
rasmusluckow
328
21k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Writing Fast Ruby
sferik
628
61k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Transcript
0 強化学習ライブラリ RLlibを使ってみた 2023-12-15 第71回NearMe技術勉強会 ⼤神卓也
1 エージェントが環境とのやり取りを通じて、 得られる収益を最⼤化するような⾏動を学習する 強化学習(Reinforcement Learning) 報酬 ⾏動 状態 エージェント 環境
2 • Ray(分散並列処理のライブラリ)を使って強化学習のアルゴリズム が実装されたライブラリ • 幅広いアルゴリズムが実装されてい https://docs.ray.io/en/latest/rllib/rllib-algorithms.html • マルチエージェントRL •
オフラインRL • 高機能 • 実験管理 • ハイパーパラメータ探索 RLlibとは
3 使ってみた Proximal Policy Optimization(PPO)を使ってCartPole-v1を解く
4 台を左右に動かして棒が倒れないようにがんばる 終了条件 • 棒が倒れる • 画面外に退場 • 500ステップ耐える 報酬
• つねに+1 CartPole-v1
5 Proximal Policy Optimization(PPO)を使ってCartPole-v1を解く ソースコード https://github.com/ogami334/rllib_prac 使ってみた
6 実験管理 • Weights & Biases https://docs.ray.io/en/latest/tune/examples/tune-wandb.html 他にもいろいろな実験管理ツールと • Comet
• MLflow
7 PPOのアルゴリズム(ざっくり) 1. 環境とやり取りして経験を集める 2. 経験をもとに,収益が高くなる行動をとるように方策を更新 1, 2 を繰り返す 並列訓練
8 PPOのアルゴリズム(ざっくり) 1. 環境とやり取りして経験を集める ←複数CPUで並列実行 2. 経験をもとに,収益が高くなる行動をとるように方策を更新 1, 2 を繰り返す
並列訓練
9 並列訓練 # 6CPUで並列に経験を集めることで高速化 PPOConfig().rollouts(num_rollout_workers=6)
10 感想 • 書き方の流儀が3パターンほどあり、わかりにくい • 今回紹介した以外にも便利な機能がある • tuned examples https://github.com/ray-project/ray/tree/master/rllib/tuned_examples
• 使いこなせたら手軽に幅広いRLタスクをこなせそう
11 Thank you