Judul/Tautan
Reinforcement Learning
(playlist YouTube di sini)
Oleh
David Silver (Google DeepMind, Professor di University College London)
Penilaian Saya
(4 dari 5)
Saya merekomendasikan kursus ini.
Format
Video YouTube (ikuti playlist ini)
Tingkat
Menengah
Biaya
Gratis
Durasi
Total durasi video lebih dari 15 jam, terdiri dari 10 kelas (=10 video) dengan durasi masing-masing sekitar 1 jam 30-40 menit.
Tahun Pembuatan
2015
Penilaian oleh Situs Lain
Video ini banyak disebut dan direkomendasikan oleh artikel lain, misalnya:
- Learning Reinforcement Learning dari WildML,
- Deep Reinforcement Learning: Pong from Pixels oleh Andrej Karpathy dari OpenAI/Tesla,
- Quora: What is a good MOOC on reinforcement learning?
Persyaratan
Hal-hal yang sebaiknya Anda ketahui sebelum mengikuti kursus ini:
- pembelajaran mesin
Sebaiknya Anda sudah mengetahui sedikit tentang pembelajaran mesin sebelum ikut kursus ini. Ada banyak kursus yang bisa Anda pilih, misalnya yang klasik dan banyak diikuti tentunya kursus oleh Andrew Ng (lihat Ulasan MOOC: Machine Learning – Stanford University via Coursera). - sedikit statistika deskriptif (mis: mean, distribusi).
Anda bisa lihat MOOC Review: Intro to Descriptive Statistics (@Udacity) - sedikit kalkulus (mis: mengetahui apa itu turunan)
Anda bisa lihat Review: Turunan dan Turunan Parsial (Khan Academy @YouTube) - sedikit aljabar liner (mis: mengetahui operasi perkalian matriks)
Lingkup Materi
Lingkup materi sangat lengkap dari sisi teori, mencakup lingkup reinforcement learning yang luas dan dalam dan mutakhir. Tidak ada praktek maupun pengenalan terhadap tools-tools praktis.
Rating untuk lingkup materi:
Pengajaran
Pengajaran bagus sekali, jelas dan runut.
Slides (PDF) bisa diunduh
Ada satu kelas (kelas ke-7) yang videonya pengajarnya tidak muncul (hanya slides saja) sehingga tidak kelihatan gesture-nya. Sayangnya kelas ini juga pas ketika membahas tentang policy gradient, suatu topik yang penting di RL.
Ada juga kelas yang audionya terlalu kecil sehingga agak susah didengar (kelas ke-2 kalau tidak salah), atau ada audio yang hilang selama beberapa menit (di kelas pertama).
Rating untuk pengajaran:
Pemrograman
Tidak ada praktek pemrograman dalam kursus ini.
Rating untuk pemrograman: N/A
Dukungan
Tidak ada dukungan dalam bentuk forum atau semacamnya. Anda bisa coba dengan bertanya di bagian komentar video di YouTube, tapi ya jawabannya tidak bisa diharapkan.
Rating untuk dukungan: N/A
Ulasan
Ceritanya, waktu itu saya sedang mengikuti program spesialisasi Applied Data Science in Python (lihat ulasan saya). Karena kursus yang ketiga belum dimulai jadwalnya, saya “iseng” cari kursus tentang RL karena saya belum mengetahui bidang ini.
Sebelumnya saya agak segan mengikuti kursus David Silver ini. Pertama karena formatnya dalam bentuk video YouTube saja, bukan MOOC, jadi pasti tidak ada kuis atau tugas pemrograman. Kedua karena saya agak takut kalau materinya terlalu tinggi buat saya. Walaupun saya sudah pernah mengikuti sedikit kursus tentang RL sebelumnya (lihat Ulasan MOOC: Machine Learning (Georgia Tech @Udacity)), tapi terus terang tidak ada ilmu yang “nyangkut” di otak, karena mungkin pembahasannya terlalu canggih buat saya. Takutnya kursus ini juga begitu.
Tapi karena kursus ini banyak disebut di berbagai tempat, akhirnya saya coba lihat juga.
Dan ternyata sangat berkesan! Mengikuti video pertamanya, yaitu Introduction to Reinforcement Learning, saya langsung terkesan sekali dengan pengajarannya. Akhirnya saya ikuti sampai selesai, dan menurut saya ini adalah salah satu sumber terbaik untuk belajar teori RL saat ini. Paling tidak untuk pendahuluan.
Tip: sumber lainnya yang banyak disebut adalah buku Reinforcement Learning 2nd Edition oleh Richard Sutton (link ke draft PDF). Ada juga kursus Deep Deinforcement Learning (CS294 dari UC Berkeley) yang sepertinya cukup komprehensif (mencakup satu semester, terdiri dari 18 kelas/video masing-masing 1 jam), tapi saya belum mengikutinya.
Berikut saya coba uraikan kenapa kursus ini berkesan buat saya.
Runut, Terstruktur, Luas, dan Dalam
Kebanyakan kursus lain setelah bagian pendahuluan maka langsung terjun ke topik-topik tertentu, sebut saja misalnya MDP, Q-learning, Dyna. Di kursus ini, penjelasan dilakukan secara terstruktur dari atas ke bawah. Dari paling atas, ilmu RL secara terstruktur dibagi menurut beberapa kategori, misalnya dari segi jenis komputasi bisa dikelompokkan menjadi Value Based, Policy Based, atau Actor-Critic. Dari sisi penggunaan model, maka bisa dikelompokkan menjadi Model Free, Model Based, atau Hybrid. Dan sebagainya.
Lalu masing-masing kategori itu akan dibahas secara mendalam, dipilah lagi kalau bisa, lalu dibahas satu persatu teknik-teknik apa yang masuk dalam kategori tersebut sampai ke dalam, lengkap sampai rumus dan konsiderasi plus dan minusnya.
Menurut saya struktur pengelompokan ilmu RL yang dilakukan David Silver dalam kursus ini sangat baik. Saya sudah baca sedikit (draft) buku Reinforcement Learning 2nd Edition oleh Richard Sutton, dan menurut saya struktur pengelompokan oleh Sutton tidak sebagus punya David (tapi komentar ini masih tentatif ya, soalnya saya belum membaca buku Sutton secara penuh).
Dengan mengikuti kursus ini, Anda jadi jelas, kalau mendapatkan istilah atau teknik misalnya Q-learning, Dyna, atau policy gradient, maka teknik ini masuk dalam kategori apa, dengan demikian bisa membayangkan plus dan minusnya.
Lingkup yang dibahas juga luas, melebar sampai topik yang mungkin kurang dipakai di RL, tapi tetap dibahas juga agar pengetahuan dan konteks pemahaman kita jadi lengkap.
Tip: materi apa saja yang diajarkan di kursus ini akan saya tuliskan di bagian Silabus di bawah.
Dari Pemula sampai Mutakhir
“Reinforcement learning is machine learning for policies“
– Jessica Forde (YouTube link)
“Reinforcement learning is this idea that there is an agent that is acting in a world“
– Emma Brunskill, Carnegie Mellon University (YouTube link)
Kutipan di atas adalah contoh-contoh definisi RL dari kursus lain yang saya temukan di YouTube yang menurut saya konyol karena sama sekali tidak menjelaskan RL itu apa. Mungkin karena orangnya kepinteran kali ya..
Kursus ini tidak seperti itu. Di kursus ini, kita akan dijelaskan benar-benar dari depan tentang RL itu apa, dari konsepnya yang paling mendasar, sehingga orang awam (seperti saya) bisa mengerti dan tidak merasa takut mengikuti kursus ini.
Dari pengetahuan yang mendasar itu, kita dibawa sampai ke teori dan teknik yang paling mutakhir di bidang RL. Tentunya mutakhir sampai pada tahun 2015, ketika kursus ini dilakukan.
Pengajar Berpengetahuan Luas
Kita bisa menilai bahwa pengetahuan dia dalam dari cara dia menjawab pertanyaan di kelas. Dia sangat mengerti apa yang diajarkannya, mulai dari matematika di belakangnya, topik, teknik, dan teori lain yang berkaitan, sampai dengan perkembangan mutakhirnya.
Silakan lihat profil David Silver di Wikipedia. Menurut The Guardian dia adalah programmer utama tim Go di DeepMind, oleh karena itu Business Insider UK menyebut dia sebagai “the unsung hero” di DeepMind. Wajar saja kalau David mempunyai pengetahuan mutakhir tentang bidang ini, karena memang apa yang dilakukannya adalah salah satu kemajuan terdepan di RL.
Gaya pengajaran (mirip Andrew Ng hehe)
Mungkin ini subjektif, tapi saya kira kita-kita para siswa yang pernah mengikuti kursus machine learning-nya Andrew Ng sebagian besar suka dengan gaya mengajarnya yang kalem, santai, tapi berbobot. Rasanya gaya David mirip-mirip seperti itu.
Ditambah karena suasana pengajarannya adalah kelas beneran, maka ada interaksi dengan murid yang membuat suasananya lebih enak.
Silabus
Kursus ini terdiri dari 10 kelas (=10 video) yang masing-masing panjangnya sekitar 1 jam 30-40 menit. Berikut saya coba menyusun silabusnya dari outline masing-masing video dan copy paste dari judul slidenya.
Part I: Elementary Reinforcement Learning
Lecture 1: Introduction to Reinforcement Learning
- About RL
- RL Problem
- RL Agent
- Agent and environment
- Agent components
- Problems within RL
Lecture 2: Markov Decision Processes
- Markov Processes
- Markov Property
- State Transition Matrix
- Markov Process
- Example: Student Markov Chain
- Markov Reward Processes
- Markov Reward Process
- Example: Student MRP
- Return
- Why discount
- Value Function
- Bellman Equation for MRPs
- Markov Decision Processes
- Markov Decision Proc
- Policies
- Value Function
- Bellman Expectation Equation
- Optimal Value Function
- Optimal Policy
- Bellman Optimality Equation
- Extensions to MDPs
- Infinite MDPs
- POMDPs
- Ergodic Markov Process
Lecture 3: Planning by Dynamic Programming
- Introduction
- Policy Evaluation
- Policy Iteration
- Value Iteration
- Extensions to Dynamic Programming
- Asynchronous Dynamic Programming
- In-Place Dynamic Programming
- Real-Time Dynamic Programming
- Full-Width Backups
- Approximate Dynamic Programming
- Contraction Mapping
Lecture 4: Model-Free Prediction
- Introduction
- Monte-Carlo Learning
- Monte-Carlo Reinforcement Learning
- Monte-Carlo Policy Evaluation
- Temporal-Difference Learning (TD-learning)
- Temporal-Difference Learnin
- MC and TD
- Advantages and Disadvantages of MC vs. TD
- TD(λ)
- n-Step Prediction
- n-Step Return
- λ-return
- Forward-View TD(λ)
- Backward View TD(λ)
- TD(λ) and TD(0)
- TD(λ) and MC
- MC and TD(1)
- Telescoping in TD(1)
- TD(λ) and TD(1)
- Telescoping in TD(λ)
Lecture 5: Model-Free Control
- Introduction
- Model-Free Reinforcement Learning
- Uses of Model-Free Contr
- On and Off-Policy Learning
- On-Policy Monte-Carlo Control
- Example of Greedy Action Selection
- ε-Greedy Exploration
- Monte-Carlo Control
- GLIE
- On-Policy Temporal-Difference Learning
- Sarsa
- Updating Action-Value Functions with Sarsa
- On-Policy Control With Sarsa
- Sarsa Algorithm for On-Policy Control
- Convergence of Sarsa
- n-Step Sarsa
- Forward View Sarsa(λ)
- Backward View Sarsa(λ)
- Sarsa
- Off-Policy Learning
- Importance Sampling
- Importance Sampling for Off-Policy Monte-Carlo
- Importance Sampling for Off-Policy TD
- Q-Learning
- Off-Policy Control with Q-Learning
- Q-Learning Control Algorithm
- Summary
- Relationship Between DP and TD
Part II: Reinforcement Learning in Practice
Lecture 6: Value Function Approximation
- Introduction
- Incremental Methods
- Value Function Approx. By Stochastic Gradient Descent
- Linear Value Function Approximation
- Monte-Carlo with Value Function Approximation
- TD Learning with Value Function Approximation
- TD(λ) with Value Function Approximation
- Batch Methods
- Stochastic Gradient Descent with Experience Replay
- Experience Replay in Deep Q-Networks (DQN)
- Linear Least Squares Prediction
- Linear Least Squares Prediction Algorithms (LSMC, LSTD, LSTD(λ) )
- Least Squares Control
- Least Squares Q-Learning
Lecture 7: Policy Gradient Methods
- Introduction
- Policy-Based Reinforcement Learning
- Value-Based and Policy-Based RL
- Advantages of Policy-Based RL
- Policy Search
- Finite Difference Policy Gradient
- Policy Gradient
- Computing Gradients By Finite Differences
- Monte-Carlo Policy Gradient
- Score Function
- Softmax Policy
- Gaussian Policy
- One-Step MDPs
- Policy Gradient Theorem
- Monte-Carlo Policy Gradient (REINFORCE)
- Actor-Critic Policy Gradient
- Estimating the Action-Value Function
- Reducing Variance Using a Baseline
- Estimating the Advantage Function
- Policy Gradient with Eligibility Traces
- Natural Policy Gradient
- Natural Actor-Critic
Lecture 8: Integrating Learning and Planning
- Introduction
- Model-Based Reinforcement Learning
- Advantages of Model-Based RL
- Model Learning
- Table Lookup Model
- Planning with a Model
- Sample-Based Planning
- Integrated Architectures (Dyna)
- Integrating Learning and Planning
- Dyna Architecture
- Dyna-Q Algorithm
- Simulation-Based Search
- Forward Search
- Simulation-Based Search
- Simple Monte-Carlo Search
- Monte-Carlo Tree Search
- Advantages of MC Tree Search
- Temporal-Difference Search
- MC vs. TD search
- TD Search
- Dyna-2
Lecture 9: Exploration and Exploitation
- Introduction
- Exploration vs. Exploitation Dilemma
- Multi-Armed Bandits
- The Multi-Armed Bandit
- Regret
- Exploration methods:
- Naive exploration
- Greedy Algorithm
- ε-Greedy Algorithm
- Optimistic Initialisation
- Decaying ε-Greedy Algorithm
- Lower Bound
- Optimism in the Face of Uncertainty
- Upper Confidence Bounds
- Hoeffding’s Inequality
- Calculating Upper Confidence Bounds
- UCB1
- Bayesian Bandits
- Probability Matching
- Thompson Sampling
- Value of Information
- Information State Space
- Bayes-Adaptive Bernoulli Bandits
- Gittins Indices for Bernoulli Bandits
- Naive exploration
- Contextual Bandits
- Linear Upper Confidence Bounds
- MDPs
- Exploration/Exploitation Principles to MDPs
- Optimistic Initialisation: Model-Free RL
- Optimistic Initialisation: Model-Based RL
- Upper Confidence Bounds: Model-Free RL
- Bayesian Model-Based R
- Thompson Sampling: Model-Based RL
- Information State Search in MDPs
- Bayes Adaptive MDP
Lecture 10: Case study – RL in games
- State of the Art
- Game Theory
- Minimax Search
- Self-Play Reinforcement Learning
- Combining Reinforcement Learning and Minimax Search
- Reinforcement Learning in Imperfect-Information Games
- Conclusions
Kesimpulan
Kursus ini memberikan teori reinforcement learning yang lengkap, luas dan mendalam, dari dasar sampai teknik-teknik mutakhir, secara terstruktur dan runut. Bagi saya sendiri terus terang cukup berat materinya, sering suatu cuplikan video harus saya putar berulang-ulang agar mengerti, tapi pada akhirnya waktu yang kita curahkan sepadan dengan ilmu yang kita dapat.
Ala iklan obat: setelah mengikuti kursus ini saya jadi cukup percaya diri untuk mengikuti kursus RL lainnya.
Saya merekomendasikan kursus ini.
Tinggalkan Balasan