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
130
強化学習ライブラリ RLlibを使ってみた
NearMeの技術発表資料です
PRO
December 17, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
0
35
確率的プログラミング入門
nearme_tech
PRO
2
35
Observability and OpenTelemetry
nearme_tech
PRO
2
29
観察研究における因果推論
nearme_tech
PRO
1
72
React
nearme_tech
PRO
2
33
Architecture Decision Record (ADR)
nearme_tech
PRO
1
820
遺伝的アルゴリズムを実装する
nearme_tech
PRO
1
46
Fractional Derivative!
nearme_tech
PRO
1
37
GitHub Projectsにおける チケットの ステータス更新自動化について
nearme_tech
PRO
1
58
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
65
11k
The Invisible Side of Design
smashingmag
298
50k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Practical Orchestrator
shlominoach
186
10k
Designing for humans not robots
tammielis
250
25k
Code Review Best Practice
trishagee
64
17k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Building Applications with DynamoDB
mza
90
6.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
GitHub's CSS Performance
jonrohan
1030
460k
Documentation Writing (for coders)
carmenintech
65
4.4k
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