“Pelatihan penguatan yang mendalam. AlphaGo dan teknologi lainnya ": pengumuman buku

Halo semuanya!

Kami memiliki salah satu buku terbaik tentang pelatihan penguatan yang tersedia untuk preorder, awalnya bernama " Deep Reinforcement Learning Hands-on " oleh Maxim Lapan. Berikut sampul terjemahan Rusia :



Agar Anda dapat menghargai ringkasan buku ini, kami menawarkan terjemahan ulasan yang ditulis oleh penulis untuk rilis yang asli.


Hai

Saya seorang penggemar otodidak yang tertarik pada pembelajaran yang mendalam. Oleh karena itu, ketika perwakilan dari penerbit Packt menghubungi saya dan menyarankan untuk menulis buku praktis tentang keadaan pembelajaran mendalam saat ini dengan penguatan, saya sedikit takut, tetapi setelah beberapa keraguan saya setuju, dengan asumsi optimis: "Oh, akan ada pengalaman yang menarik."
Saya tidak akan mengatakan bahwa pekerjaan ini diberikan kepada saya sebagai langkah mudah, tentu saja tidak. Anda tidak memiliki hari libur, tidak ada waktu luang, ketakutan terus-menerus tentang "kebodohan yang membeku" dan mengejar tenggat waktu untuk setiap bab (dua minggu per bab dan kode contoh). Namun, secara umum, semuanya berjalan positif dan sangat menarik.

Sebelum menjelaskan secara singkat isi dari setiap bab, mari kita gambarkan ide keseluruhan buku .
Ketika saya mulai bereksperimen di RL lebih dari empat tahun yang lalu, saya memiliki sumber informasi berikut:



Mungkin ada sesuatu yang lain, tetapi ini adalah sumber informasi yang paling penting. Semuanya sangat jauh dari praktik:

  • Buku Sutton dan Barto, juga dikenal sebagai "Buku RL," hanya memberikan dasar teoretis dari disiplin ini.
  • Artikel terkait RL diterbitkan hampir setiap hari, tetapi masih jarang berisi tautan ke kode tertentu. Hanya rumus dan algoritma. Jika Anda beruntung, parameter hiper akan ditunjukkan.
  • Kursus David Silver diajarkan di University College London (UCL) pada 2015. Ini memberikan gambaran yang sangat baik tentang metode yang ada pada waktu itu, yang memungkinkan mereka untuk dikuasai secara intuitif, namun, di sini teori itu kembali menang atas praktik.


Pada saat yang sama, saya sangat terpikat pada artikel DeepMind ("Jaringan saraf dapat belajar bermain game Atari dalam piksel! WOW!"), Dan saya merasa bahwa teori kering ini menyembunyikan nilai praktis yang sangat besar. Jadi, saya menghabiskan banyak waktu mempelajari teori, menerapkan berbagai metode dan men-debug mereka. Seperti yang Anda duga, itu tidak mudah: Anda dapat menghabiskan beberapa minggu mengasah metode dan kemudian menemukan bahwa implementasi Anda tidak benar (atau, lebih buruk lagi, Anda salah paham rumusnya). Saya tidak menganggap pelatihan seperti itu buang-buang waktu - sebaliknya, saya pikir ini adalah cara yang paling benar untuk mempelajari sesuatu. Namun, ini membutuhkan banyak waktu.

Dua tahun kemudian, ketika saya mulai mengerjakan teks, tujuan utama saya adalah: untuk memberikan informasi praktis menyeluruh tentang metode RL kepada pembaca yang hanya mengenal disiplin yang menakjubkan ini - seperti yang pernah saya lakukan.

Sekarang sedikit tentang buku itu. Ini difokuskan terutama pada praktik, dan saya mencoba meminimalkan volume teori dan formula. Ini berisi formula kunci, tetapi tidak ada bukti yang diberikan. Pada dasarnya, saya mencoba memberikan pemahaman intuitif tentang apa yang terjadi, bukan mencari ketelitian presentasi yang maksimal.

Pada saat yang sama, diasumsikan bahwa pembaca memiliki pengetahuan dasar tentang pembelajaran dan statistik yang mendalam. Ada bab dalam buku ini dengan ikhtisar perpustakaan PyTorch (karena semua contoh diberikan menggunakan PyTorch), tetapi bab ini tidak dapat dianggap sebagai sumber informasi mandiri di jaringan saraf. Jika Anda belum pernah mendengar tentang kehilangan dan fungsi aktivasi sebelumnya, mulailah dengan melihat buku-buku lain, hari ini ada banyak. (Catatan jalur: misalnya, buku " Belajar dalam ").

Dalam buku saya, Anda akan menemukan banyak contoh kompleksitas yang beragam, dimulai dengan yang paling sederhana (metode CrossEntropy di lingkungan CartPole berisi ~ 100 baris dalam python), diakhiri dengan proyek yang agak besar, misalnya, belajar AlphGo Zero atau agen RL untuk berdagang di bursa. Kode sampel diunggah sepenuhnya ke GitHub , ada lebih dari 14k baris kode dalam Python.

Buku ini terdiri dari 18 bab yang mencakup aspek paling penting dari pembelajaran mendalam modern dengan penguatan:

  • Bab 1 : memberikan informasi pengantar tentang paradigma pembelajaran yang diperkuat, menunjukkan bagaimana ia berbeda dari belajar dengan dan tanpa guru. Di sini kami mempertimbangkan model matematika pusat yang terkait dengan pembelajaran penguatan: Markov proses pengambilan keputusan: (MPPR). Perkenalan dengan MPNR dibuat selangkah demi selangkah: Saya berbicara tentang rantai Markov, yang diubah menjadi proses penguatan Markov (dengan penambahan komponen penguatan) dan, akhirnya, menjadi proses pengambilan keputusan Markov yang lengkap, di mana tindakan agen juga diperhitungkan dalam gambaran keseluruhan.
  • Bab 2 : berbicara tentang OpenAI Gym , API umum untuk RL, dirancang untuk bekerja di berbagai lingkungan, termasuk Atari, menyelesaikan masalah klasik, seperti CartPole, tugas pembelajaran berkelanjutan, dll.
  • Bab 3 : memberikan ikhtisar singkat tentang API PyTorch. Bab ini tidak dimaksudkan sebagai panduan lengkap untuk DL, namun, ia meletakkan dasar untuk memahami bab-bab selanjutnya. Jika Anda menggunakan alat lain untuk memecahkan masalah pembelajaran yang mendalam, maka itu harus berfungsi sebagai pengantar yang baik untuk model PyTorch yang indah, sehingga lebih mudah bagi Anda untuk memahami contoh-contoh dari bab-bab berikut. Di akhir bab ini, kami akan mengajarkan GAN sederhana yang akan menghasilkan dan membedakan tangkapan layar Atari dari game yang berbeda.
  • Bab 4 : memeriksa salah satu metode paling sederhana dan paling kuat: CrossEntropy. Dalam bab ini, kami akan mengajari Anda jaringan pertama yang dapat memecahkan masalah di lingkungan CartPole .
  • Bab 5 : Bab ini memulai bagian kedua buku ini pada algoritma iterasi untuk nilai. Bab 5 membahas cara sederhana pelatihan lembar bentang menggunakan persamaan Bellman untuk memecahkan masalah di lingkungan FrozenLake .
  • Bab 6 : Bab ini memperkenalkan Anda pada DQN yang memainkan game Atari. Arsitektur agen persis sama dengan di artikel terkenal DeepMind .
  • Bab 7 : memperkenalkan beberapa ekstensi DQN modern untuk membantu meningkatkan stabilitas dan kinerja DQN yang mendasarinya. Dalam bab ini, metode dari artikel " Pelangi: Menggabungkan peningkatan dalam Deep RL "; semua metode ini diterapkan dalam bab ini, dan saya menjelaskan ide-ide yang melatarbelakanginya. Metode-metode ini adalah: DQN langkah-N, DQN ganda, jaringan berisik, buffer pemutaran prioritas, jaringan duel, dan jaringan kategori. Pada akhir bab ini, semua metode digabungkan menjadi contoh kode umum, persis seperti yang dilakukan dalam "artikel pelangi".
  • Bab 8 : menjelaskan proyek berukuran sedang pertama, menggambarkan sisi praktis RL dalam memecahkan masalah dunia nyata. Dalam bab ini, menggunakan DQN, agen dilatih untuk melakukan operasi di bursa.
  • Bab 9 : Bab ini memulai bagian ketiga dari buku tentang teknik gradien kebijakan. Di dalamnya kita berkenalan dengan metode-metode seperti itu, kekuatan dan kelemahannya dibandingkan dengan metode-metode enumerasi berdasarkan nilai-nilai yang telah dipertimbangkan di atas. Metode pertama dalam keluarga ini disebut REINFORCE.
  • Bab 10 : menjelaskan cara menangani salah satu masalah paling serius RL: variabilitas gradien kebijakan. Setelah bereksperimen dengan level PG dasar, Anda akan terbiasa dengan metode aktor-kritik.
  • Bab 11 : berbicara tentang bagaimana memparalelkan metode aktor-kritik pada perangkat keras modern.
  • Bab 12 : contoh praktis kedua yang menjelaskan cara mengatasi masalah yang terkait dengan pemrosesan bahasa alami. Dalam bab ini, kami mengajarkan chatbot sederhana untuk menggunakan metode RL pada bahan kotak dialog bioskop Cornell .
  • Bab 13 : contoh praktis lain tentang otomatisasi web: MiniWoB digunakan sebagai platform. Sayangnya, OpenAI menolak untuk menggunakan MiniWoB, sehingga sulit untuk menemukan informasi tentang hal itu ( berikut adalah beberapa butir). Tetapi ide MiniWoB sangat brilian, jadi dalam bab ini saya menunjukkan cara mengkonfigurasi dan melatih agen untuk memecahkan beberapa masalah yang terkait dengannya.
  • Bab 14 : bagian keempat buku terakhir, yang dikhususkan untuk metode dan teknik yang lebih maju, dimulai dengan itu. Bab 14 berfokus pada tugas manajemen berkelanjutan dan menjelaskan metode A3C, DDPG, dan D4PG untuk memecahkan masalah di beberapa lingkungan PyBullet.
  • Bab 15 : berbicara lebih banyak tentang masalah manajemen berkelanjutan dan memperkenalkan Anda ke fenomena Wilayah Trust menggunakan TRPO, PPO, dan ACKTR sebagai contoh.
  • Bab 16 : dikhususkan untuk metode pengajaran dengan penguatan tanpa gradien (bekerja pada prinsip "kotak hitam"); mereka diposisikan sebagai alternatif yang lebih skalabel untuk metode DQN dan PG. Strategi evolusi dan algoritma genetika diterapkan di sini untuk menyelesaikan beberapa masalah kendali berkelanjutan.
  • Bab 17 : mengkaji pendekatan RL berbasis model dan menjelaskan upaya DeepMind untuk mengisi kesenjangan antara metode berbasis model dan non-model. Bab ini mengimplementasikan agen I2A untuk Breakout.
  • Bab 18 : Bab terakhir buku ini membahas metode AlphaGo Zero yang digunakan saat bermain Connect4. Kemudian agen yang sudah jadi digunakan sebagai bagian dari bot telegram untuk memeriksa hasilnya.



Itu saja! Saya harap Anda menikmati buku ini.

Source: https://habr.com/ru/post/id474276/


All Articles