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
Building Autonomous Agents with gym-retro
Search
Kartones
October 26, 2018
Programming
54
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Autonomous Agents with gym-retro
Given at MindCamp X
Kartones
October 26, 2018
More Decks by Kartones
See All by Kartones
Python static typing with MyPy
kartones
0
90
High-impact refactors keeping the lights on
kartones
0
76
Remote Work
kartones
0
110
Geospatial CSV Imports Hidden Complexity
kartones
0
62
Intro to GameBoy Development
kartones
0
110
Myths & The Real World of OpenSource Development
kartones
0
54
CartoDB Tech Intro
kartones
0
58
Copy Protection & Cracking History
kartones
0
150
Cómo ganar dinero con tus juegos online
kartones
1
130
Other Decks in Programming
See All in Programming
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
480
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
400
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.4k
Dockerfile CMD for Node.js
grazie1999
0
160
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
130
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
600
MySQLとPostgreSQLって何が違うの?
akagami
0
150
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
130
Go 1.27 における memory allocation の高速化
andpad
0
370
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
140
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
640
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
520
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
440
Ethics towards AI in product and experience design
skipperchong
2
360
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Making Projects Easy
brettharned
120
6.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
First, design no harm
axbom
PRO
2
1.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
640
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Transcript
@Kartones
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
observation, reward, done, info = environment.step(action)
None
None
action = environment.action_space.sample()
None
paddle_size = 24 paddle_safe_margin = paddle_size/4 if last_info: go_left =
1 if (last_info['player_x_start'] + paddle_safe_margin > last_info['ball_x']) else 0 go_right = 1 if (last_info['player_x_end'] - paddle_safe_margin < last_info['ball_x']) else 0 # ["B", null, "SELECT", "START", "UP", "DOWN", "LEFT", "RIGHT", "A"] action = [0, 0, 0, 0, 0, 0, go_left, go_right, self.env.current_time % 2]
None
None
None
probability = numpy.random.random() if probability < EPSILON: return self._random_movement() else:
if self.env.current_time < self.best_time: action = self.best_actions[self.env.current_time] else: return self._ai_movement(last_info)
None
None
def _epsilon_value(self): if self.USE_DECAYING_EPSILON: # with 1 becomes practically random
return 0.1 / (self.env.current_time + 1) else: return self.EPSILON
Why decaying epsilon = 0.1? 0.1 * 5 = 0.02
0.1 * 250 = 0.0004 0.1 * 500 = 0.0002 0.1 * 1000 = 0.0001
None
None
None
None
None
None
soon at : github.com/kartones
None
None
github.com/openai/retro-baselines/agents
• Intro documentation: blog.openai.com/gym-retro/ • Example code and documentation: github.com/openai/retro/
github.com/openai/retro-baselines/ "gotta_learn_fast_report.pdf" • Game integration guide: github.com/openai/retro/blob/develop/IntegratorsGuide.md • Contests and other resources: openai.com • JERK sources: www.noob-programmer.com/openai-retro-contest/jerk-agent-algorithm/
None