งานวิจัย · arXiv 1312.5602
Playing Atari with Deep Reinforcement Learning
สรุปสามบรรทัด
- 🎯 Reinforcement learning จากอินพุตภาพที่มีมิติสูงมักประสบปัญหาความไม่เสถียร ประสิทธิภาพการใช้ตัวอย่างต่ำ และต้องพึ่งพาฟีเจอร์ที่สร้างด้วยมือ
- 🔧 เชื่อมต่อ convolutional neural network เข้ากับพิกเซลดิบโดยตรงโดยใช้ model-free Q-learning ที่ฝึกบน mini-batches ซึ่งสุ่มมาจาก experience replay buffer
- 📈 ทำผลงานเหนือกว่า RL baseline เดิมใน 6 จาก 7 เกม Atari และทำคะแนนชนะเกณฑ์มาตรฐานระดับมนุษย์ในเกม Breakout, Enduro และ Pong
บทคัดย่อ
เรานำเสนอโมเดล deep learning โมเดลแรกที่ประสบความสำเร็จในการเรียนรู้นโยบายการควบคุม (control policy) โดยตรงจากอินพุตการรับรู้ที่มีมิติสูงโดยใช้ reinforcement learning โมเดลดังกล่าวเป็น convolutional neural network ที่ได้รับการฝึกด้วยรูปแบบหนึ่งของ Q-learning ซึ่งใช้อินพุตเป็นพิกเซลดิบและให้เอาต์พุตเป็นฟังก์ชันมูลค่า (value function) ที่ประมาณการผลตอบแทนในอนาคต เราประยุกต์ใช้วิธีนี้กับเกม Atari 2600 จำนวน 7 เกมจาก Arcade Learning Environment โดยไม่มีการปรับแก้สถาปัตยกรรมโมเดลหรืออัลกอริทึมการเรียนรู้แต่อย่างใด ผลการทดลองพบว่าวิธีของเรามีประสิทธิภาพเหนือกว่าแนวทางก่อนหน้าทั้งหมดใน 6 เกม และทำคะแนนแซงหน้าผู้เชี่ยวชาญระดับมนุษย์ได้ถึง 3 เกม
บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)
We present the first deep learning model to successfully learn control policies directly from high-dimensional sensory input using reinforcement learning. The model is a convolutional neural network, trained with a variant of Q-learning, whose input is raw pixels and whose output is a value function estimating future rewards. We apply our method to seven Atari 2600 games from the Arcade Learning Environment, with no adjustment of the architecture or learning algorithm. We find that it outperforms all previous approaches on six of the games and surpasses a human expert on three of them.
คู่มือการอ่าน
ปัญหาและแรงจูงใจ
ในอดีต Reinforcement learning (RL) ในโดเมนการรับรู้มักต้องพึ่งพาฟีเจอร์ที่ออกแบบด้วยมือ (hand-engineered features) ร่วมกับ linear value functions หรือการประมาณค่านโยบาย แม้ว่า deep neural networks จะแสดงให้เห็นถึงการเรียนรู้การแทนค่า (representation learning) ที่ยอดเยี่ยมในงาน computer vision และ speech recognition มาแล้ว แต่การนำมาประยุกต์ใช้กับ RL ยังคงมีความท้าทายพื้นฐานอยู่หลายประการ:
- Delayed and sparse rewards: สัญญาณการเรียนรู้เป็นค่าสเกลาร์ มีสัญญาณรบกวนสูง (noisy) และถูกคั่นห่างจากการกระทำ (actions) เป็นหลักพันขั้นตอนเวลา
- Non-i.i.d. observations: สถานะของสภาพแวดล้อมที่เกิดขึ้นตามลำดับมีความสัมพันธ์กันสูง (highly correlated time series) มากกว่าที่จะเป็นการสุ่มตัวอย่างที่เป็นอิสระต่อกัน
- Non-stationary distributions: นโยบายที่สร้างข้อมูลมีการเปลี่ยนแปลงอยู่ตลอดเวลาระหว่างการเรียนรู้ ทำให้เกิด feedback loops ที่อาจทำให้ nonlinear function approximators เกิดการลู่ออก (diverge) ได้
เป้าหมายของงานวิจัยนี้คือการสร้างอัลกอริทึมและสถาปัตยกรรมโครงข่ายประสาทเทียมเพียงหนึ่งเดียวที่สามารถเรียนรู้นโยบายการควบคุมได้โดยตรงจากอินพุตภาพมิติสูง (วิดีโอ RGB ขนาด ) ในเกม Atari 2600 หลากหลายเกม โดยไม่ต้องปรับแต่งโครงสร้างเฉพาะสำหรับแต่ละเกม
แนวคิดหลัก
- End-to-end sensory control: แมปพิกเซลดิบไปยังค่า action-value (-values) โดยตรงโดยไม่ต้องใช้ระบบคอมพิวเตอร์วิทัศน์เฉพาะโดเมน หรือเข้าถึงสถานะภายในของตัวจำลอง (emulator)
- Experience Replay Buffer: บันทึกปฏิสัมพันธ์ของเอเจนต์ ไว้ในหน่วยความจำที่มีขนาดจำกัด การฝึกจะสุ่ม mini-batches แบบเอกรูป (uniform) จากหน่วยความจำนี้ ซึ่งช่วยตัดความสัมพันธ์ระหว่างตัวอย่าง ลดความแปรปรวนของเกรเดียนต์ และสร้างความเสถียรให้กับการแจกแจงของข้อมูลข้ามนโยบายในอดีต
- Action-value output parameterization: แทนที่จะป้อนทั้งสถานะและการกระทำเป็นอินพุตเพื่อคำนวณสเกลาร์ เพียงค่าเดียว โครงข่ายจะรับเฉพาะการแทนค่าสถานะเป็นอินพุต แล้วส่งเอาต์พุตเป็นเวกเตอร์ที่มีค่า -values ที่ทำนายไว้สำหรับการกระทำแบบไม่ต่อเนื่อง (discrete actions) ทั้งหมดที่เป็นไปได้ภายในการส่งผ่านไปข้างหน้า (forward pass) เพียงครั้งเดียว
- Frame stacking and downsampling: เนื่องจากเฟรมเดี่ยว ๆ ประสบปัญหา perceptual aliasing (ไม่สามารถอนุมานความเร็วหรือทิศทางได้) จึงนำประวัติของเฟรมภาพระดับสีเทาที่ผ่านการประมวลผลล่วงหน้าจำนวน 4 เฟรมมาวางซ้อนกันเป็นอินพุตเทนเซอร์ขนาด
วิธีการ (พร้อมสมการสำคัญ)
ลำดับของสถานะ จะถูกแปลงผ่านฟังก์ชันการประมวลผลล่วงหน้า ให้อยู่ในการแทนค่าขนาด พารามิเตอร์ของโครงข่าย จะได้รับการฝึกโดยใช้ฟังก์ชันการสูญเสีย mean squared Bellman error ในแต่ละรอบการวนซ้ำ (iteration) ดังนี้:
โดยที่เป้าหมาย จะถูกคำนวณโดยใช้พารามิเตอร์ จากรอบก่อนหน้า:
เกรเดียนต์เทียบกับ คือ:
สถาปัตยกรรมของโมเดลและการตั้งค่าการฝึก
- Input: ภาพขนาด ที่เกิดจากการครอบตัดเฟรมภาพระดับสีเทาที่ถูกย่อขนาดลง
- Conv 1: ตัวกรองขนาด จำนวน 16 ตัว, stride 4, ฟังก์ชันกระตุ้น ReLU
- Conv 2: ตัวกรองขนาด จำนวน 32 ตัว, stride 2, ฟังก์ชันกระตุ้น ReLU
- FC 1: ยูนิต fully-connected พร้อม ReLU จำนวน 256 ยูนิต
- Output: เลเยอร์เชิงเส้นแบบ fully-connected ที่มี 4 ถึง 18 เอาต์พุต (หนึ่งค่าต่อหนึ่งการกระทำที่เป็นไปได้)
- Optimizer: RMSProp ด้วย batch size ขนาด 32
- Exploration: กลยุทธ์แบบ -greedy โดยค่า จะลดลงแบบเชิงเส้นจาก สู่ ในช่วง เฟรมแรก จากนั้นคงที่ไว้ที่
- Reward Clipping: ปรับผลตอบแทนเชิงบวกให้เป็น , เชิงลบเป็น , และค่าที่เป็นกลางเป็น เพื่อปรับมาตรฐานของสเกลค่าความคลาดเคลื่อน
- Frame skipping: เอเจนต์จะสังเกตและตัดสินใจกระทำหนึ่งครั้งในทุก ๆ เฟรม (ทำซ้ำการกระทำเดิม) ยกเว้นเกม Space Invaders ที่ใช้ เพื่อให้ยังมองเห็นสไปรต์ของเลเซอร์ที่กะพริบอยู่ได้
ผลลัพธ์ (พร้อมตัวเลขที่สำคัญที่สุด)
DQN ได้รับการประเมินในเกม Atari 2600 จำนวน 7 เกม โดยใช้นโยบายแบบ -greedy ที่มี คะแนนเฉลี่ยเมื่อเปรียบเทียบกับ linear RL baselines ดั้งเดิมและผู้เชี่ยวชาญระดับมนุษย์:
| เกม | Random | Sarsa | Contingency | DQN (เฉลี่ย) | Human Expert | DQN (เอพิโซดที่ดีที่สุด) |
|---|---|---|---|---|---|---|
| Beam Rider | 354 | 996 | 1743 | 4092 | 7456 | 5184 |
| Breakout | 1.2 | 5.2 | 6 | 168 | 31 | 225 |
| Enduro | 0 | 129 | 159 | 470 | 368 | 661 |
| Pong | -20.4 | -19 | -17 | 20 | -3 | 21 |
| Q*bert | 157 | 614 | 960 | 1952 | 18900 | 4500 |
| Seaquest | 110 | 665 | 723 | 1705 | 28010 | 1740 |
| Space Invaders | 179 | 271 | 268 | 581 | 3690 | 1075 |
- DQN มีประสิทธิภาพเหนือกว่าวิธี reinforcement learning ก่อนหน้า (Sarsa และ Contingency) ในทั้ง 7 เกม
- DQN ทำคะแนนได้เหนือกว่าผู้เชี่ยวชาญระดับมนุษย์ใน 3 เกม ได้แก่ Breakout (168 เทียบกับ 31), Enduro (470 เทียบกับ 368), และ Pong (20 เทียบกับ -3)
- การติดตามค่าเฉลี่ยของ maximum -value ที่ทำนายไว้บนชุดสถานะที่แยกไว้ (held-out set) แสดงให้เห็นการพัฒนาที่ราบรื่นและเพิ่มขึ้นเรื่อย ๆ (monotonic) ตลอดการฝึก ซึ่งแสดงถึงเสถียรภาพโดยไม่มีการลู่ออก
ข้อจำกัดและประเด็นเปิด
- Long-horizon strategic planning: เกมที่ต้องอาศัย delayed, long-term credit assignment (เช่น Q*bert, Seaquest, และ Space Invaders) ยังคงมีคะแนนตามหลังมนุษย์อยู่อย่างมาก
- Reward clipping side effects: การปรับผลตอบแทนเชิงบวกทั้งหมดให้เป็น ทำให้ไม่สามารถแยกแยะเป้าหมายที่มีมูลค่าสูงออกจากเป้าหมายที่มีมูลค่าต่ำได้
- Uniform replay memory limitations: Replay buffer มีความจุจำกัด ( เฟรม) ซึ่งจะเขียนทับข้อมูลเก่า และทำการสุ่มตัวอย่างแบบเอกรูปโดยไม่ได้ถ่วงน้ำหนักการเปลี่ยนสถานะตามความสำคัญ (ต่างจาก prioritized replay)
- Changing target values: แม้ว่าพารามิเตอร์ จะถูกตรึงไว้ระหว่างขั้นตอนเกรเดียนต์เดี่ยว แต่พารามิเตอร์เหล่านี้ก็ยังเปลี่ยนไปตามขั้นตอนของ SGD อย่างต่อเนื่อง (target network ที่แยกต่างหากและอัปเดตอย่างช้า ๆ ถูกนำมาเสนอในงานวิจัยภายหลัง)
คำศัพท์สำคัญ
- Deep Q-Networks (DQN)
- สถาปัตยกรรม convolutional neural network ที่ฝึกโดยใช้ Q-learning เพื่อแมปค่าสังเกตสถานะที่มีมิติสูงไปยังค่าประมาณ action-value สำหรับทุกการกระทำที่เป็นไปได้โดยตรง
- Experience Replay
- กลไกที่จัดเก็บการเปลี่ยนสถานะไว้ในหน่วยความจำและสุ่ม mini-batches มาใช้ในการอัปเดตค่าน้ำหนัก ซึ่งช่วยตัดความสัมพันธ์เชิงเวลาและลดการเลื่อนของการแจกแจงข้อมูล
- Q-learning
- อัลกอริทึม temporal difference reinforcement learning แบบ off-policy และ model-free ที่ประมาณค่าฟังก์ชัน action-value ที่ดีที่สุด แบบวนซ้ำ
- Arcade Learning Environment (ALE)
- แพลตฟอร์มซอฟต์แวร์ที่นำเกม Atari 2600 มาใช้เป็นเกณฑ์มาตรฐานเชิงประจักษ์สำหรับเอเจนต์ reinforcement learning ที่มีปฏิสัมพันธ์กับเฟรมวิดีโอและฮาร์ดแวร์จำลอง
- Frame-skipping
- เทคนิคที่เอเจนต์จะสังเกตสถานะและเลือกการกระทำเพียงหนึ่งครั้งในทุก ๆ เฟรม โดยจะกระทำซ้ำในเฟรมที่ถูกข้ามเพื่อเร่งความเร็วในการประมวลผลจริง
- Reward Clipping
- การแปลงผลตอบแทนเชิงบวกทั้งหมดให้เป็น และเชิงลบให้เป็น ระหว่างการฝึก เพื่อรักษาเสถียรภาพของเกรเดียนต์ไม่ให้แปรผันตามขนาดคะแนนของเกมที่ต่างกัน
- Perceptual Aliasing
- สภาวะที่ภาพนิ่งเฟรมเดี่ยวมีข้อมูลสถานะไม่เพียงพอ (เช่น ความเร็วหรือทิศทางการเคลื่อนที่) ในการระบุสถานะที่แท้จริงของสภาพแวดล้อม
คำถามที่พบบ่อย
ทำไม DQN จึงทำนายค่า action value ทั้งหมดใน forward pass ครั้งเดียวแทนที่จะรับ (state, action) เป็นอินพุต?
การรับเฉพาะสถานะที่ประมวลผลล่วงหน้าเป็นอินพุตและให้เอาต์พุตเป็นเวกเตอร์ของ Q-values สำหรับทุกการกระทำที่เป็นไปได้ ช่วยให้เอเจนต์สามารถประเมินการกระทำทั้งหมดได้ในการ forward pass เพียงครั้งเดียว แทนที่จะต้องทำ forward pass แยกกัน ครั้งต่อขั้นตอนเวลา
ทำไม experience replay จึงจำเป็นต่อการฝึก deep networks ด้วย Q-learning?
การเปลี่ยนสถานะตามลำดับปกติใน RL มีความสัมพันธ์กันสูงมากและสร้างการแจกแจงข้อมูลที่เลื่อนไปตามค่าน้ำหนักของนโยบายปัจจุบัน การสุ่มตัวอย่างในอดีตแบบเอกรูปจาก replay memory จะช่วยตัดความสัมพันธ์เหล่านี้ ลดความแปรปรวนของการอัปเดต และป้องกัน feedback loop ที่นำไปสู่การลู่ออกของโมเดล
DQN จัดการกับความเร็วและการเคลื่อนไหวจากภาพ 2 มิติอย่างไร?
ฟังก์ชันการประมวลผลล่วงหน้าจะนำเฟรมภาพระดับสีเทาที่ย่อขนาดลงจำนวน 4 เฟรมล่าสุดมาวางซ้อนกันเป็นอินพุตเทนเซอร์ขนาด ทำให้โครงข่ายสามารถอนุมานความเร็วและทิศทางได้
DQN ทำผลงานชนะระดับมนุษย์ในเกม Atari ใดบ้าง?
DQN ทำคะแนนเฉลี่ยได้สูงกว่าเกณฑ์มาตรฐานของผู้เชี่ยวชาญระดับมนุษย์ในเกม Breakout (168 เทียบกับ 31), Enduro (470 เทียบกับ 368), และ Pong (20 เทียบกับ -3)
คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด