Bagaimana Amazon Go Mei Memberlakukan Belanja yang Baru

gambar

Saat ini, siaran pers dari perusahaan teknologi sedikit mengejutkan kami. Rincian inovasi mengalir beberapa bulan sebelumnya atau tidak terlalu mengesankan. Namun baru-baru ini, kami menemukan beberapa kejutan nyata. Beberapa bulan sebelum rilis Switch, Nintendo memutuskan bahwa masa depan konsol adalah masa lalu mereka dan mengumumkan NES Classic . Dan kemenangan Google's AlphaGo atas juara di antara orang-orang mengecilkan hati para ahli yang percaya bahwa hasil seperti itu dapat diperoleh tidak lebih awal dari sepuluh tahun kemudian.

Pengumuman toko ritel Amazon Go di bulan Desember, tempat Anda bisa mengambil produk dari rak dan keluar, dapat dibandingkan dengan kejutan dari berita AlphaGo. Metode "mengambil dan pergi" untuk beberapa waktu dikenal sebagai "masa depan penjualan ritel" dan "hanya beberapa tahun" dari zaman kita. Saya telah bekerja di departemen riset robotika di Caltech, Stanford dan Berkeley selama lebih dari sepuluh tahun, dan sekarang saya bertanggung jawab atas startup yang membuat kamera keamanan untuk penggunaan luar ruangan. Visi komputer adalah bagian besar dari pekerjaan saya. Tetapi hanya beberapa bulan sebelum pengumuman, saya dengan yakin mengatakan kepada seseorang bahwa akan diperlukan beberapa tahun lagi untuk menerapkan sistem "mengambil dan pergi". Dan saya bukan satu-satunya yang berpikir begitu - hanya dua bulan sebelum itu, Planet Money memiliki satu episode tentang hal ini.

Jadi ketika Amazon tiba-tiba mengejutkan kami semua dengan menciptakan hal seperti itu, pertanyaan pertama sudah jelas: bagaimana cara kerjanya? Dalam video promosi, mereka terburu-buru dengan kata-kata besar seperti visi komputer, pembelajaran mendalam dan sintesis sensor. Tapi apa arti semua ini dan bagaimana menggabungkan semua hal ini?

Saya akan mulai dengan pengungkapan intrik: pada kenyataannya, saya tidak tahu ini. Saya tidak berpartisipasi dalam pengembangan proyek, dan perusahaan tidak berbicara tentang cara kerjanya. Namun, mengingat pengalaman dan pekerjaan saya di bidang visi komputer, saya dapat membuat beberapa tebakan yang didukung oleh pengetahuan. Pada intinya, Amazon Go terlihat seperti pengembangan AI, visi komputer dan pengambilan keputusan otomatis, seperti AlphaGo, dan terobosan tiba-tiba di bidang robomobiles. Terobosan dalam statistik dan komputasi paralel selama lima tahun terakhir telah menciptakan tonggak baru di bidang kecerdasan mesin.

Itulah sebabnya perkembangan mutakhir terjadi dalam gelombang, dan karena itu, memungkinkan robomobile membawa Anda ke toko untuk membeli paket susu, Anda menghancurkan interaksi antara orang-orang jauh lebih awal daripada yang bisa dibayangkan oleh siapa pun.



Kereta belanja


Untuk lebih memahami cara kerja ekosistem Amazon Go, Anda perlu menjabarkan tugas. Dalam kasus toko grosir, Amazon harus menjawab satu pertanyaan: apa yang dibawa pengunjung ketika meninggalkan toko? Dengan kata lain, apa yang ada di keranjang belanjaannya?

Bahkan, hanya ada dua cara untuk menjawab pertanyaan itu. Amazon perlu melihat ke keranjang ketika pengguna pergi, atau melacak apa yang sebenarnya jatuh ke keranjang ini. Metode pertama yang kita sebut garis checkout, dan itulah cara sebagian besar toko modern bekerja (periksa semua yang pengguna bawa dengannya). Pendekatan lain yang saya sebut akun bar. Sebagai bartender memonitor semua pesanan pelanggan, sehingga bisnis dapat mengetahui apa yang ada di keranjang belanja, melacak apa yang sebenarnya masuk ke keranjang atau meninggalkannya. Idealnya, Anda akan tahu persis apa yang ada di sana, dan Anda tidak perlu memaksa pengguna untuk menunjukkan pembelian mereka.

Tentu saja, Amazon Go bukanlah toko kelontong biasa. Dia tidak hanya harus mencari tahu apa yang ada di setiap keranjang tertentu, tetapi juga memahami siapa yang akan menagih uang untuk itu. Untuk mengisi daya di dunia tanpa kasir, Anda perlu mengidentifikasi pengguna.

Bagaimana Amazon akan menangani ini? Bagaimana perusahaan akan melacak orang di toko dan apa yang mereka ambil dari rak atau kembali tanpa membuat kesalahan? Semuanya dimulai dengan kamera. Mereka tidak mencolok dan murah, dan mereka dapat diatur di mana-mana. Amazon membicarakan hal ini dengan menyebutkan visi komputer dalam video. Tetapi bagaimana memproses apa yang dilihat kamera dan menggunakannya untuk melacak pembeli dan tindakan mereka? Inilah istilah besar kedua, pembelajaran mendalam.

Neuron


Gagasan untuk menggunakan kamera dalam proses pengisian telah muncul sejak lama, tetapi hingga saat ini, itu tetap hanya sebuah gagasan.

Sampai sekarang, algoritma penglihatan telah bekerja melalui menemukan properti yang terlihat dari gambar dan mengumpulkannya menjadi objek. Dimungkinkan untuk mengekstrak garis, sudut dan wajah dari gambar. Empat garis dan empat sudut dalam kombinasi tertentu memberi Anda kotak (atau persegi panjang). Prinsip yang sama dapat digunakan untuk mengidentifikasi dan melacak objek yang lebih kompleks menggunakan properti dan set yang lebih kompleks. Kompleksitas algoritma penglihatan tergantung pada kompleksitas properti dan teknik yang digunakan untuk mengenali set properti tertentu dari objek.

Untuk waktu yang lama, kemajuan yang paling menarik dalam visi komputer dan pembelajaran mesin bergantung pada penemuan properti yang semakin kompleks oleh para peneliti. Alih-alih garis dan sudut datang gelombang dan gaussian blur, dan properti dengan nama esoteris seperti SIFT dan SURF. Untuk beberapa waktu, properti terbaik untuk menentukan seseorang dalam sebuah gambar disebut HOG. Tetapi dengan cepat menjadi jelas bahwa penciptaan properti yang cermat dengan tangan dengan cepat bersandar pada langit-langit kemampuan mereka.

Algoritma berdasarkan pengakuan sifat-sifat tertentu bekerja dengan sangat baik dalam mengenali apa yang telah mereka lihat. Perlihatkan algoritma gambar dari paket enam kaleng cola, dan itu akan menjadi ahli dunia dalam mengenali paket enam kaleng cola. Tetapi generalisasi untuk algoritma ini tidak diberikan; jauh lebih sulit bagi mereka untuk mengenali soda secara umum, atau dunia minuman yang lebih luas.

Lebih buruk lagi, sistem ini tidak dapat diandalkan, dan sangat sulit untuk memperbaikinya. Koreksi kesalahan memerlukan penyesuaian manual tekun dari logika kerja, dan hanya dokter sains yang bisa memahami bagaimana algoritma bekerja bisa melakukan ini. Dalam kasus toko, Anda mungkin tidak akan peduli jika algoritme tersebut mencampurkan sebotol cola dengan sebotol Pepsi, tetapi Anda akan khawatir jika algoritma menerima sebotol anggur senilai $ 20 untuk sebotol soda seharga $ 2.

Peluang pembelajaran mendalam hari ini sengaja dirancang untuk menyingkirkan pencarian manual dan penyempurnaan fitur gambar. Alih-alih mencoba mencari properti karakteristik secara manual, Anda menggunakan sejumlah besar data untuk melatih jaringan saraf. Dengan contoh-contoh apa yang harus dikenali, jaringan saraf menemukan fitur itu sendiri. Neuron tingkat rendah belajar mengenali hal-hal sederhana seperti garis, dan outputnya diteruskan ke neuron yang menggabungkan primitif ini menjadi hal-hal yang lebih kompleks, seperti bentuk, ke dalam arsitektur hierarkis.

Tidak perlu untuk menunjukkan fitur apa yang harus dikenali oleh neuron, selama pelatihan, mereka hanya muncul sendiri. Neuron menentukan pola mana yang lebih baik untuk mengembangkan sensitivitas. Jika Anda mencoba membuat sistem yang mengenali soda, Anda menunjukkannya puluhan ribu gambar soda, dan itu akan berubah dari garis dan kurva ke bentuk, lalu ke kotak dan botol.

Otak kita bekerja dengan cara yang kira-kira sama, dan karena itu, koreksi kesalahan terjadi sesuai dengan skema manusia. Pada contoh. Jika jaringan saraf Anda membingungkan anggur dan soda, Anda perlu memperbaikinya dengan menemukan beberapa ribu contoh lainnya, dan melatihnya. Dia sendiri akan mencari cara membedakan objek.

Perangkat lunak untuk mensimulasikan kerja neuron telah ada selama beberapa dekade, tetapi penggunaannya untuk visi komputer telah lama tetap dalam bidang teoritis. Untuk mensimulasikan penglihatan hewan, diperlukan puluhan hingga ratusan lapisan neuron, yang masing-masing berisi puluhan ribu neuron. Dan dengan setiap lapisan baru, jumlah ikatan antara lapisan tumbuh secara eksponensial. Untuk pengoperasian jaringan tersebut membutuhkan daya komputer yang sangat besar, dan untuk pelatihan - data dalam jumlah besar.

Untuk membuat jaringan saraf yang bekerja dalam jumlah waktu yang masuk akal, perlu menyempurnakan strukturnya untuk meminimalkan jumlah koneksi internal. Tapi terlalu banyak tenaga kuda diperlukan.



Kerjasama Komputasi


Terobosan berikutnya adalah penggunaan GPU sebagai superkomputer desktop. Simulasi jaringan saraf membutuhkan pengumpulan data input dan perhitungan data keluaran untuk banyak neuron - dan proses ini mudah diparalelkan. Jam-jam yang menggunakan CPU paling kuat mulai berjalan dalam hitungan menit di tangan rata-rata GPU.

Komputasi paralel pada GPU akhirnya memungkinkan peneliti untuk mengambil keuntungan dari penemuan lama - penataan jaringan saraf untuk mensimulasikan penglihatan. Ingatlah bahwa bahkan sebuah jaringan sederhana yang terdiri dari beberapa ratus ribu neuron dapat memiliki milyaran koneksi. Mereka semua perlu disimulasikan, kecuali ada beberapa jalan pintas untuk senyawa ini berfungsi.

Untungnya, Anda dapat sedikit curang untuk membuat jaringan penglihatan - kami memiliki contoh jaringan saraf yang dioptimalkan untuk penglihatan tepat di kepala kami. Neurobiologi telah menandai korteks visual mamalia selama beberapa dekade, yang berfungsi sebagai inspirasi. Jadi jaringan saraf convolutional (SNS) lahir. Selama beberapa tahun terakhir, ini telah menjadi salah satu alat paling populer dan kuat di bidang visi komputer.

Konvolusi adalah konsep matematika yang menakjubkan, penjelasan sederhana yang di luar kemampuan saya. Salah satu cara yang berwarna, tetapi dari sudut pandang teknis benar-benar salah, cara untuk membayangkannya adalah dengan mengambil satu fungsi matematika dan memindahkannya ke yang lain, mengamati hasilnya.

Di SNA, seperti di korteks visual, ada neuron yang sensitif terhadap sifat-sifat tertentu (katakanlah, hidung), dan mereka didistribusikan di seluruh bidang pandang. Output dari neuron-neuron ini terhubung seolah-olah kita mengambil satu-satunya neuron yang peka terhadap saraf dan membimbing mereka melintasi seluruh bidang pandang. Hasilnya adalah keluaran yang berisi informasi lokasi pada gambar hidung. Ini, tentu saja, tidak terbatas pada hidung - efeknya digunakan untuk membuat tanda spasial di mana fitur tertentu berada pada gambar. Hubungan spasial ini dimasukkan ke lapisan jaringan yang lebih tinggi, dan digabungkan di dalamnya untuk mengenali pola dan objek.

SNA telah menjadi wahyu di bidang visi komputer. Mereka sangat berguna untuk pengenalan objek umum: Anda melatih SNA untuk mengenali bukan mobil atau orang tertentu, tetapi mobil atau orang pada umumnya. Mereka bahkan membuat salah satu komik XKCD yang terkenal tidak relevan.

gambar

Dan karena sifat spasial dari struktur mereka, mereka cocok untuk paralelisasi pada GPU. Neuron yang berbeda yang mengamati bagian gambar yang berbeda dapat disimulasikan sepenuhnya secara independen. Tiba-tiba, menjadi mungkin untuk mengenali orang, tempat, dan benda dengan cepat dan tidak mahal dengan akurasi yang mengesankan.

Ledakan simultan dari popularitas ponsel dan jaringan berarti bahwa ratusan juta orang online dan mengunggah miliaran gambar ke layanan seperti Facebook dan Google, tanpa disadari menciptakan set besar untuk algoritma pelatihan.

Perkembangan mutakhir mutakhir bahkan melangkah lebih jauh. Para peneliti telah menciptakan jaringan saraf berulang (RNS) dengan memori bawaan. Alih-alih hanya meneruskan koneksi ke lapisan berikutnya, ia menggunakan koneksi internal untuk membuat memori read-only. Jika Anda terbiasa dengan logika digital, maka Anda dapat membayangkan pemicu sebagai analogi. Ini berarti bahwa Anda dapat melatih jaringan dengan lapisan visual tunggal yang "melihat" gambar dan mentransfer semua yang mereka lihat ke memori, sehingga jaringan dapat mengenali tindakan pada video.

Dan setelah perkembangan ini, Anda tiba-tiba memiliki algoritma yang dapat mengenali orang, objek, dan tindakan dengan akurasi sangat tinggi. Dengan kata lain, Anda dapat melatih algoritme untuk mengenali seseorang, mengetahui di mana produk dari toko berada pada gambar saat dipindahkan, dan mengenali kapan orang tersebut meletakkan atau mengeluarkannya dari rak. Anda hanya perlu GPU kecil. Dan betapa nyamannya bahwa salah satu koleksi GPU terbesar yang tersedia berdasarkan permintaan adalah milik Amazon - itu adalah layanan cloud AWS yang sangat kuat dan menguntungkan.

Sudahkah kita memecahkan rahasia Amazon Go dengan menggabungkan kamera murah dengan algoritma otak dan pasukan komputer? Tidak juga, karena satu masalah lagi perlu dipecahkan. Sudut pandang kamera terbatas - jadi bagaimana sebuah bisnis dapat menjangkau mereka di seluruh toko? Bagaimana jika pelanggan berdiri di antara kamera dan rak?

Untuk melakukan ini, pastikan bahwa area mana pun dilihat pada banyak kamera. Tapi ini menimbulkan pertanyaan lain - bagaimana menggabungkan data input dari beberapa kamera menjadi gambaran yang koheren tentang apa yang terjadi?

Sintesis makanan


Untuk ini, kami akan kembali pada 1960-an. Kemudian para insinyur NASA menghadapi masalah besar - mereka memiliki banyak alat navigasi yang berbeda, dari giroskop hingga pelacakan bintang, dan mereka perlu mengurangi semua pengukuran menjadi satu perkiraan terbaik dari lokasi pesawat ruang angkasa.

Amazon Go memiliki masalah serupa. Agar seluruh gagasan ini berfungsi, perlu untuk menggabungkan pengamatan dari beberapa kamera yang berbeda untuk periode waktu yang berbeda menjadi satu informasi yang koheren tentang keranjang belanja. Tangkapannya adalah bahwa dunia pada dasarnya adalah tempat yang tidak terbatas, jadi keputusannya adalah untuk menerima ketidakpastian ini. Alih-alih mencoba menentukan segala sesuatu dengan akurasi maksimum, model yang sukses menggunakan pendekatan probabilistik.

Di NASA, itu memiliki algoritma yang disebut Kalman Filter , yang mereka gunakan untuk memperhitungkan kesalahan masing-masing instrumen dan kombinasi pengukuran dalam perkiraan terbaik. Filter Kalman didasarkan pada rumus Bayes .

Intinya, rumus Bayes adalah hubungan matematis yang menghubungkan pengamatan suatu peristiwa dan probabilitas terjadinya, dan memberi Anda probabilitas bahwa peristiwa itu benar-benar terjadi. Hasilnya adalah sebagai berikut: keyakinan kami bahwa salah satu dari kemungkinan keadaan adalah benar (probabilitas posteriori) sama dengan kekuatan iman kita dalam keadaan ini sebelum pengamatan (probabilitas apriori), dikalikan dengan dukungan keadaan ini dengan data yang diperoleh dari sensor.

Kembali ke contoh anggur dan soda: misalnya, jaringan saraf melaporkan bahwa klien mengambil anggur. Formula Bayes memberi tahu kita bahwa probabilitas bahwa dia benar-benar meminumnya sama dengan probabilitas bahwa dia akan mengambil anggur, dikalikan dengan probabilitas bahwa kamera melaporkan fakta pengambilan anggur dengan benar.

Amazon memiliki dua keuntungan besar ketika menggunakan skema probabilistik berbasis Bayesian. Pertama, perusahaan dapat mempertimbangkan probabilitas apriori, karena ia mengetahui sejarah pembelian sebelumnya dari banyak pelanggan. Ini berarti bahwa jika pelanggan Amazon Go membeli kopi dan cupcake setiap hari Selasa, maka bahkan sebelum ia pergi ke rak yang sesuai, toko sudah dapat meningkatkan kemungkinan pembelian ini. Ini adalah cara alami untuk menggunakan sejumlah besar data pengguna yang sudah dimiliki perusahaan.

Keuntungan besar kedua adalah bahwa menerjemahkan segala sesuatu ke dalam bahasa probabilitas memungkinkan Anda untuk menambahkan beberapa pengukuran dari beberapa sensor selama beberapa periode waktu. Dengan asumsi independensi pengamatan, Anda dapat dengan mudah mengalikan probabilitas. Juga, probabilitas posterior dari satu peristiwa dapat digunakan sebagai apriori untuk peristiwa lainnya.



Misalnya, biarkan beberapa kamera melihat satu rak. Beberapa berdiri lebih dekat, beberapa lebih jauh. Beberapa kamera percaya bahwa klien mengambil soda murah dari rak, ada yang percaya bahwa ia mengambil produk mahal, satu tidak melihat apa-apa, dan yang terakhir percaya bahwa ia hanya mengambil hidungnya. Dan sekarang apa?

Amazon bisa menghasilkan logika yang kompleks untuk kasus ini, dari mana akan mengikuti kamera mana yang bisa dipercaya. Apakah lebih dekat dan lebih baik adalah pemandangan kamera, yang percaya bahwa klien telah mengambil soda mahal? Apakah pembeli terhalang oleh kamera yang melihat memetik di hidung? Tetapi Anda hanya perlu kredibilitas. Berdasarkan jumlah kesalahan dari masing-masing kamera, tergantung pada lokasi dan gambarannya, rumus Bayes memberi tahu kita cara menggabungkan semua data input untuk memahami apa kemungkinan bahwa pengguna mengambil soda murah, mahal, atau tidak mengambil apa-apa.

Faktanya, karena Anda pindah ke dunia probabilitas yang luar biasa, rumus Bayes memungkinkan Anda untuk menggabungkan input dengan berbagai jenis sensor.

Karena itu, Amazon telah mengirim permintaan patenmetode menggunakan sensor RFID untuk secara otomatis membayar pembelian. Sensor RFID pasif ditempatkan pada barang, dan kemudian dibaca oleh pemindai yang terletak di toko. Teknologi ini adalah kandidat yang sangat baik untuk membuat toko otomatis, karena murah dan tersebar luas saat ini. Dan karena memungkinkan pemindaian jarak jauh, dapat digunakan sebagai ganti kasir. Tempatkan pemindai di mana pelanggan pergi, dan Anda akan melihat apa yang ada di keranjang mereka, tanpa harus mendapatkan barang dan menyerahkannya ke kasir. Saat menonton video promosi, saya perhatikan bahwa semua barang sudah dikemas sebelumnya - makanan kaleng, paket keripik dan wadah plastik dengan makanan. Produk-produk ini tidak hanya memiliki lebih banyak keuntungan, mereka juga memungkinkan Anda untuk memberi tanda pada setiap item.

Tetapi menggunakan RFID saja memiliki kelemahan. Tidak mungkin membedakan satu pembeli dari yang lain. Anda tahu bahwa toko itu meninggalkan satu set soda, keripik, dan roti lapis, dan Anda mengerti bahwa ini pembelian, tetapi siapa yang membelinya? Selain itu, RFID dapat memberikan kesalahan. Jika dua pelanggan melewati pemindai, Anda dapat memindai pembelian keduanya, dan tidak tahu siapa yang memesan apa.

Estimasi probabilitas berdasarkan rumus Bayes membantu mengatasi masalah seperti itu. Amazon dapat memberikan probabilitas berdasarkan lokasi dan kemungkinan kombinasi belanja untuk ratusan pembeli. Situasinya mirip dengan interpretasi multi-dunia dari mekanika kuantum: setiap kali setelah beberapa tindakan pelanggan, toko menciptakan "dunia" baru dengan tindakan ini dan melacaknya (memperbarui kemungkinan dunia ini menurut Bayes).

Mari kita kembali ke kamera dan contoh soda: berdasarkan RFID, Amazon dapat menggunakan pemindaian untuk mengkonfirmasi atau menyangkal kamera, tanpa perlu mengembangkan logika khusus.

Dan ceri di atas kue. Seperti halnya pembelajaran mesin untuk jaringan saraf, skor probabilitas ditingkatkan dengan lebih banyak data. Seperti halnya statistik, semakin banyak pengukuran yang Anda lakukan, semakin baik Anda dapatkan. Setiap set data baru meningkatkan akurasi sistem dan persepsinya oleh pengguna.

Dan Amazon dengan bangga mempersembahkan ... makan malammu


Deskripsi tersebut mungkin tidak akurat, dan pasti kami tidak akan mengetahuinya sampai Amazon mengungkapkan kartunya, tetapi formula Bayes membantu melengkapi gambaran yang cukup realistis tentang bagaimana sistem bermodel baru ini dapat bekerja.

Memasuki toko, Anda menggesek ponsel cerdas Anda pada pemindai. Algoritma yang digerakkan oleh kamera dengan pengenalan gambar dan pelatihan mendalam melacak Anda saat berbelanja. Setiap kali Anda mengambil item atau mengembalikannya, kamera mengenali tindakan ini. Pengamatan dari beberapa kamera digabungkan menggunakan formula Bayesian, dan memberikan informasi tentang apa yang Anda ambil. Sistem memonitor semua kemungkinan kombinasi barang yang telah Anda ambil. Setiap kali Anda melewati pintu atau bingkai, Anda dipindai untuk tag RFID, yang memungkinkan sistem untuk mengurangi daftar kombinasi. Ketika Anda meninggalkan toko, sistem melihat daftar apa yang menurut Anda miliki, memilih dugaan yang paling mungkin, dan mengurangi jumlah yang diperlukan dari akun Anda.

Semua ini menjadi mungkin dengan pengembangan pembelajaran yang mendalam, komputasi awan dan penilaian probabilistik. Amazon Go tidak dapat dilakukan bahkan lima tahun yang lalu, tetapi hari ini semua komponen sudah tersedia. Dan kombinasi yang sama saat ini di jantung pengembangan robomobiles, AI, sistem terjemahan teks dan banyak lagi. Hari ini sangat menarik untuk bekerja di bidang pelatihan komputer. Dan meskipun saya sangat tertarik untuk mengetahui apa lagi yang menunggu kami, saya berharap untuk segera menikmati kunjungan ke toko, di mana Anda bisa mengambil barang dan pergi.

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


All Articles