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
マールタスの仕組みを解説
Search
kzmssk
August 28, 2019
Technology
0
3.7k
マールタスの仕組みを解説
RPGアツマールのゲームのプレイ方法を学習するシステム「マールタス」の学習アルゴリズムであるDeep Q-Learningの基本的な仕組みを解説しています。
kzmssk
August 28, 2019
Tweet
Share
More Decks by kzmssk
See All by kzmssk
Dwangoでの漫画データ活用〜漫画理解と動画作成〜@コミック工学シンポジウム2025
kzmssk
0
150
[email protected]
参加レポ
kzmssk
0
1.1k
強化学習による3Dキャラクターの モーション生成@SIGGRAPH ASIA2018
kzmssk
0
1.3k
Montezuma’s Revenge Solved by Go-Explore, a New Algorithm for Hard-Exploration Problems
kzmssk
0
420
深層学習を用いた3D仮想物理環境における キャラクターの動的な行動生成
kzmssk
0
340
Other Decks in Technology
See All in Technology
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
2.9k
20260311 技術SWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
180
JAWS FESTA 2025でリリースしたほぼリアルタイム文字起こし/翻訳機能の構成について
naoki8408
1
220
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
140
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.2k
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
330
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
5
2.4k
OpenClawで回す組織運営
jacopen
3
670
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
yuriemori
0
190
Evolution of Claude Code & How to use features
oikon48
1
570
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
550
A Gentle Introduction to Transformers
keio_smilab
PRO
2
1k
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Amusing Abliteration
ianozsvald
0
130
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
The Curious Case for Waylosing
cassininazir
0
260
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
89
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Code Review Best Practice
trishagee
74
20k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
61
52k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
マールタスの仕組みを解説
マールタスとは? RPGアツマールに投稿されたゲームのプレイ⽅法を ⾃動的に学習するシステム
ゲームのプレイ⽅法を学習する プレイ⽅法を⼈間がデザインするのではなく 学習によって獲得する 何度もプレイして試⾏錯誤してデータ取集 強化学習と呼ばれる⽅法でシステムを更新し成⻑ ハイスコアを⽬指す ܦա࣌ؒ είΞɿ είΞɿ
είΞɿ
この時間で話したいこと マールタスの学習の仕組み Deep Q-Network(DQN)の基本 マールタスのが得意/不得意なゲームの特徴 %2/
ビデオゲームAIを作る? 伝統的な⽅法:ルールベース 「〜のときは〜せよ」 • ఢΩϟϥΫλʔ͕࠲ඪ ̋ɺ̋ ʹ౸ୡͨ͠Β"ϘλϯΛԡ͢ • ࣌ؒͷΧϯλʔ͕˘ඵʹͳΔ·ͰԣҠಈΛଓ͚Δ
• ʜ
ビデオゲームAIを作る? 伝統的な⽅法:ルールベース 「〜のときは〜せよ」 • ఢΩϟϥΫλʔ͕࠲ඪ ̋ɺ̋ ʹ౸ୡͨ͠Β"ϘλϯΛԡ͢ • ࣌ؒͷΧϯλʔ͕˘ඵʹͳΔ·ͰԣҠಈΛଓ͚Δ
• ʜ ήʔϜ͕ෳࡶʹͳΔͱॻ͘ͷ͕͘͠ͳΔ
攻略法を機械に学ばせる:機械学習 ルールを⼈間が記述するのは諦める 機械に攻略法を探してもらう
機械学習による(ビデオ)ゲームAI 様々な⽅法が提案されてきた 遺伝的アルゴリズム モンテカルロ⽊探索 などなど マールタスの学習⽅法:強化学習
強化学習によるビデオゲームAI 古いゲームから新しいゲームまで ⼈⼯知能研究の題材としてゲームが使われることも ATARI Dota 2 Starcraft-II .OJI 7
FUBM IUUQTPQFOBJDPNGJWF IUUQTEFFQNJOEDPNCMPHBMQIBTUBSNBTUFSJOHSFBM UJNFTUSBUFHZHBNFTUBSDSBGUJJ
強化学習の枠組み 環境とエージェントの相互作⽤ ゲーム:環境 エージェント:ゲームプレイヤー ΤʔδΣϯτ ڥ
環境とエージェントの相互作⽤ マールタスがボタンを選択 ゲーム画⾯が変わる
環境とエージェントの相互作⽤ マールタスがボタンを選択 ゲーム画⾯が変わる 新たな画⾯とスコアが与えられる マールタスは画⾯をみて 次のボタンを選択
環境とエージェントの相互作⽤ マールタスがボタンを選択 ゲーム画⾯が変わる 新たな画⾯とスコアが与えられる マールタスは画⾯をみて 次のボタンを選択 スコア差分: ゲームの画⾯が変わるときの 良さを測る指標
環境とエージェントの相互作⽤ エージェントが⾏動を選択 環境が変わる 新たな状態と報酬が与えられる エージェントは状態をみて次の ⾏動を選択 報酬: 環境の状態が変わるときの良 さを測る指標
エージェントが⾏動選択をするルール ⽅策:状態を⼊⼒として⾏動を出⼒する関数 ํࡦ ೖྗͨͪ ग़ྗ
強化学習で⽬指すこと ⽅策:状態を⼊⼒として⾏動を出⼒する関数 ํࡦ ೖྗͨͪ ग़ྗ ྑ͍ํࡦΛݟ͚͍ͭͨʂ
良い⽅策とは? 良い⽅策:たくさん報酬(=スコア差分)がもらえる⽅策 たくさんとは? ゲームの終わりまでの報酬の合計を考える ελʔτ ήʔϜΦʔόʔ
1ステップのみの場合
⻑いエピソード BͱCͲ͕ͬͪྑ͍ʁ
ܭࢉͯ͠ΈΑ͏
ܭࢉͯ͠ΈΑ͏
ܭࢉͯ͠ΈΑ͏
ܭࢉͯ͠ΈΑ͏
ܭࢉͯ͠ΈΑ͏
ܭࢉͯ͠ΈΑ͏
ܭࢉͯ͠ΈΑ͏
C
⾏動選択の価値を考える 価値:ある状態におけるゲームの終わりまでの報酬の総和 (報酬の総和の期待値) ⾏動価値(Q値) :ある状態において、ある⾏動を選択した場合の報酬の総和
Q値があれば良いルートがわかる ߦಈBͷ2 ʼ ߦಈCͷ2 ߦಈB͕͓ಘ
Q値を計算したい Q値を計算したい 関数を考える ؔ ೖྗ ग़ྗ
Q値を計算したい Q関数:状態を⼊⼒してQ値を出⼒する関数 2ؔ ঢ়ଶ ֤Ϙλϯͷ2
Q関数は簡単に求められない ⾮常に限られた環境では正確 なQ関数を作ることができる が。。。 実際には組み合わせが膨⼤ 計算できない!
Q関数の近似 正確なQ値を計算するのを諦める 実際にエピソードを集める
Q関数の近似 正確なQ値を計算するのを諦める 実際にエピソードを集める 集めた中でのQ値を使ってQ関数を近似する 2ؔ ঢ়ଶ ֤Ϙλϯͷ2 ͷ༧ଌ 0,
どうやってQ関数を近似するの? ニューラルネットワークと呼ばれるものを使う 脳の神経回路を模したモデル ॏΈɺόΠΞε ೖྗ ग़ྗ
どうやってQ関数を近似するの? ニューラルネットワークと呼ばれるものを使う 脳の神経回路を模したモデル ग़ྗ ॏΈʹ όΠΞεʹ = ೖྗ
×[重み]+όΠΞε = . × . +.
ニューラルネットワークの学習 1. 重みとバイアスをランダムに決める 2. 出⼒を計算 3. 欲しい出⼒(正解データ)を使って誤差を計算 4. 誤差を使って重みとバイアスを修正する 5.
2に戻る ೖྗ ग़ྗ ਖ਼ղ ޡࠩ मਖ਼
ニューラルネットワークの拡張 ೖྗ ग़ྗ ͭͷೖྗɺ̍ͭͷग़ྗ
ニューラルネットワークの拡張 複数⼊⼒、複数出⼒に拡張 ⼤規模なニューラルネットワーク=Deep Neural Network
ニューラルネットワークに画像を⼊⼒ ը૾ ϐΫηϧ
ニューラルネットワークに画像を⼊⼒ ը૾ ϐΫηϧ
ニューラルネットワークに画像を⼊⼒ Deep Neural NetworkでQ値を予測する ֤Ϙλϯͷ2 ͷ༧ଌ ʢը૾ʣ %FFQ2/FUXPSL %2/
Deep Q-Network(DQN)の学習 1. Deep Q-Networkの重みとバイアスを初期化(乱数とか) 2. 状態を⼊⼒してQ値を予測 3. ゲームをプレイさせてデータを集める 4.
集めたデータで重みとバイアスを更新 5. 2に戻る ঢ়ଶʢը૾ʣ %FFQ2/FUXPSL ༧ଌͨ͠2
データ収集の効率化 重みとバイアスの修正の時間 < データ収集にかかる時間 並列してデータ収集
データ収集の効率化 重みとバイアスの修正の時間 < データ収集にかかる時間 並列してデータ収集 • ࣮ࡍʹ৭ʑΛՃ͑ͨ"QF9ͱݺ ΕΔख๏Λ͍ͬͯΔ •
࣮3-MJCʢ1ZUIPOͷڧԽֶशͷͨΊ ͷϥΠϒϥϦʣΛར༻ <)PSHBO FUBM >
マールタスが得意なゲーム ⾏動に対して報酬が即座に反映する:アクションゲーム ⾏動に対する報酬の反映が遅いと学習が難しい ⾏動パターンが少ない:クリックよりもキーボード操作 Q学習は離散の値を前提にしている
マールタスが不得意なゲーム 報酬がすぐに与えられない:RPG系 ゲームオーバー時にしかスコアがもらえない スコアがもらえるが限られた複雑な操作をしないと進めない ⾔語の理解を必要とする ⾏動パターンが連続:マウス操作とか
ルールを機械に学ばせる ⾏動に対して報酬が即座に反映する:アクションゲーム ⾏動に対する報酬の反映が遅いと学習が難しい ⾏動パターンが少ない:クリックよりもキーボード操作 Q学習は離散の値を前提にしている
まとめ エージェントと環境、⾏動、状態、報酬 ある状態で⾏動を選択した場合の未来のスコアを考える(Q値) Q値は簡単に求められないので近似する データを集める Deep Q-NetworkでQ値を予測させる 得意なゲーム/不得意なゲームがあるよ