Apakah ada cara untuk mengajarkan pembelajaran penguatan dalam aplikasi selain game?
Satu-satunya contoh yang dapat saya temukan di Internet adalah agen permainan. Saya mengerti bahwa VNC mengendalikan input ke game melalui jaringan penguatan. Apakah mungkin untuk mengatur ini dengan mengatakan perangkat lunak CAD?
reinforcement-learning
applications
Mark Mark Microwave Charlton
sumber
sumber
Jawaban:
Salah satu contoh keren dari pembelajaran penguatan adalah helikopter terbang yang otonom. Saya memiliki kesempatan untuk mempelajari beberapa hal yang dilakukan oleh Andrew Ng dan yang lainnya baru-baru ini. Inilah makalah artikel penelitian . Ada makalah serupa lainnya juga. Anda dapat google mereka jika Anda ingin mempelajari lebih lanjut.
Anda juga dapat melihatnya beraksi di dalam video youtube ini .
Berikut ini adalah aplikasi lain yang sama sekali berbeda di bidang keuangan.
sumber
Anda akan melihat banyak contoh game dalam literatur pembelajaran penguatan, karena lingkungan game seringkali dapat dikodekan secara efisien, dan berjalan cepat pada satu komputer yang kemudian dapat berisi lingkungan dan agen. Untuk permainan klasik, seperti backgammon, checker, catur, go, maka ada pakar manusia yang bisa kita bandingkan hasilnya. Permainan tertentu atau lingkungan seperti permainan yang disederhanakan biasanya digunakan untuk membandingkan berbagai pendekatan, seperti halnya angka tulisan tangan MNIST digunakan untuk membandingkan pendekatan pembelajaran yang diawasi.
Iya. Secara informal Anda bisa menerapkan pendekatan pembelajaran penguatan kapan pun Anda bisa membingkai suatu masalah sebagai agen yang bertindak dalam lingkungan di mana ia dapat diinformasikan tentang negara dan nilai hadiah yang memengaruhi tujuan. Secara lebih formal, teori pembelajaran penguatan didasarkan pada solusi untuk Proses Keputusan Markov , jadi jika Anda dapat menyesuaikan deskripsi masalah Anda dengan MDP maka berbagai teknik yang digunakan dalam RL - seperti Q-learning, SARSA, REINFORCE - dapat diterapkan. Teori kesesuaian ini tidak perlu sempurna untuk sistem yang dihasilkan untuk bekerja, misalnya Anda sering dapat memperlakukan keadaan yang tidak diketahui atau tidak sempurna diamati secara acak acak untuk agen, dan menganggap ini bagian dari lingkungan stokastik.
Berikut adalah beberapa contoh kegunaan yang mungkin untuk pembelajaran penguatan di luar permainan rekreasi:
Kontrol logika untuk robot bermotor, seperti belajar membalik pancake dan contoh lainnya . Di sini pengukuran lingkungan dilakukan oleh sensor fisik pada robot. Hadiah diberikan untuk menyelesaikan tujuan, tetapi juga dapat disesuaikan untuk kelancaran, penggunaan energi secara ekonomis dll. Agen memilih tindakan tingkat rendah seperti torsi motor atau posisi relai. Secara teori bisa ada agen bersarang di mana yang tingkat yang lebih tinggi memilih tujuan untuk yang tingkat yang lebih rendah - misalnya robot mungkin memutuskan pada tingkat tinggi antara melakukan salah satu dari tiga tugas yang memerlukan pindah ke lokasi yang berbeda, dan pada tingkat yang lebih rendah mungkin keputusan tentang bagaimana mengendalikan motor untuk menggerakkan robot ke tujuan yang dipilihnya.
Mobil self-driving. Meskipun banyak fokus pada interpretasi sensor - melihat marka jalan, pejalan kaki dll, sistem kontrol diperlukan untuk memilih akselerator, rem dan kemudi.
Perdagangan keuangan otomatis. Mungkin permainan bagi sebagian orang, ada konsekuensi dunia nyata yang jelas. Sinyal hadiahnya cukup sederhana, dan RL dapat disesuaikan untuk memilih keuntungan jangka panjang atau pendek.
Secara teori ya, tapi saya tidak tahu apa yang mungkin tersedia untuk melakukan ini dalam praktek. Anda juga perlu satu atau lebih tujuan dalam pikiran bahwa Anda kode ke agen (sebagai nilai hadiah yang dapat diamati) sebelum memberikannya mouse virtual dan menetapkan tugas untuk menggambar sesuatu. Game komputer hadir dengan skema penghargaan sebagai sistem penilaian mereka, dan sering memberikan umpan balik, sehingga agen dapat memperoleh pengetahuan tentang keputusan yang baik vs yang buruk dengan cepat. Anda perlu mengganti komponen penilaian ini dengan sesuatu yang mewakili tujuan Anda untuk sistem berbasis CAD.
CAD tidak memiliki built-in yang sesuai, meskipun alat CAD dengan simulasi, seperti berbagai mesin fisika atau analisis elemen hingga, dapat memungkinkan Anda untuk mencetak skor desain berdasarkan ukuran fisik yang disimulasikan. Kemungkinan lain termasuk analisis regangan, penggunaan bahan yang tidak sia-sia, metrik apa pun yang dapat disediakan sistem CAD / CAM untuk desain parsial atau selesai. Bagian yang sulit adalah membatasi desain untuk tujuan atau tujuannya dan baik mengatur agar itu dihargai, atau membangun kendala ke lingkungan; memberikan agen RL kontrol penuh tanpa kendala dari proses CAD dan memberi hadiah pada strain terendah kemungkinan akan menghasilkan sesuatu yang sangat tidak menarik seperti kubus kecil.
sumber
Pasti ada cara untuk memperkenalkan apa yang disebut oleh banyak orang sebagai pembelajaran yang diperkuat ke dalam aplikasi web, seluler, dan workstation yang nyata.
Organisasi militer melakukannya, industri film yang melakukannya, perusahaan yang berpusat pada perangkat lunak melakukannya, dan saya telah melakukannya untuk bisnis-bisnis Fortune 500 dan bisnis kecil. Ada komponen pembelajaran adaptif dalam semua jenis komponen sistem yang tertanam dalam sistem yang lebih besar, mulai dari robot pengenalan wajah FaceBook hingga Google Translate hingga USPS sistem pengakuan kode pos hingga penerbangan mandiri dan sistem kontrol lalu lintas. Computer aided design software (CAD) tentu saja merupakan target yang layak.
Dasar Penguatan
Pertimbangkan serangkaian vektor yang menggambarkan peristiwa. Bayangkan mereka dibagi menjadi dua sub-seri A dan B. Jaring saraf (buatan atau biologis) dapat dilatih menggunakan A.
Pelatihan dapat diawasi, artinya salah satu dimensi vektor dianggap label dan karenanya variabel dependen untuk diprediksi secara optimal. Dimensi lain kemudian menjadi fakta atau sinyal input dan oleh karena itu variabel independen untuk digunakan untuk prediksi. Pelatihan bisa tanpa pengawasan menggunakan ekstraksi fitur.
Either way, ketika diberikan dengan A sebelum B dan diharapkan untuk melakukan produksi (penggunaan nyata) sebelum B tiba, kedatangan B selanjutnya menghadirkan pilihan.
Pilihan # 3 adalah pilihan terbaik dalam banyak kasus karena mengandung manfaat pilihan # 1 dan # 2. Secara matematis, # 3 dilakukan dengan memfasilitasi preempting dari apa yang dipelajari dari seri A dengan cara tertentu. Berat neural net dan penyesuaian meta-parameter harus dibuat rentan terhadap koreksi karena pengalaman baru menunjukkan perlunya melakukannya. Satu pendekatan naif dapat dirumuskan secara matematis fungsi eksponensial terbalik, yang memodelkan pembusukan alami dalam banyak fenomena dalam fisika, kimia, dan ilmu sosial.
Dalam kasus sub-seri A dan B, ketika formula di atas diterapkan dalam beberapa cara dalam mekanisme pembelajaran, pelatihan A akan menempatkan lebih sedikit bias pada hasil akhir setelah pelatihan lanjutan menggunakan B karena t untuk A kurang daripada t untuk B, mengatakan pada mekanisme bahwa B lebih mungkin relevan.
Jika kita membagi A dan B secara rekursif menjadi dua bagian, menciptakan lebih banyak dan lebih banyak sub-seri granular, gagasan di atas untuk membiarkan informasi sebelumnya secara bertahap membusuk tetap valid dan berharga. Bias jaringan terhadap informasi pertama yang digunakan untuk pelatihan setara dengan konsep psikologis pikiran picik. Sistem pembelajaran yang telah berevolusi menjadi otak mamalia tampaknya melupakan atau kehilangan minat pada hal-hal di masa lalu untuk mendorong pikiran terbuka, yang tidak lebih dari membiarkan pembelajaran baru kadang-kadang mendahului pembelajaran sebelumnya jika informasi baru mengandung pola yang lebih kuat untuk belajar.
Ada DUA alasan untuk mengizinkan data contoh yang lebih baru untuk secara progresif melebihi data contoh yang lebih lama.
Kebutuhan ini untuk membiarkan pentingnya informasi sebelumnya membusuk secara bertahap karena pembelajaran berlanjut adalah salah satu dari dua aspek utama penguatan. Aspek kedua adalah serangkaian konsep korektif dibangun di atas gagasan pensinyalan umpan balik.
Umpan balik dan penguatan
Sinyal umpan balik dalam pembelajaran yang diperkuat adalah pembelajaran mesin yang setara dengan konsep psikologis yang sudah dikenal seperti rasa sakit, kesenangan, kepuasan, dan kesehatan. Sistem pembelajaran diberikan informasi untuk memandu pelatihan di luar tujuan ekstraksi fitur, kemandirian pengelompokan, atau menemukan matriks bobot bersih neural yang mendekati hubungan antara fitur acara input dan labelnya.
Informasi yang diberikan dapat berasal secara internal dari pengenalan pola yang diprogram sebelumnya atau secara eksternal dari hadiah dan hukuman, seperti halnya dengan mamalia. Teknik dan algoritma yang dikembangkan dalam pembelajaran mesin bertulang menggunakan sinyal tambahan ini secara berkala (menggunakan slicing waktu dalam pemrosesan) atau terus menerus menggunakan independensi unit pemrosesan arsitektur pemrosesan paralel.
Karya ini dipelopori di MIT oleh Norbert Wiener dan dituangkan dalam bukunya Cybernetics (MIT Press 1948). Kata Sibernetika berasal dari kata yang lebih tua yang berarti kemudi Kapal . Pergerakan kemudi secara otomatis untuk tetap berada di jalur mungkin merupakan sistem umpan balik mekanis pertama. Mesin pemotong rumput Anda mungkin memiliki satu.
Aplikasi dan Pembelajaran Adaptif
Adaptasi sederhana secara real time untuk posisi kemudi atau throttle mesin pemotong rumput tidak belajar. Adaptasi semacam itu biasanya berupa kontrol PID linier. Teknologi pembelajaran mesin yang dikembangkan saat ini mencakup penilaian dan kontrol sistem nonlinier kompleks yang oleh para ahli matematika disebut kacau.
Dengan kacau, mereka tidak berarti bahwa proses yang dijelaskan dalam hiruk-pikuk atau tidak terorganisir. Chaoticians menemukan beberapa dekade yang lalu bahwa persamaan non-linear sederhana dapat menyebabkan perilaku yang sangat terorganisir. Apa yang mereka maksudkan adalah bahwa fenomena tersebut terlalu sensitif terhadap sedikit perubahan untuk menemukan beberapa algoritma atau formula tetap untuk memprediksikannya.
Bahasa seperti itu. Pernyataan yang sama mengatakan dengan selusin infleksi vokal yang berbeda dapat berarti selusin hal yang berbeda. Kalimat bahasa Inggris, "Sungguh," adalah contoh. Sangat mungkin bahwa teknik penguatan akan memungkinkan mesin masa depan untuk membedakan dengan probabilitas keberhasilan yang tinggi antara berbagai makna pernyataan itu.
Mengapa Game Pertama?
Game memiliki serangkaian skenario yang sangat sederhana dan mudah ditentukan. Salah satu kontributor utama kemunculan komputer, John von Neumann, berpendapat dalam Teori Permainan dan Perilaku Ekonomi , sebuah buku yang ia tulis bersama Oskar Morgenstern, bahwa semua perencanaan dan pengambilan keputusan sebenarnya adalah permainan dari berbagai kompleksitas.
Pertimbangkan permainan contoh pelatihan kumpulan otak yang akan, pada saatnya, menciptakan sistem yang dapat menentukan makna pernyataan seperti yang dapat dididik orang dari tiga sumber petunjuk.
Beyond Chess dan The Game of Go
Sepanjang jalan dari permainan ke sistem bahasa dengan pemahaman yang akurat dan kemampuan mendengarkan yang lebih dalam ada beberapa aplikasi pembelajaran yang diperkuat yang jauh lebih penting bagi bumi dan pengalaman manusia.
Keempat dan banyak lainnya jauh lebih penting daripada akumulasi kekayaan melalui perdagangan kecepatan tinggi otomatis atau memenangkan kompetisi permainan, dua minat pembelajaran mesin yang berpusat pada diri sendiri yang hanya berdampak pada satu atau dua generasi keluarga satu orang.
Kekayaan dan ketenaran adalah apa yang dalam teori permainan disebut permainan zero sum . Mereka menghasilkan kerugian sebanyak ada kemenangan jika Anda mempertimbangkan filosofi Peraturan Emas yang lebih tinggi bahwa orang lain dan keluarga mereka sama pentingnya bagi kami.
Reinforced Learning untuk Perangkat Lunak CAD (Computer Aided Design)
Desain berbantuan komputer adalah cikal bakal desain komputer (tanpa bantuan manusia), seperti halnya anti-lock yang secara alami mengarah pada kendaraan yang sepenuhnya otonom.
Pertimbangkan perintah, "Buatkan saya sabun cuci piring untuk mandi saya yang memaksimalkan kemungkinan keluarga saya bisa mengambil sabun pada percobaan pertama tanpa membuka mata mereka dan meminimalkan kesulitan dalam menjaga sabun dan permukaan shower bersih. Berikut adalah ketinggian dari anggota keluarga saya dan beberapa gambar ruang mandi. " Kemudian printer 3D akan mengeluarkan perangkat, siap untuk dipasang, bersama dengan instruksi instalasi.
Tentu saja, sistem CD seperti itu (CAD tanpa A) perlu dilatih tentang tata graha, perilaku manusia tanpa visi, cara melampirkan item ke ubin, alat dan kemampuan perawatan rumah dari konsumen rata-rata, kemampuan printer 3D , dan beberapa hal lainnya.
Perkembangan semacam itu dalam otomasi pembuatan mungkin akan dimulai dengan pembelajaran yang diperkuat dari perintah yang lebih sederhana seperti, "Pasang kedua bagian ini menggunakan pengencang yang diproduksi massal dan praktik terbaik." Program CAD kemudian akan memilih perangkat keras dari antara sekrup, paku keling, perekat, dan opsi lainnya, mungkin mengajukan pertanyaan kepada perancang tentang suhu operasi dan rentang getaran. Pilihan, posisi, dan sudut kemudian akan ditambahkan ke set yang sesuai dari bagian CAD dan gambar perakitan dan tagihan bahan.
sumber