Kursus dalam Pembelajaran Penguatan Mendalam
Jelajahi kombinasi jaringan saraf dan pembelajaran penguatan. Algoritma dan contoh dalam Python & PyTorch
Pernahkah Anda mendengar tentang hasil luar biasa yang dicapai Deepmind dengan AlphaGo Zero dan OpenAI di Dota 2? Ini semua tentang jaringan saraf yang dalam dan pembelajaran penguatan. Apakah Anda ingin tahu lebih banyak tentangnya?
Ini adalah kesempatan yang tepat bagi Anda untuk akhirnya mempelajari Deep RL dan menggunakannya pada proyek dan aplikasi baru dan menarik.
Di sini Anda akan menemukan pengenalan mendalam tentang algoritma ini. Di antaranya Anda akan mempelajari pembelajaran q, pembelajaran q mendalam, PPO, kritikus aktor, dan mengimplementasikannya menggunakan Python dan PyTorch.
Tujuan utamanya adalah menggunakan teknologi untuk tujuan umum ini dan menerapkannya pada berbagai permasalahan penting di dunia nyata. Demis Hassabis
Repositori ini berisi:
Ceramah (& konten lainnya) terutama dari Saluran Youtube DeepMind dan Berkley.
Algoritma (seperti DQN, A2C, dan PPO) diimplementasikan di PyTorch dan diuji di OpenAI Gym: RoboSchool & Atari.
Pantau terus dan ikuti saya di #60DaysRLChallenge
Sekarang kami juga memiliki saluran Slack . Untuk mendapatkan undangan, kirim email kepada saya di [email protected]. Juga, kirim email kepada saya jika Anda memiliki ide, saran, atau perbaikan.
Untuk mempelajari Pembelajaran Mendalam, Visi Komputer, atau Pemrosesan Bahasa Alami, lihat Perjalanan ML 1 Tahun saya
Sebelum memulai.. Prasyarat
- Tingkat dasar Python dan PyTorch
- Pembelajaran Mesin
- Pengetahuan dasar dalam Pembelajaran Mendalam (MLP, CNN dan RNN)
Catatan Singkat: BUKU BARU saya sudah keluar!
Untuk mempelajari Reinforcement Learning dan Deep RL lebih mendalam, lihat buku saya Reinforcement Learning Algorithms with Python !!
Daftar isi
- Lanskap Pembelajaran Penguatan
- Menerapkan Siklus RL dan OpenAI Gym
- Memecahkan Masalah dengan Pemrograman Dinamis
- Pembelajaran Q dan Aplikasi SARSA
- Jaringan Q Dalam
- Mempelajari optimasi Stochastic dan DDPG
- Implementasi TRPO dan PPO
- Aplikasi DDPG dan TD3
- RL Berbasis Model
- Pembelajaran Imitasi dengan Algoritma DAgger
- Memahami Algoritma Optimasi Black-Box
- Mengembangkan Algoritma ESBAS
- Implementasi Praktis untuk Menyelesaikan Tantangan RL
Indeks - Pembelajaran Penguatan
- Minggu 1 - Pendahuluan
- Minggu 2 - Dasar-Dasar RL
- Minggu 3 - Algoritme berbasis nilai - DQN
- Minggu 4 - Algoritma gradien kebijakan - REINFORCE & A2C
- Minggu 5 - Gradien Kebijakan Tingkat Lanjut - PPO
- Minggu 6 - Strategi Evolusi dan Algoritma Genetika - ES
- Minggu 7 - Pembelajaran penguatan berbasis model - MB-MF
- Minggu 8 - Konsep Tingkat Lanjut dan Proyek Pilihan Anda
- 4 hari terakhir - Tinjau + Berbagi
- Sumber daya terbaik
- Sumber daya tambahan
Minggu 1 - Pendahuluan
- Mengapa Reinforcement Learning merupakan metode pembelajaran yang penting - Penjelasan sederhana
- Pendahuluan dan ikhtisar kursus - CS294 oleh Levine, Berkley
- Pembelajaran Penguatan Mendalam: Pong dari Pixels oleh Karpathy
Sumber Daya Lainnya
- "Alkitab" Pembelajaran Penguatan: Bab 1 - Sutton & Barto
- Makalah pengantar yang bagus: Pembelajaran Penguatan Mendalam: Suatu Tinjauan
- Mulai coding: Dari Awal: AI Balancing Act dalam 50 Baris Python
Minggu 2 - Dasar-Dasar RL: MDP, Pemrograman Dinamis, dan Kontrol Bebas Model
Mereka yang tidak dapat mengingat masa lalu dikutuk untuk mengulanginya - George Santayana
Minggu ini, kita akan mempelajari blok dasar pembelajaran penguatan, mulai dari definisi masalah hingga estimasi dan optimalisasi fungsi yang digunakan untuk menyatakan kualitas suatu kebijakan atau negara.
Kuliah - Teori
- Proses Keputusan Markov - David Silver (DeepMind)
- Proses Markov
- Proses Keputusan Markov
- Perencanaan dengan Pemrograman Dinamis - David Silver (DeepMind)
- Iterasi kebijakan
- Nilai iterasi
- Prediksi Bebas Model - David Silver (DeepMind)
- Pembelajaran Monte Carlo
- Pembelajaran Perbedaan Temporal
- TD(λ)
- Kontrol Bebas Model - David Silver (DeepMind)
- Ɛ-iterasi kebijakan yang serakah
- Pencarian GLIE Monte Carlo
- SARS
- Pengambilan Sampel Pentingnya
Proyek Minggu Ini - Q-learning
Q-learning diterapkan pada FrozenLake - Untuk latihan, Anda dapat menyelesaikan game menggunakan SARSA atau menerapkan Q-learning sendiri. Dalam kasus sebelumnya, hanya diperlukan sedikit perubahan.
Sumber Daya Lainnya
- "Alkitab" Pembelajaran Penguatan: Bab 3 dan 4 - Sutton & Barto
- Pengenalan fungsi nilai - DRL UC Berkley oleh Sergey Levine
Minggu 3 - Algoritme berbasis nilai - DQN
Minggu ini kita akan mempelajari konsep lebih lanjut dan menerapkan jaringan saraf dalam pada algoritma Q-learning.
Kuliah - Teori
- Perkiraan fungsi nilai - David Silver (DeepMind)
- Perkiraan fungsi yang dapat dibedakan
- Metode tambahan
- Metode batch (DQN)
- Algoritme pembelajaran Q tingkat lanjut - Sergey Levine (UC Berkley)
- Putar Ulang Penyangga
- Pembelajaran Q ganda
- Tindakan berkelanjutan (NAF,DDPG)
- Kiat praktis
Proyek Minggu Ini - DQN dan variannya
DQN dan beberapa varian diterapkan pada Pong - Minggu ini tujuannya adalah mengembangkan algoritma DQN untuk memainkan game Atari. Untuk membuatnya lebih menarik saya mengembangkan tiga ekstensi DQN: Double Q-learning , Multi-step learning , Dueling network dan Noisy Nets . Bermainlah dengan mereka, dan jika Anda merasa percaya diri, Anda dapat menerapkan pemutaran ulang yang diprioritaskan, jaringan Duel, atau RL Distribusi. Untuk mengetahui lebih banyak tentang peningkatan ini, bacalah koran!
Dokumen
Harus Dibaca
- Memainkan Atari dengan Deep Reinforcement Learning - 2013
- Kontrol tingkat manusia melalui pembelajaran penguatan mendalam - 2015
- Rainbow: Menggabungkan Peningkatan dalam Pembelajaran Penguatan Mendalam - 2017
Perpanjangan DQN
- Pembelajaran Penguatan Mendalam dengan Double Q-learning - 2015
- Pemutaran Ulang Pengalaman yang Diprioritaskan - 2015
- Arsitektur Jaringan Duel untuk Pembelajaran Penguatan Mendalam - 2016
- Jaringan bising untuk eksplorasi - 2017
- Pembelajaran Penguatan Distribusi dengan Regresi Kuantil - 2017
Sumber Daya Lainnya
- "Alkitab" Pembelajaran Penguatan: Bab 5 dan 6 - Sutton & Barto
- Pembelajaran Penguatan Mendalam di Perusahaan: Menjembatani Kesenjangan dari Game ke Industri
Minggu 4 - Algoritma gradien kebijakan - REINFORCE & A2C
Minggu ke-4 memperkenalkan metode Gradien Kebijakan, yaitu kelas algoritme yang mengoptimalkan kebijakan secara langsung. Selain itu, Anda akan belajar tentang algoritma Aktor-Kritikus. Algoritme ini menggabungkan gradien kebijakan (aktor) dan fungsi nilai (kritikus).
Kuliah - Teori
- Metode gradien kebijakan - David Silver (DeepMind)
- Gradien Kebijakan Perbedaan Hingga
- Gradien Kebijakan Monte-Carlo
- Gradien Kebijakan Aktor-Kritikus
- Pengantar gradien kebijakan - Sergey Levine (RECAP, opsional)
- Gradien Kebijakan (REINFORCE dan Vanilla PG)
- Pengurangan varians
- Aktor-Kritikus - Sergey Levine (Lebih mendalam)
- Aktor-Kritikus
- Faktor diskon
- Desain algoritma Aktor-Kritikus (mode batch atau online)
- garis dasar yang bergantung pada negara
Proyek Minggu Ini - Vanilla PG dan A2C
Vanilla PG dan A2C diterapkan pada CartPole - Latihan minggu ini adalah menerapkan metode gradien kebijakan atau aktor-kritikus yang lebih canggih. Di repositori Anda dapat menemukan versi PG dan A2C yang diimplementasikan. Peringatan Bug! Perhatikan bahwa A2C memberi saya hasil yang aneh. Jika Anda merasa implementasi PG dan A2C mudah, Anda dapat mencoba dengan versi A2C (A3C) asinkron.
Dokumen
- Metode Gradien Kebijakan untuk pembelajaran penguatan dengan perkiraan fungsi
- Metode Asinkron untuk Pembelajaran Penguatan Mendalam
Sumber Daya Lainnya
- "Alkitab" Pembelajaran Penguatan: Bab 9 dan 10 - Sutton & Barto
- RL Intuitif: Pengantar Advantage-Actor-Critic (A2C)
- Agen Aktor-Kritikus Asinkron (A3C)
Minggu 5 - Gradien Kebijakan Tingkat Lanjut - PPO
Minggu ini membahas tentang metode gradien kebijakan tingkat lanjut yang meningkatkan stabilitas dan konvergensi metode gradien kebijakan "Vanilla". Anda akan mempelajari dan menerapkan PPO, algoritma RL yang dikembangkan oleh OpenAI dan diadopsi di OpenAI Five.
Kuliah - Teori
- Gradien kebijakan tingkat lanjut - Sergey Levine (UC Berkley)
- Masalah dengan Metode Gradien Kebijakan "Vanilla".
- Batasan Kinerja Kebijakan
- Teori Peningkatan Monotonik
- Algoritma: NPO, TRPO, PPO
- Gradien Kebijakan Alami, TRPO, PPO - John Schulman (Berkey DRL Bootcamp) - (RECAP, opsional)
- Keterbatasan Metode Gradien Kebijakan "Vanilla".
- Gradien Kebijakan Alami
- Optimalisasi Kebijakan Wilayah Kepercayaan, TRPO
- Optimalisasi Kebijakan Proksimal, PPO
Proyek Minggu Ini - PPO
PPO diterapkan ke BipedalWalker - Minggu ini Anda harus menerapkan PPO atau TRPO. Saya menyarankan PPO mengingat kesederhanaannya (dibandingkan TRPO). Di folder proyek Week5 Anda menemukan implementasi PPO yang belajar bermain BipedalWalker . Selanjutnya, di dalam folder tersebut Anda dapat menemukan sumber daya lain yang akan membantu Anda dalam pengembangan proyek. Selamat bersenang-senang!
Untuk mempelajari lebih lanjut tentang PPO, baca koran dan lihat video Arxiv Insights
Dokumen
- Optimalisasi Kebijakan Wilayah Kepercayaan - 2015
- Algoritma Optimasi Kebijakan Proksimal - 2017
Sumber Daya Lainnya
- Untuk lebih memahami PPO dan TRPO: Pengejaran Kebahagiaan (Robotik).
- Mur dan Baut Deep RL
- Praktik terbaik PPO: Pelatihan dengan Optimasi Kebijakan Proksimal
- Penjelasan algoritma PPO oleh Arxiv Insights
Minggu 6 - Strategi Evolusi dan Algoritma Genetika - ES
Pada tahun lalu, strategi Evolution (ES) dan Algoritma Genetika (GA) telah terbukti mencapai hasil yang sebanding dengan metode RL. Ini adalah algoritme kotak hitam bebas turunan yang memerlukan lebih banyak data daripada RL untuk dipelajari, namun mampu ditingkatkan di ribuan CPU. Minggu ini kita akan melihat algoritma kotak hitam ini.
Kuliah & Artikel - Teori
- Strategi Evolusi
- Pengantar ES: Panduan Visual untuk Strategi Evolusi
- ES untuk RL: Strategi Stabil yang Berkembang
- Metode Bebas Derivatif - Kuliah
- Strategi Evolusi (diskusi makalah)
- Algoritma Genetika
- Pengantar Algoritma Genetika — Termasuk Kode Contoh
Proyek Minggu Ini - ES
Strategi Evolusi diterapkan pada LunarLander - Minggu ini proyeknya adalah mengimplementasikan ES atau GA. Di folder Week6 Anda dapat menemukan implementasi dasar makalah Evolution Strategies as a Scalable Alternative to Reinforcement Learning untuk menyelesaikan LunarLanderContinuous. Anda dapat memodifikasinya untuk memainkan lingkungan yang lebih sulit atau menambahkan ide Anda.
Dokumen
- Neuroevolusi Mendalam: Algoritma Genetika adalah Alternatif Kompetitif untuk Melatih Jaringan Syaraf Dalam untuk Pembelajaran Penguatan
- Strategi Evolusi sebagai Alternatif yang Dapat Diskalakan untuk Pembelajaran Penguatan
Sumber Daya Lainnya
- Algoritma Optimasi Evolusioner - Dan Simon
Minggu 7 - Pembelajaran penguatan berbasis model - MB-MF
Algoritme yang dipelajari hingga saat ini bebas model, artinya algoritme hanya memilih tindakan yang lebih baik dalam suatu keadaan. Algoritme ini mencapai kinerja yang sangat baik tetapi memerlukan banyak data pelatihan. Sebaliknya, algoritma berbasis model, mempelajari lingkungan dan merencanakan tindakan selanjutnya sesuai dengan model yang dipelajari. Metode ini lebih efisien dalam pengambilan sampel dibandingkan tanpa model, namun secara keseluruhan menghasilkan performa terburuk. Pada minggu ini Anda akan mempelajari teori di balik metode ini dan menerapkan salah satu algoritma terakhir.
Kuliah - Teori
- RL Berbasis Model, David Silver (DeepMind) (versi ringkas)
- Mengintegrasikan Pembelajaran dan Perencanaan
- Ikhtisar RL Berbasis Model
- Arsitektur terintegrasi
- Pencarian Berbasis Simulasi
- RL Berbasis Model, Sergey Levine (UC Berkley) (versi mendalam)
- Mempelajari sistem dinamis dari data
- Ikhtisar RL berbasis model
- Model global dan lokal
- Belajar dengan model lokal dan wilayah kepercayaan
- Mempelajari kebijakan dengan meniru pengontrol yang optimal
- Propagasi mundur ke dalam kebijakan dengan model yang dipelajari
- Algoritma pencarian kebijakan terpandu
- Meniru kontrol optimal dengan DAgger
- Pembelajaran dan gambar model tingkat lanjut
- Model di ruang laten
- Model langsung di ruang gambar
- Model terbalik
Proyek Minggu Ini - MB-MF
MB-MF diterapkan pada RoboschoolAnt - Minggu ini saya memilih untuk mengimplementasikan algoritma berbasis model yang dijelaskan dalam makalah ini. Anda dapat menemukan implementasi saya di sini. NB: Daripada mengimplementasikannya di Mujoco seperti di koran, saya menggunakan RoboSchool, simulator robot open-source yang terintegrasi dengan OpenAI Gym.
Dokumen
- Agen Peningkatan Imajinasi untuk Pembelajaran Penguatan Mendalam - 2017
- Pembelajaran penguatan dengan tugas tambahan tanpa pengawasan - 2016
- Dinamika Jaringan Neural untuk Pembelajaran Penguatan Mendalam Berbasis Model dengan Penyempurnaan Tanpa Model - 2018
Sumber Daya Lainnya
- "Alkitab" Pembelajaran Penguatan: Bab 8 - Sutton & Barto
- Model Dunia - Bisakah agen belajar dari mimpinya sendiri?
Minggu 8 - Konsep Tingkat Lanjut dan Proyek Pilihan Anda
Minggu terakhir ini membahas tentang konsep RL tingkat lanjut dan proyek pilihan Anda.
Kuliah - Teori
- Sergey Levine (Berkley)
- Hubungan antara inferensi dan kontrol
- Pembelajaran penguatan terbalik
- Eksplorasi (bagian 1)
- Eksplorasi (bagian 2) dan pembelajaran transfer
- Pembelajaran dan transfer multi-tugas
- Pembelajaran meta dan paralelisme
- Pembelajaran imitasi tingkat lanjut dan masalah terbuka
- David Silver (Pikiran Dalam)
Proyek akhir
Di sini Anda dapat menemukan beberapa ide proyek.
- Pommerman (Multipemain)
- Tantangan AI untuk Prostetik (Tantangan)
- Model Kata (Implementasi kertas)
- Permintaan penelitian OpenAI (Penelitian)
- Kontes Retro (Pembelajaran transfer)
Sumber Daya Lainnya
- AlfaGo Nol
- Kertas
- Entri blog DeepMind: AlphaGo Zero: Belajar dari awal
- Video Arxiv Insights: Cara kerja AlphaGo Zero - Google DeepMind
- OpenAI Lima
- Entri blog OpenAI: OpenAI Lima
- Video Arxiv Insights: OpenAI Five: Menghadapi Manusia Profesional di Dota II
4 hari terakhir - Tinjau + Berbagi
Selamat telah menyelesaikan Tantangan RL 60 Hari!! Beri tahu saya jika Anda menikmatinya dan membagikannya!
Sampai jumpa!
Sumber daya terbaik
Pembelajaran Penguatan: Sebuah Pengantar - oleh Sutton & Barto. "Alkitab" pembelajaran penguatan. Di sini Anda dapat menemukan draf PDF versi kedua.
Pembelajaran Penguatan Mendalam Langsung - oleh Maxim Lapan
Pembelajaran Mendalam - Ian Goodfellow
Pembelajaran Penguatan Mendalam - kelas UC Berkeley oleh Levine, periksa di sini situs mereka.
Kursus Pembelajaran Penguatan - oleh David Silver, DeepMind. Ceramah pengantar yang bagus dari Silver, peneliti utama di AlphaGo. Mereka mengikuti buku Reinforcement Learning karya Sutton & Barto.
Sumber daya tambahan
Pembelajaran Penguatan yang Luar Biasa. Daftar sumber daya yang didedikasikan untuk pembelajaran penguatan
GroundAI di RL. Makalah tentang pembelajaran penguatan
Secangkir Kopi ☕
Kontribusi apa pun sangat dihargai! Bersulang!