NeurIPS –– konferensi yang saat ini dianggap sebagai acara paling top di dunia pembelajaran mesin. Hari ini saya akan bercerita tentang pengalaman saya dalam berpartisipasi dalam kontes NeurIPS: bagaimana bersaing dengan akademisi terbaik di dunia, mengambil hadiah dan menerbitkan artikel.

Apa inti dari konferensi ini?
NeurIPS mendukung pengenalan metode pembelajaran mesin dalam berbagai disiplin ilmu. Sekitar 10 lagu diluncurkan setiap tahun untuk memecahkan masalah mendesak dunia akademik. Menurut hasil kompetisi, para pemenang berbicara di konferensi dengan laporan, perkembangan baru dan algoritma. Yang paling utama saya bersemangat tentang pembelajaran yang diperkuat (Reinforcement Learning atau RL), itu sebabnya saya telah berpartisipasi dalam kontes RL yang didedikasikan untuk NeurIPS untuk tahun kedua sekarang.
Mengapa NeurIPS

NeurIPS terutama berfokus pada sains, bukan uang. Dengan berpartisipasi dalam kontes, Anda melakukan sesuatu yang sangat penting, menangani masalah-masalah mendesak.
Kedua, konferensi ini adalah acara global, para ilmuwan dari berbagai negara berkumpul di satu tempat, yang masing-masingnya dapat Anda bicarakan.
Selain itu, seluruh konferensi diisi dengan pencapaian ilmiah terbaru dan hasil mutakhir, sangat penting bagi orang-orang dari bidang ilmu data untuk mengetahui dan memantau mereka.
Bagaimana memulai?
Mulai berpartisipasi dalam kompetisi semacam itu cukup sederhana. Jika Anda begitu memahami DL sehingga Anda bisa melatih ResNet –– ini sudah cukup: daftar dan pergi. Selalu ada papan peringkat publik tempat Anda dapat menilai tingkat Anda dengan sadar dibandingkan dengan peserta lain. Dan jika ada sesuatu yang tidak jelas –– selalu ada saluran di slack / discord / gitter / etc untuk membahas semua masalah yang muncul. Jika topiknya benar-benar "milikmu", maka tidak ada yang akan menghentikan Anda dari menerima hasil yang dihargai - di semua kompetisi di mana saya berpartisipasi, semua pendekatan dan solusi dipelajari dan diimplementasikan tepat dalam perjalanan kompetisi.
Studi Kasus NeurIPS: Belajar Berlari

Masalah
Kiprah seseorang adalah hasil dari interaksi otot, tulang, organ penglihatan dan telinga bagian dalam. Dalam kasus gangguan pada sistem saraf pusat, gangguan motorik tertentu dapat terjadi, termasuk gangguan gaya berjalan - abasia.
Para peneliti dari Stanford Laboratory of Neuromuscular Biomechanics memutuskan untuk menghubungkan pembelajaran mesin dengan masalah perawatan untuk dapat bereksperimen dan menguji teori mereka pada model virtual kerangka, dan bukan pada orang yang masih hidup.
Pernyataan masalah
Peserta diberi kerangka manusia virtual (dalam simulator OpenSim ), yang memiliki prostesis sebagai pengganti satu kaki. Tugasnya adalah mengajarkan kerangka untuk bergerak ke arah tertentu dengan kecepatan tertentu. Selama simulasi, baik arah dan kecepatan bisa berubah.

Untuk mendapatkan model kontrol kerangka virtual, diusulkan untuk menggunakan pembelajaran penguatan. Simulator memberi kami beberapa keadaan kerangka S (vektor ~ 400 angka). Itu perlu untuk memprediksi tindakan apa yang perlu dilakukan (kekuatan aktivasi otot-otot kaki adalah vektor dari 19 angka). Dalam proses simulasi, kerangka itu diberikan penghargaan R - sebagai jenis konstan dikurangi penalti untuk menyimpang dari kecepatan dan arah yang diberikan.
Tentang pelatihan penguatanReinforcement Learning (RL) adalah area yang berkaitan dengan teori keputusan dan pencarian kebijakan perilaku yang optimal.
Ingat bagaimana mereka mengajar kucing trik baru doggie. Ulangi beberapa tindakan, berikan yummy untuk melakukan trik, dan jangan berikan untuk tidak terpenuhinya. Anjing harus memahami semua ini dan menemukan strategi perilaku ("kebijakan" atau "kebijakan" dalam hal RL), yang memaksimalkan jumlah permen yang diterima.
Secara resmi, kami memiliki agen (anjing) yang terlatih tentang sejarah interaksi dengan lingkungan (orang). Pada saat yang sama, lingkungan, mengevaluasi tindakan agen, memberinya hadiah (lezat) - semakin baik perilaku agen, semakin besar hadiahnya. Karenanya, tugas agen adalah menemukan kebijakan yang memaksimalkan hadiah untuk seluruh waktu interaksi dengan lingkungan.
Mengembangkan topik ini lebih lanjut, solusi berbasis aturan - perangkat lunak 1.0, ketika semua aturan ditetapkan oleh pengembang, pembelajaran yang diawasi - perangkat lunak 2.0, ketika sistem belajar sendiri menggunakan contoh-contoh yang tersedia dan menemukan ketergantungan data, pembelajaran penguatan adalah selangkah lebih maju ketika sistem itu sendiri belajar untuk meneliti, bereksperimen dan menemukan dependensi yang diperlukan dalam keputusannya. Semakin jauh kita melangkah, semakin baik kita mencoba mengulangi bagaimana seseorang belajar.
Fitur Tugas
Tugas ini terlihat seperti perwakilan khas pembelajaran yang diperkuat untuk tugas dengan ruang tindakan kontinu (RL untuk ruang tindakan kontinu). Ini berbeda dari RL biasa karena daripada memilih tindakan tertentu (menekan tombol joystick), tindakan ini diperlukan untuk memprediksi secara akurat (dan ada banyak kemungkinan yang tak terbatas).
Pendekatan dasar untuk solusi ( Deep Deterministic Policy Gradient ) ditemukan kembali pada tahun 2015, yang untuk waktu yang lama dengan standar DL, wilayah ini terus berkembang secara aktif dalam aplikasi robotika dan aplikasi RL dunia nyata. Ada sesuatu untuk diperbaiki: pendekatan yang kuat (agar tidak merusak robot asli), efisiensi sampel (agar tidak mengumpulkan data dari robot nyata selama berbulan-bulan) dan masalah RL lainnya (eksplorasi vs eksploitasi trade-off, dll). Dalam kompetisi ini, mereka tidak memberi kami robot nyata - hanya simulasi, tetapi simulator itu sendiri 2.000 kali lebih lambat daripada rekan-rekan Open Source (di mana semua orang memeriksa algoritma RL mereka), dan karenanya membawa masalah efisiensi sampel ke tingkat yang baru.
Tahapan Persaingan
Kompetisi itu sendiri berlangsung dalam tiga tahap, di mana tugas dan kondisi agak berubah.
- Tahap 1: kerangka belajar berjalan lurus dengan kecepatan 3 meter per detik. Tugas itu dianggap selesai jika agen melewati 300 langkah.
- Tahap 2: kecepatan dan arah berubah dengan frekuensi reguler. Panjang jarak meningkat menjadi 1000 langkah.
- Tahap 3: solusi akhir harus dikemas dalam gambar buruh pelabuhan dan dikirim untuk verifikasi. Secara total, 10 paket dapat dibuat.
Metrik kualitas utama dianggap sebagai hadiah total untuk simulasi, yang menunjukkan seberapa baik kerangka berpegang pada arah dan kecepatan tertentu sepanjang jarak.
Selama tahap 1 dan 2, kemajuan masing-masing peserta ditampilkan di leaderboard. Solusi terakhir harus dikirim sebagai gambar buruh pelabuhan. Ini memberikan batasan pada jam kerja dan sumber daya.
Coolstory: leaderboard publik dan RLKarena ketersediaan leaderboard, tidak ada yang menunjukkan model terbaik mereka untuk memberikan "sedikit lebih banyak dari biasanya" di babak final dan mengejutkan rival.
Mengapa gambar buruh pelabuhan sangat penting
Tahun lalu, sebuah insiden kecil terjadi ketika mengevaluasi keputusan di babak pertama. Pada saat itu, pemeriksaan melalui interaksi http dengan platform, dan wajah kondisi untuk pengujian ditemukan. Orang bisa mengetahui di mana situasi tertentu agen dievaluasi dan melatihnya hanya di bawah kondisi ini. Yang tentu saja tidak menyelesaikan masalah sebenarnya. Itulah sebabnya mereka memutuskan untuk mentransfer sistem pengiriman ke gambar buruh pelabuhan dan meluncurkannya di server jarak jauh penyelenggara. Dbrain menggunakan sistem yang sama untuk menghitung hasil kompetisi tepat untuk alasan yang sama.
Poin-poin penting
Tim

Hal pertama yang penting bagi keberhasilan seluruh perusahaan adalah tim. Tidak peduli seberapa baik Anda (dan seberapa kuat cakarnya) - partisipasi dalam tim sangat meningkatkan peluang keberhasilan. Alasannya sederhana - berbagai pendapat dan pendekatan, memeriksa kembali hipotesis, kemampuan untuk memparalelkan pekerjaan dan melakukan lebih banyak eksperimen. Semua ini sangat penting ketika menyelesaikan masalah baru yang harus Anda hadapi.
Idealnya, pengetahuan dan keterampilan Anda harus berada pada level yang sama dan saling melengkapi. Jadi, misalnya, tahun ini saya menanam tim kami di PyTorch, dan saya mendapat beberapa gagasan awal tentang penerapan sistem pelatihan agen terdistribusi.
Bagaimana cara menemukan tim? Pertama, Anda dapat bergabung dengan barisan ods dan mencari orang-orang yang berpikiran sama di sana. Kedua, untuk RL-fellows ada ruang obrolan terpisah di telegram - klub RL . Ketiga, Anda dapat mengambil kursus yang luar biasa dari ShAD - Praktis RL , setelah itu Anda pasti akan mendapatkan beberapa kenalan.
Namun, perlu diingat kebijakan "penyerahan - atau tidak." Jika Anda ingin bersatu, pertama-tama ambil keputusan Anda, kirim, tunjukkan di papan peringkat dan tunjukkan level Anda. Seperti yang ditunjukkan oleh latihan, tim semacam itu jauh lebih seimbang.
Motivasi
Seperti yang sudah saya tulis, jika topiknya adalah "milikmu", maka tidak ada yang akan menghentikan Anda. Ini berarti bahwa wilayah tersebut tidak hanya menyukai Anda, tetapi menginspirasi Anda - Anda membakarnya, Anda ingin menjadi yang terbaik di dalamnya.
Saya bertemu RL 4 tahun yang lalu - selama perjalanan Berkeley 188x - Pengantar AI - dan masih tidak bisa berhenti bertanya-tanya pada kemajuan di bidang ini.
Sistematis
Ketiga, tetapi sama pentingnya - Anda harus dapat melakukan apa yang Anda janjikan, berinvestasi dalam kompetisi setiap hari dan hanya ... menyelesaikannya. Setiap hari Tidak ada bakat bawaan yang dapat dibandingkan dengan kemampuan untuk melakukan sesuatu, bahkan sedikit, tetapi setiap hari. Untuk inilah motivasi dibutuhkan. Agar berhasil, saya sarankan membaca DeepWork dan AMA ternaus .
Manajemen waktu
Keahlian lain yang sangat penting adalah kemampuan untuk mendistribusikan kekuatan seseorang dan menggunakan waktu luang dengan benar. Menggabungkan kerja penuh waktu dan partisipasi dalam kompetisi adalah tugas yang tidak sepele. Hal terpenting dalam kondisi ini adalah jangan sampai terbakar dan tahan seluruh beban. Untuk melakukan ini, Anda perlu mengatur waktu Anda dengan benar, dengan sungguh-sungguh menilai kekuatan Anda dan jangan lupa untuk bersantai tepat waktu.
Terlalu banyak pekerjaan
Pada tahap akhir kompetisi, sebuah situasi biasanya muncul di mana secara harfiah dalam seminggu Anda harus melakukan tidak hanya banyak, tetapi SANGAT banyak. Untuk hasil terbaik, Anda harus bisa memaksa diri Anda untuk duduk dan melakukan lompatan terakhir ke hadiah yang didambakan.
Coolstory: batas waktu setelah batas waktuKarena apa, secara umum, Anda mungkin perlu mendaur ulang untuk kepentingan kompetisi? Jawabannya cukup sederhana - batas waktu transfer. Pada kompetisi seperti itu, panitia seringkali tidak dapat memprediksi segalanya, karena cara termudah adalah memberi peserta lebih banyak waktu. Tahun ini kompetisi diperpanjang 3 kali: pertama selama sebulan, kemudian selama seminggu dan pada saat terakhir (24 jam sebelum batas waktu) - selama 2 hari. Dan jika selama dua transfer pertama Anda hanya perlu mengatur waktu ekstra dengan benar, maka dalam dua hari terakhir Anda hanya perlu membajak.
Teori

Antara lain, jangan lupakan teori - untuk mewaspadai apa yang terjadi di lapangan dan bisa mencatat yang relevan. Jadi, misalnya, untuk menyelesaikan tahun lalu, tim kami berangkat dari artikel berikut:
Tahun ini, beberapa lagi ditambahkan kepada mereka:
Berlatih

Mengetahui teori saja tidak cukup - penting untuk dapat mempraktikkan semua pendekatan ini dan membangun sistem validasi yang benar untuk mengevaluasi keputusan. Sebagai contoh, tahun ini kami mengetahui bahwa agen kami mengatasi beberapa kasus regional dengan buruk hanya 2 hari sebelum akhir kompetisi. Karena itu, kami tidak punya waktu untuk memperbaiki model kami sepenuhnya dan tidak benar-benar mendapatkan beberapa poin ke tempat kedua yang didambakan. Jika kami menemukan ini bahkan dalam seminggu - hasilnya bisa lebih baik.
Coolstory: episode IIIPenghargaan rata-rata untuk 10 episode uji berfungsi sebagai penilaian akhir dari solusi.

Grafik menunjukkan hasil pengujian agen kami: 9 dari 10 episode, kerangka kami baik-baik saja (rata-rata - 9955,66), tetapi satu episode .... Episode 3 tidak diberikan kepadanya (hadiah 9870). Kesalahan inilah yang menyebabkan jatuhnya kecepatan akhir ke 9947 (-8 poin).
Semoga beruntung
Dan akhirnya - jangan lupa tentang keberuntungan dangkal. Jangan berpikir bahwa ini adalah poin yang kontroversial. Sebaliknya, sedikit keberuntungan memberikan kontribusi besar untuk pekerjaan konstan pada diri sendiri: bahkan jika probabilitas keberuntungan hanya 10%, seseorang yang mencoba berpartisipasi dalam kompetisi 100 kali akan berhasil lebih banyak daripada seseorang yang mencoba hanya 1 kali dan meninggalkan ide.
Pulang pergi: keputusan tahun lalu - tempat ketiga

Tahun lalu, tim kami - Mikhail Pavlov dan saya - berpartisipasi dalam kompetisi NeurIPS untuk pertama kalinya dan motivasi utamanya adalah berpartisipasi dalam kompetisi NeurIPS pertama dalam pembelajaran penguatan. Kemudian saya baru saja menyelesaikan kursus
Praktis RL di SHAD dan ingin menguji keterampilan yang diperoleh. Sebagai hasilnya, kami mengambil tempat ketiga terhormat, hanya kalah dari nnaisene (Schmidhuber) dan tim universitas dari Cina. Pada saat itu,
solusi kami “cukup sederhana” dan didasarkan pada DDPG Terdistribusi dengan parameter noise (
publikasi dan
presentasi pada ml .
Pelatihan ).
Keputusan tahun ini adalah tempat ketiga

Ada beberapa perubahan tahun ini. Pertama, tidak ada keinginan untuk hanya berpartisipasi dalam kompetisi ini, saya ingin memenangkannya. Kedua, komposisi tim juga telah berubah: Alexey Grinchuk, Anton Pechenko dan saya. Ambil dan menangkan - tidak berhasil, tetapi kami kembali mengambil tempat ke-3.
Solusi kami akan secara resmi disajikan di NeurIPS, dan sekarang kami akan membatasi diri pada sejumlah kecil detail. Berdasarkan keputusan tahun lalu dan keberhasilan pembelajaran penguatan kebijakan tahun ini (artikel di atas), kami menambahkan sejumlah perkembangan kami sendiri, yang akan kami bicarakan di NeurIPS, dan mendapat Kritik Ensemble Distributed Quantile, dengan mana kami mengambil tempat ketiga.
Semua praktik terbaik kami - sistem pembelajaran terdistribusi, algoritma, dll. Akan dipublikasikan dan tersedia di Catalyst.RL setelah NeurIPS.
Coolstory: anak laki-laki besar - senjata besarTim kami dengan percaya diri pergi ke peringkat 1 sepanjang kompetisi. Namun, orang-orang besar punya rencana lain - 2 pemain besar memasuki kompetisi 2 minggu sebelum akhir kompetisi: FireWork (Baidu) dan nnaisense (Schmidhuber). Dan jika tidak ada yang bisa dilakukan dengan Google Cina, maka dengan tim Schmidhuber cukup lama kami dapat dengan jujur ​​berjuang untuk tempat kedua, kehilangan hanya dengan margin minimal. Bagiku itu cukup bagus untuk kekasih.
Kenapa ini semua?
- Komunikasi Peneliti top datang ke konferensi dengan siapa Anda dapat mengobrol langsung, yang tidak akan memberikan korespondensi email.
- Publikasi Jika solusi mengambil hadiah, maka tim diundang ke konferensi (atau mungkin lebih dari satu) untuk mempresentasikan keputusannya dan mempublikasikan artikel.
- Tawaran pekerjaan dan PhD. Publikasi dan hadiah dalam konferensi semacam itu secara signifikan meningkatkan peluang Anda untuk mendapatkan posisi di perusahaan-perusahaan terkemuka seperti OpenAI, DeepMind, Google, Facebook, Microsoft.
- Nilai dunia nyata. NeurIPS dilakukan untuk memecahkan masalah mendesak dari dunia akademik dan dunia nyata. Anda dapat yakin bahwa hasilnya tidak akan sampai ke meja, tetapi benar-benar akan diminati dan akan membantu meningkatkan dunia.
- Berkendara Menyelesaikan kontes seperti itu ... hanya menarik. Dalam sebuah kompetisi, Anda dapat memunculkan banyak ide baru, menguji berbagai pendekatan - hanya untuk menjadi yang terbaik. Dan mari kita jujur, kapan lagi Anda bisa mengendarai kerangka, bermain game dan semua ini dengan tampilan serius dan demi ilmu pengetahuan?
Coolstory: visa dan RLSaya sangat tidak menyarankan mencoba menjelaskan kepada orang Amerika memeriksa Anda bahwa Anda akan pergi ke konferensi, karena Anda melatih kerangka virtual untuk berjalan dalam simulasi. Pergi saja ke konferensi dengan bicara.
Ringkasan
Berpartisipasi dalam NeurIPS adalah pengalaman yang sulit ditaksir terlalu tinggi. Jangan takut dengan berita utama profil tinggi - Anda hanya perlu menenangkan diri dan mulai memutuskan.
Dan pergi ke Catalyst.RL , lalu apa.