Setelah menambahkan faktor acak ke simulasi yang relatif sederhana, robot dari OpenAI belajar cara melakukan operasi genggam yang kompleks

Operasi genggam - ini adalah salah satu tindakan yang berada di bagian atas daftar "keterampilan yang tidak memerlukan upaya dari orang-orang, dan sangat sulit untuk robot." Tanpa ragu-ragu, kami dapat secara adaptif mengontrol jari-jari tangan, melawannya dengan ibu jari dan telapak tangan, dengan mempertimbangkan gesekan dan gravitasi, memanipulasi objek dengan satu tangan, tidak menggunakan yang lain - Anda mungkin melakukan trik ini berkali-kali hari ini, setidaknya dengan telepon Anda.
Diperlukan pelatihan bertahun-tahun bagi orang untuk belajar bagaimana bekerja dengan andal dengan jari mereka, tetapi robot tidak punya banyak waktu untuk belajar. Tugas rumit seperti itu masih diselesaikan melalui pelatihan praktis dan mendapatkan pengalaman, dan tugasnya adalah menemukan cara untuk melatih robot lebih cepat dan lebih efisien daripada hanya memberikan sesuatu kepada lengan robot yang dapat dimanipulasi berulang-ulang sampai menyadari bahwa itu bekerja dan apa yang tidak; itu bisa memakan waktu seratus tahun.
Alih-alih menunggu seratus tahun,
para peneliti
OpenAI menggunakan pelatihan penguatan untuk melatih
jaringan neutron konvolusional untuk mengendalikan tangan lima jari robot Shadow untuk memanipulasi objek - dan hanya dalam 50 jam. Mereka berhasil melakukan ini melalui simulasi, teknik yang terkenal sebagai "ditakdirkan untuk sukses" - namun, mereka dengan hati-hati memasukkan faktor acak ke dalamnya untuk membawanya lebih dekat dengan keragaman dunia nyata. Tangan Bayangan asli mampu berhasil melakukan manipulasi genggam dengan benda nyata tanpa pelatihan ulang.
Idealnya, semua robot harus dilatih dalam simulasi, karena simulasi dapat ditingkatkan tanpa membuat banyak robot nyata. Ingin melatih robot dofigillion dofigillion jam dalam satu fraksi dofigillion detik? Ini bisa dilakukan - jika Anda mendapatkan daya komputasi yang cukup. Tetapi cobalah untuk menghidupkannya di dunia nyata - dan masalah tidak ada yang tahu persis berapa, "dofigillion", akan menjadi masalah Anda yang paling kecil.
Masalah dengan robot pelatihan dalam simulasi adalah bahwa dunia nyata tidak dapat disimulasikan secara akurat - dan bahkan lebih sulit untuk secara akurat mensimulasikan masalah kecil seperti gesekan, keuletan dan interaksi beberapa objek. Oleh karena itu, secara umum diterima bahwa simulasi itu luar biasa, tetapi ada kesenjangan besar dan mengerikan antara keberhasilan simulasi dan keberhasilan di dunia nyata, yang dalam beberapa hal mengurangi nilai simulasi. Fakta bahwa tepatnya hal-hal yang akan menyenangkan untuk disimulasikan (misalnya, manipulasi genggam) pada saat yang sama ternyata menjadi yang paling sulit untuk simulasi yang akurat tidak memperbaiki situasi, karena seberapa canggih mereka secara fisik.
Pendekatan umum untuk masalah ini adalah mencoba membuat simulasi seakurat mungkin, dan berharap itu ternyata cukup dekat dengan dunia nyata sehingga Anda dapat mengekstrak beberapa perilaku yang berguna darinya. Sebaliknya, OpenAI tidak menempatkan akurasi di tempat pertama, tetapi variabilitas, memasok simulasi yang cukup realistis dengan banyak tweak kecil sehingga perilaku yang dihasilkan cukup dapat diandalkan untuk bekerja di luar simulasi.
Proses pengacakan adalah kunci untuk apa yang membuat sistem (disebut Dactyl) mampu bergerak secara efektif dari simulasi ke dunia nyata. OpenAI sadar betul bahwa simulasi yang mereka gunakan tidak cukup kompleks untuk mensimulasikan gunung dari hal-hal yang paling penting, mulai dari gesekan hingga keausan di ujung jari lengan robot asli. Agar robot dapat menggeneralisasi apa yang dipelajarinya, OpenAI memperkenalkan variabel acak ke dalam semua aspek simulasi yang mungkin untuk mencoba mencakup semua variabilitas dunia yang tidak dapat dimodelkan dengan baik. Ini termasuk massa, semua pengukuran objek, gesekan permukaannya dan jari-jari robot, redaman jari-jari robot, kekuatan motor, keterbatasan sendi, bermain dan kebisingan motor, dan sebagainya. Pengaruh acak kecil diterapkan pada objek sehingga simulasi mengatasi dinamika yang tidak dapat dimodelkan. Dan ini hanya proses manipulasi itu sendiri - dalam karya kamera RGB yang mengevaluasi posisi suatu objek, ada juga banyak variabel acak, yang, bagaimanapun, sedikit lebih mudah untuk divisualisasikan.
Baris menunjukkan gambar dari kamera yang sama. Kolom sesuai dengan gambar dengan perubahan acak - semuanya secara bersamaan diumpankan oleh jaringan saraf.OpenAI menyebut ini "pengacakan lingkungan," dan dalam kasus manipulasi genggam, mereka "ingin melihat apakah meningkatkan skala pengacakan lingkungan dapat memecahkan masalah yang tidak tersedia untuk teknik robotika saat ini." Jadi, apa yang terjadi sebagai hasil dari dua sistem yang dilatih secara independen (satu visual, yang kedua untuk manipulasi) yang secara visual mengenali posisi kubus dan memutarnya ke posisi yang berbeda.
Semua rotasi kubus ini (dan sistem ini mampu melakukan setidaknya 50 manipulasi yang berhasil secara berturut-turut) dimungkinkan berkat 6144 prosesor dan 8 GPU yang memperoleh 100 tahun pengalaman robot simulasi hanya dalam 50 jam. Satu-satunya umpan balik yang tersedia untuk sistem (baik dalam simulasi maupun dalam kenyataan) adalah lokasi kubus dan jari, sementara sistem dimulai tanpa pemahaman yang pasti tentang cara memegang atau memutar kubus. Dia harus berurusan dengan semua ini secara independen - termasuk rotasi jari-jarinya, koordinasi simultan dari beberapa jari, penggunaan gravitasi, koordinasi penerapan kekuatan. Robot itu menemukan teknik yang sama yang digunakan orang, dengan modifikasi kecil (dan menarik):
Untuk menangkap objek dengan jelas, robot biasanya menggunakan jari kelingking alih-alih jari telunjuk atau jari tengah. Ini mungkin karena kehadiran Shadow Dexterous Hand dengan tingkat kebebasan tambahan dibandingkan dengan jari telunjuk, tengah dan cincin, yang membuatnya lebih mobile. Pada manusia, jari telunjuk dan jari tengah biasanya lebih mobile. Ini berarti bahwa sistem kami dapat secara independen menemukan teknik merebut tersedia untuk orang, tetapi lebih baik untuk menyesuaikannya dengan keterbatasan dan kemungkinan mereka sendiri.
Berbagai jenis genggaman yang dipelajari sistem. Dari kiri ke kanan dan dari atas ke bawah: pegangan dengan ujung jari Anda, pegangan telapak tangan, pegangan tiga jari, empat, pegangan lima jari, dan pegangan yang kuat.Kami mengamati paralel lain yang menarik dalam karya jari-jari orang dan robot kami. Menurut strategi ini, tangan memegang benda dengan dua jari dan berputar di sekitar sumbu ini. Ternyata pada anak kecil, motilitas seperti itu masih belum punya waktu untuk berkembang, sehingga mereka biasanya memutar benda menggunakan
jari tengah atau proksimal
jari . Dan hanya kemudian dalam kehidupan mereka beralih ke falang distal, seperti kebanyakan orang dewasa. Menariknya, robot kami biasanya mengandalkan falang distal bila perlu untuk memutar objek.
Keuntungan dari teknologi adalah bahwa, ternyata, robot masih dapat dilatih dalam tindakan fisik yang kompleks dalam simulasi, dan kemudian segera menggunakan keterampilan yang terakumulasi dalam kenyataan - dan ini benar-benar pencapaian yang hebat, karena pelatihan dalam simulasi jauh lebih cepat daripada dalam kenyataan .
Kami menghubungi Jonas Schneider, anggota tim teknis OpenAI, untuk menanyakan lebih lanjut tentang proyek ini.
Editorial : Mengapa manipulasi genggam dalam robotika merupakan tugas yang sulit?
Jonas Schneider : Manipulasi terjadi dalam ruang yang sangat terbatas, dan sejumlah besar derajat kebebasan tersedia untuk robot. Strategi manipulasi yang berhasil membutuhkan koordinasi yang tepat dalam semua derajat kebebasan ini, dan ini mengurangi ukuran kesalahan yang diijinkan dibandingkan dengan interaksi konvensional dengan objek, seperti, misalnya, penangkapan sederhana. Selama manipulasi genggam, banyak kontak dengan objek direkam. Memodelkan kontak ini adalah tugas yang sulit, rawan kesalahan. Kesalahan selama eksekusi harus dikontrol selama pekerjaan tangan, yang menyebabkan masalah dalam pendekatan tradisional berdasarkan gerakan perencanaan sebelumnya. Misalnya, masalah dapat muncul ketika Anda memiliki umpan balik
linier yang tidak mencatat dinamika non-linear dari apa yang terjadi.
Tampaknya, variabel acak adalah kunci untuk memastikan bahwa keterampilan yang diperoleh dalam simulasi dapat diterapkan secara andal dalam kenyataan. Bagaimana Anda memutuskan parameter mana yang akan diacak, dan bagaimana tepatnya?Selama kalibrasi, kami memperkirakan parameter mana yang dapat bervariasi, dan kemudian memutuskan mana yang paling penting untuk direproduksi dalam simulasi. Lalu kami menetapkan nilai parameter ini sama dengan yang kalibrasi, dan menambahkan variasi acak di wilayah nilai rata-rata. Amplitudo variasi tergantung pada kepercayaan diri kita - misalnya, ukuran objek yang tidak terlalu bervariasi, karena kita dapat mengukurnya dengan akurat.
Beberapa variasi acak didasarkan pada pengamatan empiris. Sebagai contoh, kami mengamati bagaimana robot kami terkadang menjatuhkan sebuah benda, menurunkan kuas, dan tidak punya waktu untuk mengangkatnya sampai benda itu terguling. Kami menemukan bahwa karena masalah dengan pengontrol tingkat rendah, eksekusi tindakan kami terkadang dapat ditunda beberapa ratus milidetik. Dan kita tentu saja dapat menggunakan energi kita untuk membuat pengontrol lebih dapat diandalkan, tetapi sebaliknya kita hanya menambahkan pengacakan ke waktu respons setiap pengontrol. Tampaknya bagi kita bahwa pada tingkat yang lebih tinggi, ini bisa menjadi pendekatan yang menarik untuk pengembangan robot di masa depan; untuk beberapa tugas, pengembangan peralatan yang sangat akurat dapat menjadi sangat mahal, dan kami telah menunjukkan bagaimana kelemahan peralatan ini dapat diperbaiki dengan menggunakan algoritma yang lebih maju.
Menurut Anda bagaimana hasil Anda akan meningkat jika Anda tidak menunggu 100 tahun waktu simulasi, tetapi, misalnya, 1000?Untuk contoh tugas tertentu, ini sulit untuk dievaluasi, karena kami belum pernah menguji lebih dari 50 putaran. Belum jelas persis bagaimana kurva karakteristik asimptotik terlihat, tetapi kami menganggap proyek kami selesai, karena bahkan satu belokan yang berhasil jauh melampaui kemampuan metode pengajaran terbaik yang ada saat ini. Faktanya, kami memilih angka 50 putaran, karena kami memutuskan bahwa 25 putaran pasti akan menunjukkan bahwa masalahnya telah terpecahkan, dan kemudian menambahkan 25 lagi, dengan margin 100%. Jika tugas Anda adalah mengoptimalkan urutan tindakan yang sangat lama dan keandalan yang tinggi, maka peningkatan pelatihan mungkin akan membantu. Tetapi pada titik tertentu, seperti yang kita pikirkan, robot akan mulai lebih beradaptasi dengan simulasi, dan bekerja lebih buruk di dunia nyata, dan kemudian Anda harus menambahkan lebih banyak pengacakan untuk menyulitkan simulasi, yang, pada gilirannya, akan meningkatkan keandalan sistem akhir.
Seberapa baik hasil Anda dapat digeneralisasi? Misalnya, berapa banyak usaha yang harus Anda keluarkan untuk latihan berulang untuk memutar kubus yang lebih kecil, atau kubus yang lunak, atau licin? Bagaimana dengan pengaturan kamera yang berbeda?Ngomong-ngomong, demi kepentingan, kami
mencoba memanipulasi kubus lunak dan kubus yang lebih kecil, dan ternyata kualitas pekerjaannya tidak jauh berkurang dibandingkan dengan rotasi kubus padat. Dalam simulasi, kami juga bereksperimen dengan kubus dengan ukuran berbeda, dan ini juga bekerja dengan baik (meskipun kami tidak mencoba ini dengan robot sungguhan). Dalam simulasi, kami juga menggunakan variasi acak dalam ukuran kubus. Kami tidak mencoba melakukan hal itu, tetapi saya berpikir bahwa jika kita hanya menambah variasi acak ukuran kubus dalam simulasi, tangan akan dapat memanipulasi kubus dengan ukuran yang berbeda.
Mengenai kamera, model visual dilatih secara terpisah, dan sejauh ini kami hanya membuat sedikit variasi acak dalam posisi kamera, sehingga dengan setiap perubahan posisi kamera, kami memulai pelatihan lagi. Salah satu pekerja magang kami, Xiao-Yu Fish Tan, hanya bekerja untuk membuat model visual benar-benar independen dari lokasi kamera, menggunakan teknik dasar yang sama yaitu secara acak memvariasikan posisi dan orientasi kamera pada batas yang besar.
Bagaimana pelatihan dalam simulasi berbeda dari pendekatan brute force , yang menggunakan banyak robot sungguhan?Menariknya, proyek kami dimulai dengan fakta bahwa kami mempertanyakan gagasan menggunakan simulasi untuk mempromosikan robotika. Selama bertahun-tahun sekarang, kami telah
menyaksikan bagaimana robotika mencapai hasil yang mengesankan dalam simulasi menggunakan pembelajaran yang diperkuat. Namun, dalam percakapan dengan para peneliti yang terlibat dalam robotika klasik, kami terus-menerus dihadapkan pada kurangnya kepercayaan bahwa metode seperti itu akan berhasil di dunia nyata. Masalah utama adalah bahwa simulator tidak sepenuhnya akurat dari sudut pandang fisik (bahkan jika mereka terlihat bagus untuk mata manusia). Menambah masalah dan fakta bahwa simulasi yang lebih akurat membutuhkan daya komputasi yang lebih besar. Oleh karena itu, kami memutuskan untuk menetapkan standar baru yang mengharuskan bekerja dengan platform yang sangat kompleks dalam hal peralatan, di mana kami harus menghadapi semua keterbatasan simulasi.
Adapun pendekatan "pertanian karpal", batasan utama dalam pelatihan robot fisik adalah skalabilitas kecil dari keterampilan yang diperoleh untuk tugas yang lebih kompleks. Ini dapat dilakukan dengan mengatur semuanya sehingga Anda memiliki banyak objek di lingkungan yang bisa menstabilkan diri sendiri yang tidak memiliki status berbeda (misalnya, sekeranjang bola). Tetapi akan sangat sulit untuk dilakukan dengan cara yang sama untuk tugas merakit sesuatu, ketika setelah masing-masing menjalankan sistem Anda berada dalam keadaan baru. Sekali lagi, alih-alih mengatur seluruh sistem sekali, Anda harus mengaturnya N kali, dan tetap beroperasi setelah, katakanlah, robot menyapu sekitar dan memecahkan sesuatu. Semua ini jauh lebih sederhana dan lebih mudah dilakukan dalam simulasi dengan kekuatan komputasi elastis.
Sebagai hasilnya, pekerjaan kami mendukung gagasan pelatihan dalam simulasi, karena kami telah menunjukkan cara menyelesaikan masalah transfer bahkan dalam kasus robot yang sangat kompleks. Namun, ini tidak meniadakan gagasan untuk melatih robot sungguhan; akan sangat sulit untuk menghindari keterbatasan simulasi ketika bekerja dengan benda dan cairan yang cacat.
Di mana sistem Anda tempat tertipis?Saat ini, ini adalah variasi acak, dikembangkan secara manual dan dipertajam untuk tugas tertentu. Di masa mendatang, dimungkinkan untuk mencoba mempelajari variasi-variasi ini dengan menambahkan lapisan optimisasi lain, yang merupakan proses yang kami lakukan hari ini secara manual (βcoba beberapa pengacakan dan lihat apakah mereka membantuβ). Anda juga dapat melangkah lebih jauh, dan menggunakan permainan antara agen pembelajaran dan lawannya, mencoba untuk menghalangi (tetapi tidak banyak) kemajuannya. Dinamika ini dapat menyebabkan munculnya seperangkat aturan yang sangat andal untuk pekerjaan robot, karena semakin baik agen, semakin licik lawan untuk mengganggunya, yang selanjutnya meningkatkan kerja agen, dan sebagainya. Gagasan ini sudah
dipelajari oleh peneliti lain.
Anda mengatakan bahwa tujuan utama Anda adalah membuat robot untuk dunia nyata. Apa lagi yang perlu dilakukan sebelum ini menjadi mungkin?Kami berusaha memperluas kemampuan robot untuk bekerja di lingkungan tanpa batasan ketat. Dalam lingkungan seperti itu tidak mungkin untuk meramalkan segalanya sebelumnya dan untuk menyiapkan model untuk setiap objek. Mungkin juga tidak nyaman untuk menaruh tanda pada benda di luar laboratorium. Ternyata robot kita harus belajar bagaimana bertindak dalam banyak situasi, bagaimana membuat pilihan yang masuk akal dalam situasi yang belum pernah mereka temui sebelumnya.
Apa yang akan Anda kerjakan selanjutnya?Kami akan terus membuat robot dengan perilaku yang semakin canggih. Masih terlalu dini untuk mengatakan yang mana. Dalam jangka panjang, kami berharap memberi robot kemampuan umum untuk memanipulasi objek, sehingga mereka dapat belajar berinteraksi dengan lingkungan seperti bayi - bermain dengan benda-benda terdekat, tidak harus di bawah pengawasan orang dewasa.
Kami berpikir bahwa kecerdasan terkait dengan interaksi dengan dunia nyata, dan untuk memenuhi tugas kami menciptakan kecerdasan buatan tujuan umum yang aman, kita harus dapat belajar dari kedua data sensorik dari dunia nyata dan berdasarkan simulasi.