HomeKomputerRobot Yang Menulis Kode Sendiri – Google AI Blog

Robot Yang Menulis Kode Sendiri – Google AI Blog

Facebook
Twitter
Pinterest
WhatsApp

[ad_1]



Pendekatan umum yang digunakan untuk mengontrol robot adalah memprogramnya dengan kode untuk mendeteksi objek, mengurutkan perintah untuk menggerakkan aktuator, dan loop umpan balik untuk menentukan bagaimana robot harus melakukan tugas. Sementara program ini bisa ekspresifkebijakan pemrograman ulang untuk setiap tugas baru dapat memakan waktu, dan membutuhkan keahlian domain.

Telapakmampu kompleks pemikiran dan juga telah dilatih dalam jutaan baris kode. Mengingat instruksi bahasa alami, model bahasa saat ini adalah sangat mahir dalam menulis tidak hanya kode umum tetapi, seperti yang telah kami temukan, kode yang juga dapat mengontrol tindakan robot. Ketika diberikan beberapa contoh instruksi (diformat sebagai komentar) dipasangkan dengan kode yang sesuai (melalui pembelajaran dalam konteks), model bahasa dapat menerima instruksi baru dan secara mandiri menghasilkan kode baru yang menyusun ulang panggilan API, mensintesis fungsi baru, dan mengekspresikan loop umpan balik untuk merakit perilaku baru saat runtime. Secara lebih luas, ini menyarankan pendekatan alternatif untuk menggunakan pembelajaran mesin untuk robot yang (i) mengejar generalisasi melalui modularitas dan (ii) memanfaatkan kelimpahan kode sumber terbuka dan data yang tersedia di Internet.

Kode yang diberikan untuk tugas contoh (kiri), model bahasa dapat menyusun ulang panggilan API untuk merakit perilaku robot baru untuk tugas baru (Baik) yang menggunakan fungsi yang sama tetapi dengan cara yang berbeda.

Untuk mengeksplorasi kemungkinan ini, kami mengembangkan Kode sebagai Kebijakan (CaP), formulasi robot-sentris dari program yang dihasilkan model bahasa yang dijalankan pada sistem fisik. CaP memperluas kami pekerjaan sebelumnya, PaLM-SayCan, dengan mengaktifkan model bahasa untuk menyelesaikan tugas robotik yang lebih kompleks dengan ekspresi penuh kode Python tujuan umum. Dengan CaP, kami mengusulkan penggunaan model bahasa untuk menulis kode robot secara langsung melalui prompt beberapa tembakan. Eksperimen kami menunjukkan bahwa mengeluarkan kode menyebabkan peningkatan generalisasi dan kinerja tugas daripada mempelajari tugas robot secara langsung dan mengeluarkan tindakan bahasa alami. CaP memungkinkan satu sistem untuk melakukan berbagai tugas robotik yang kompleks dan beragam tanpa pelatihan khusus tugas.

See also  Lokalisasi Objek Umum dengan Kueri Bahasa Alami – Blog Google AI

Cara Berbeda untuk Berpikir tentang Generalisasi Robot

Untuk menghasilkan kode untuk tugas baru yang diberikan instruksi bahasa alami, CaP menggunakan model bahasa penulisan kode yang, ketika diminta dengan petunjuk (yaitu, mengimpor pernyataan yang menginformasikan API mana yang tersedia) dan contoh (pasangan instruksi-ke-kode yang menyajikan beberapa -shot “demonstrasi” tentang bagaimana instruksi harus diubah menjadi kode), menulis kode baru untuk instruksi baru. Inti dari pendekatan ini adalah pembuatan kode hierarkis, yang mendorong model bahasa untuk mendefinisikan fungsi baru secara rekursif, mengakumulasi pustaka mereka sendiri dari waktu ke waktu, dan mengarsitektur sendiri basis kode dinamis. Pembuatan kode hierarkis meningkatkan kecanggihan robotika serta tolok ukur gen kode standar dalam subbidang pemrosesan bahasa alami (NLP), dengan 39,8% [email protected] di HumanEvaltolok ukur masalah pengkodean tulisan tangan yang digunakan untuk mengukur kebenaran fungsional dari program yang disintesis.

Model bahasa penulisan kode dapat mengekspresikan berbagai operasi aritmatika dan loop umpan balik yang didasarkan pada bahasa. Program model bahasa Python dapat menggunakan struktur logika klasik, misalnya, urutan, pemilihan (jika/lain), dan loop (untuk/sementara), untuk merakit perilaku baru saat runtime. Mereka juga dapat menggunakan perpustakaan pihak ketiga untuk menginterpolasi poin (JumlahPy), menganalisis dan menghasilkan bentuk (Rupawan) untuk penalaran spasial-geometris, dll. Model ini tidak hanya menggeneralisasi ke instruksi baru, tetapi mereka juga dapat menerjemahkan nilai yang tepat (misalnya, kecepatan) ke deskripsi yang ambigu (“lebih cepat” dan “ke kiri”) tergantung pada konteks untuk memperoleh akal sehat perilaku.

Kode sebagai Kebijakan menggunakan model bahasa penulisan kode untuk memetakan instruksi bahasa alami ke kode robot untuk menyelesaikan tugas. Kode yang dihasilkan dapat memanggil API tindakan persepsi yang ada, pustaka pihak ketiga, atau menulis fungsi baru saat runtime.

CaP menggeneralisasi pada lapisan tertentu dalam robot: menginterpretasikan instruksi bahasa alami, memproses output persepsi (misalnya, dari detektor objek yang tersedia), dan kemudian parameterisasi kontrol primitif. Ini cocok dengan sistem dengan persepsi dan kontrol terfaktor, dan memberikan tingkat generalisasi (diperoleh dari model bahasa pra-terlatih) tanpa besarnya pengumpulan data yang diperlukan untuk pembelajaran robot ujung ke ujung. CaP juga mewarisi kemampuan model bahasa yang tidak terkait dengan penulisan kode, seperti mendukung instruksi dengan bahasa non-Inggris dan emoji.

See also  Buka Gambar V7 — Sekarang Menampilkan Label Titik – Google AI Blog

CaP mewarisi kemampuan model bahasa, seperti dukungan multibahasa dan emoji.

Dengan mencirikan jenis generalisasi ditemui dalam masalah pembuatan kode, kita juga dapat mempelajari bagaimana pembuatan kode hierarki meningkatkan generalisasi. Sebagai contoh, “sistematisitas” mengevaluasi kemampuan untuk menggabungkan kembali bagian-bagian yang diketahui untuk membentuk urutan baru, “pengganti” mengevaluasi ketangguhan potongan kode sinonim, sementara “produktivitas” mengevaluasi kemampuan untuk menulis kode kebijakan lebih lama daripada yang terlihat dalam contoh (misalnya, untuk tugas jangka panjang baru yang mungkin memerlukan pendefinisian dan nesting fungsi baru). kertas menghadirkan sumber terbuka baru tolok ukur untuk mengevaluasi model bahasa pada serangkaian masalah pembuatan kode terkait robotika. Dengan menggunakan tolok ukur ini, kami menemukan bahwa, secara umum, model yang lebih besar bekerja lebih baik di sebagian besar metrik, dan pembuatan kode hierarki paling meningkatkan generalisasi “produktivitas”.

Performa pada RoboCodeGen Benchmark kami di berbagai jenis generalisasi yang berbeda. Model yang lebih besar (da Vinci) berperforma lebih baik daripada model yang lebih kecil (Cushman), dengan pembuatan kode hierarkis yang paling meningkatkan produktivitas.

Kami juga senang dengan potensi model penulisan kode untuk mengekspresikan rencana lintas wujud untuk robot dengan morfologi berbeda yang melakukan tugas yang sama secara berbeda tergantung pada API yang tersedia (ruang tindakan persepsi), yang merupakan aspek penting dari setiap yayasan robotika model.

Pembuatan kode model bahasa menunjukkan kemampuan lintas-perwujudan, menyelesaikan tugas yang sama dengan cara yang berbeda bergantung pada API yang tersedia (yang menentukan ruang tindakan persepsi).

Keterbatasan

Kode sebagai kebijakan saat ini dibatasi oleh ruang lingkup (i) apa yang dapat dijelaskan oleh API persepsi (misalnya, beberapa model bahasa visual hingga saat ini dapat menjelaskan apakah lintasan “bergelombang” atau “lebih berbentuk C”), dan (ii ) yang mengontrol primitif tersedia. Hanya segelintir parameter primitif bernama yang dapat disesuaikan tanpa memenuhi permintaan secara berlebihan. Pendekatan kami juga menganggap semua instruksi yang diberikan layak, dan kami tidak dapat memastikan apakah kode yang dihasilkan akan berguna pertama. CaP juga berjuang untuk menginterpretasikan instruksi yang secara signifikan lebih kompleks atau beroperasi pada tingkat abstraksi yang berbeda dari beberapa contoh tembakan yang disediakan untuk permintaan model bahasa. Jadi, misalnya, dalam domain tabletop, akan sulit bagi contoh khusus kami untuk CaP untuk “membangun rumah dengan balok” karena tidak ada contoh membangun struktur 3D yang rumit. Keterbatasan ini menunjukkan jalan untuk pekerjaan di masa depan, termasuk memperluas model bahasa visual untuk menggambarkan perilaku robot tingkat rendah (misalnya, lintasan) atau menggabungkan CaP dengan algoritme eksplorasi yang dapat secara mandiri ditambahkan ke rangkaian primitif kontrol.

See also  Membuat Lubang Cacing yang Dapat Dilintasi dengan Komputer Kuantum – Google AI Blog

Rilis Sumber Terbuka

Kami telah merilis kode yang diperlukan untuk mereproduksi eksperimen kami dan demo robot simulasi interaktif di situs web proyekyang juga berisi demo dunia nyata tambahan dengan video dan kode yang dihasilkan.

Kesimpulan

Kode sebagai kebijakan adalah langkah menuju robot yang dapat mengubah perilaku mereka dan memperluas kemampuannya. Ini dapat diaktifkan, tetapi fleksibilitasnya juga menimbulkan potensi risiko karena program yang disintesis (kecuali jika diperiksa secara manual per runtime) dapat mengakibatkan perilaku yang tidak diinginkan dengan perangkat keras fisik. Kami dapat memitigasi risiko ini dengan pemeriksaan keamanan bawaan yang mengikat primitif kontrol yang dapat diakses sistem, tetapi lebih banyak pekerjaan diperlukan untuk memastikan kombinasi baru dari primitif yang diketahui sama-sama aman. Kami menyambut diskusi luas tentang cara meminimalkan risiko ini sambil memaksimalkan potensi dampak positif terhadap robot yang lebih umum.

Terima kasih

Penelitian ini dilakukan oleh Jacky Liang, Wenlong Huang, Fei Xia, Peng Xu, Karol Hausman, Brian Ichter, Pete Florence, Andy Zeng. Terima kasih khusus kepada Vikas Sindhwani, Vincent Vanhoucke untuk umpan balik yang membantu dalam penulisan, Chad Boodoo untuk operasi dan dukungan perangkat keras. Awal pracetak tersedia di arXiv.

[ad_2]

Facebook
Twitter
Pinterest
WhatsApp
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments