Rumah > Artikel > Peranti teknologi > Pembelajaran mesin kecil menjanjikan untuk membenamkan pembelajaran mendalam ke dalam mikropemproses
Penterjemah |. Zhu Xianzhong
Pengulas |. memori dan kluster GPU. Janji pembelajaran mendalam telah melahirkan industri yang menyediakan perkhidmatan pengkomputeran awan untuk rangkaian neural dalam. Akibatnya, rangkaian saraf besar yang berjalan pada sumber awan yang hampir tidak terhad telah menjadi sangat popular, terutamanya untuk syarikat teknologi yang mempunyai belanjawan yang mencukupi.
Tetapi pada masa yang sama, satu lagi trend bertentangan telah muncul dalam beberapa tahun kebelakangan ini, iaitu penciptaan model pembelajaran mesin untuk peranti edge. Dikenali sebagai Pembelajaran Mesin Kecil (TinyML), model ini sesuai untuk peranti dengan daya ingatan dan pemprosesan yang terhad, dan sambungan Internet yang tidak wujud atau terhad.
Usaha penyelidikan terbaharu yang dijalankan bersama oleh IBM dan Massachusetts Institute of Technology (MIT) menyelesaikan masalah kesesakan memori puncak rangkaian neural konvolusi (CNN). Ini adalah seni bina pembelajaran mendalam yang amat penting untuk aplikasi penglihatan komputer. Model yang dipanggil McUnETV2 yang mampu menjalankan rangkaian neural convolutional (CNN) pada memori rendah dan mikropengawal berkuasa rendah diperincikan dalam kertas kerja yang dibentangkan pada persidangan NeurIPS 2021.
1. Mengapakah Tiny Machine Learning (TinyML) muncul
Walaupun cloud deep learning sangat berjaya, ia tidak sesuai untuk semua situasi. Malah, banyak aplikasi sering memerlukan tugas inferens untuk dilengkapkan terus pada peranti perkakasan. Contohnya, dalam beberapa persekitaran misi seperti penyelamat dron, sambungan Internet tidak dijamin. Di kawasan lain, seperti penjagaan kesihatan, keperluan privasi dan kekangan peraturan juga menyukarkan untuk menghantar data ke awan untuk diproses. Untuk aplikasi yang memerlukan inferens bahasa mesin masa nyata, kependaman yang disebabkan oleh pengkomputeran awan pergi balik adalah lebih terlarang.
Semua syarat di atas mesti dipenuhi untuk menjadikan peranti pembelajaran mesin menarik secara saintifik dan komersial. Contohnya, telefon iPhone kini mempunyai banyak aplikasi yang menjalankan pengecaman muka dan pengecaman pertuturan, dan telefon Android juga boleh menjalankan perisian terjemahan secara terus. Di samping itu, Apple Watch sudah boleh menggunakan algoritma pembelajaran mesin untuk mengesan pergerakan dan corak ECG (Nota: ECG ialah singkatan elektrokardiogram, juga dikenali sebagai EKG. Ia adalah percubaan ujian yang digunakan untuk merekodkan nod masa bagi urutan isyarat elektrik yang mencetuskan degupan jantung dan intensiti Dengan menganalisis imej ECG, doktor boleh mendiagnosis dengan lebih baik sama ada degupan jantung adalah normal dan sama ada terdapat masalah dengan fungsi jantung).
Model ML yang disebutkan di atas pada peranti ini didayakan sebahagiannya oleh kemajuan teknologi yang membolehkan rangkaian saraf menjadi padat dan lebih pengiraan serta cekap storan. Pada masa yang sama, disebabkan kemajuan dalam teknologi perkakasan, pelaksanaan model ML sedemikian dalam tetapan mudah alih juga telah menjadi mungkin. Telefon pintar dan boleh pakai kami kini mempunyai lebih kuasa pengkomputeran daripada pelayan berprestasi tinggi 30 tahun yang lalu, malah sesetengahnya mempunyai pemproses bersama khusus untuk inferens bahasa mesin.
TinyML memanfaatkan AI selangkah lebih jauh, membolehkan model pembelajaran mendalam dijalankan pada mikropengawal (MCU), walaupun mikropengawal lebih menuntut daripada komputer kecil yang kami bawa di dalam poket dan pada pergelangan tangan kami sumber.
Sebaliknya, mikropengawal adalah murah, dijual kurang daripada $0.50 secara purata, dan ia boleh didapati di mana-mana sahaja dan boleh dibenamkan ke dalam segala-galanya daripada industri pengguna kepada peralatan perindustrian. Pada masa yang sama, mereka tidak mempunyai sumber yang terdapat dalam peranti pengkomputeran tujuan umum, dan kebanyakannya tidak mempunyai sistem pengendalian. CPU mikropengawal adalah kecil, dengan hanya beberapa ratus kilobait memori berkuasa rendah (SRAM) dan beberapa megabait storan, dan tidak mempunyai sebarang peralatan rangkaian. Kebanyakan mereka tidak mempunyai bekalan kuasa utama dan selama bertahun-tahun terpaksa menggunakan bateri butang. Oleh itu, memasang model pembelajaran mendalam pada MCU boleh membuka jalan baharu untuk banyak aplikasi.
2. Kesesakan memori dalam rangkaian saraf konvolusi
Seni bina rangkaian saraf konvolusi (CNN)
Untuk mengintegrasikan saraf dalam rangkaian Terdapat banyak usaha untuk mengecilkan rangkaian kepada saiz yang sesuai untuk peranti pengkomputeran memori kecil. Walau bagaimanapun, kebanyakan usaha ini memberi tumpuan kepada mengurangkan bilangan parameter dalam model pembelajaran mendalam. Sebagai contoh, "pemangkasan" ialah algoritma pengoptimuman popular yang mengecilkan rangkaian saraf dengan mengalih keluar parameter yang tidak penting daripada output model.
Masalah dengan kaedah pemangkasan ialah mereka tidak dapat menyelesaikan kesesakan memori rangkaian saraf. Pelaksanaan standard perpustakaan pembelajaran mendalam memerlukan keseluruhan lapisan rangkaian dan pemetaan lapisan pengaktifan untuk dimuatkan ke dalam memori. Malangnya, kaedah pengoptimuman klasik tidak membuat sebarang perubahan ketara pada lapisan pengiraan awal rangkaian saraf, terutamanya dalam rangkaian saraf konvolusi.
Ini menyebabkan ketidakseimbangan dalam saiz lapisan berbeza rangkaian dan membawa kepada masalah "pancang ingatan": walaupun rangkaian menjadi lebih ringan selepas pemangkasan, peranti yang menjalankannya mesti mempunyai memori yang sama dengan lapisan terbesar. Contohnya, dalam model TinyML MobileNetV2 yang popular, pengiraan lapisan awal mencapai puncak memori kira-kira 1.4 megabait, manakala lapisan kemudian mempunyai jejak memori yang sangat kecil. Untuk menjalankan model, peranti akan memerlukan jumlah memori yang sama seperti model memuncak. Memandangkan kebanyakan MCU mempunyai memori tidak lebih daripada beberapa ratus KB, mereka tidak boleh menjalankan versi MobileNetV2 di luar rak.
MobileNetV2 ialah rangkaian saraf yang dioptimumkan untuk peranti tepi, tetapi memorinya memuncak pada kira-kira 1.4 megabait, menjadikannya tidak boleh diakses oleh banyak pengawal mikro.
Satu lagi cara untuk mengoptimumkan rangkaian saraf ialah mengurangkan saiz input model. Imej input yang lebih kecil memerlukan CNN yang lebih kecil untuk melaksanakan tugas ramalan. Walau bagaimanapun, mengurangkan saiz input memberikan cabaran tersendiri dan tidak berkesan untuk semua tugas penglihatan komputer. Contohnya, model pembelajaran mendalam pengesanan objek sangat sensitif kepada saiz imej dan prestasinya merosot dengan cepat apabila resolusi input berkurangan.
Adalah mudah untuk melihat daripada rajah di atas bahawa klasifikasi imej model ML (garisan oren) lebih mudah untuk mengurangkan resolusi berbanding model pengesanan sasaran (garisan biru).
Untuk menyelesaikan masalah kesesakan memori rangkaian saraf konvolusi, penyelidik mencipta seni bina pembelajaran mendalam yang dipanggil MCUNetV2 yang boleh melaraskan lebar jalur memorinya kepada had mikropengawal. MCUNetV2 dibangunkan berdasarkan keputusan sebelumnya kumpulan penyelidikan saintifik yang sama, yang telah diterima dan berjaya diserahkan ke persidangan NeurIPS 2020.
Idea utama di sebalik MCUNetV2 ialah "inferens berasaskan tampalan", teknik yang mengurangkan jejak ingatan CNN tanpa mengurangkan ketepatannya. Daripada memuatkan keseluruhan lapisan rangkaian saraf ke dalam memori, MCUNetV2 memuatkan dan mengira kawasan yang lebih kecil atau "tampalan" lapisan pada bila-bila masa. Ia kemudian melelaran melalui blok lapisan demi blok dan menggabungkan nilai ini sehingga ia mengira bahagian pengaktifan keseluruhan lapisan.
Sebelah kiri rajah menunjukkan sistem pembelajaran mendalam klasik mengira keseluruhan lapisan, manakala sebelah kanan menunjukkan MCUNetV2 mengira satu tampalan pada satu masa, dengan itu mengurangkan memori untuk Keperluan inferens DL.
Oleh kerana MCUNetV2 hanya perlu menyimpan satu neuron pada satu masa, ia mengurangkan lonjakan memori dengan ketara tanpa mengurangkan resolusi atau parameter model. Eksperimen penyelidik menunjukkan bahawa MCUNetV2 boleh mengurangkan memori puncak kepada satu perlapan.
MCUNetV2 boleh mengurangkan puncak memori model pembelajaran mendalam kepada satu perlapan
Inferens berasaskan patch menjimatkan memori sambil turut membawa kuasa pengkomputeran Pertukaran kos isu. Penyelidik di Massachusetts Institute of Technology (MIT) dan IBM mendapati bahawa pengiraan rangkaian keseluruhan boleh meningkat sebanyak 10-17% dalam seni bina yang berbeza, yang jelas tidak terpakai kepada mikropengawal berkuasa rendah.
Untuk mengatasi had ini, penyelidik mengagihkan semula "medan penerimaan" blok berbeza rangkaian saraf (Nota: Dalam CNN, piksel dalam peta ciri lapisan ke-n sepadan dengan imej input lapisan pertama Bilangan piksel ialah medan penerimaan ("RF") lapisan. Dalam CNN, medan penerimaan ialah kawasan imej yang boleh diproses pada bila-bila masa. Medan penerimaan yang lebih besar memerlukan tampalan yang lebih besar dan bertindih antara tampalan. Sudah tentu, ini menghasilkan overhed pengiraan yang lebih tinggi. Dengan mengecilkan medan penerimaan dalam blok awal rangkaian dan meluaskan medan penerimaan pada peringkat kemudian, para penyelidik dapat mengurangkan overhed pengiraan sebanyak lebih daripada dua pertiga.
Pengagihan semula medan penerimaan membantu mengurangkan overhed pengiraan MCUNetV2 lebih daripada dua pertiga
Akhirnya, penyelidik memerhatikan bahawa pelarasan MCUNetV2 Banyak bergantung pada seni bina model ML, aplikasi dan memori serta kapasiti storan peranti sasaran. Untuk mengelakkan penalaan model pembelajaran mendalam secara manual untuk setiap peranti dan aplikasi, para penyelidik menggunakan "carian algoritma saraf", satu proses yang menggunakan pembelajaran mesin untuk mengoptimumkan struktur rangkaian saraf dan penjadualan inferens secara automatik.
Para penyelidik menguji seni bina pembelajaran mendalam dalam aplikasi berbeza pada beberapa model mikropengawal dengan kapasiti memori yang lebih kecil. Keputusan menunjukkan bahawa MCUNetV2 mengatasi teknologi TinyML yang lain dan mampu mencapai ketepatan yang lebih tinggi dalam pengelasan imej dan pengesanan objek dengan keperluan memori yang lebih kecil dan kependaman yang lebih rendah.
Seperti yang ditunjukkan dalam rajah di bawah, penyelidik menggunakan MCUNetV2 dengan pengesanan orang masa nyata, kata bangun visual dan pengesanan muka/topeng.
Nota Penterjemah: Apa yang ditunjukkan di sini hanyalah tangkapan skrin daripada video menggunakan MCUNetV2 yang ditunjukkan di tapak web youtube.com.
Dalam artikel 2018 bertajuk "Mengapa Masa Depan Pembelajaran Mesin Adalah Kecil", Jurutera Perisian Pete Warden percaya bahawa pembelajaran mesin pada MCU adalah sangat penting. Worden menulis: "Saya percaya pembelajaran mesin boleh berjalan pada cip kecil yang berkuasa rendah, dan gabungan ini akan menyelesaikan sejumlah besar masalah yang tidak dapat kami selesaikan pada masa ini
Terima kasih kepada kemajuan dalam penderia dan CPU, kami telah berpindah dari Akses kepada data di seluruh dunia dipertingkatkan dengan baik. Tetapi keupayaan kami untuk memproses dan menggunakan data ini melalui model pembelajaran mesin dihadkan oleh ketersambungan rangkaian dan akses pelayan awan. Seperti kata Worden, pemproses dan penderia lebih cekap tenaga daripada pemancar radio seperti Bluetooth dan WiFi.
Worden menulis: "Proses fizikal memindahkan data nampaknya memerlukan banyak tenaga. Nampaknya merupakan peraturan bahawa tenaga yang diperlukan untuk operasi adalah berkadar dengan jarak bit dihantar. CPU dan penderia hanya memerlukan beberapa milimeter untuk menghantar Menghantar beberapa bit data dengan murah, manakala penghantaran radio memerlukan beberapa meter atau lebih untuk menghantar beberapa bit data dan mahal...jelas bahawa terdapat pasaran yang berpotensi besar menunggu untuk dibuka dengan teknologi yang betul yang kami perlukan Peranti yang berfungsi pada mikropengawal murah, menggunakan tenaga yang sangat sedikit, bergantung pada pengkomputeran dan bukannya radio, dan boleh menukar semua data penderia yang terbuang menjadi data yang berguna mendalam. Pembelajaran akan mengisi jurang itu.”
Terima kasih kepada MCUNetV2 dan TinyML juga membuat kemajuan dalam bidang lain, ramalan Worden akan menjadi kenyataan tidak lama lagi. Pada tahun-tahun akan datang, kami boleh menjangkakan TinyML akan menemui berbilion-bilion mikropengawal di rumah, pejabat, hospital, kilang, ladang, jalan raya, jambatan dan banyak lagi, yang berpotensi mendayakan aplikasi yang tidak mungkin dilakukan sebelum ini.
Pautan asal: https://thenextweb.com/news/tinyml-deep-learning-microcontrollers-syndication
Zhu Xianzhong, editor komuniti 51CTO, 51CTO Blogger pakar, pensyarah, guru komputer di sebuah universiti di Weifang, dan seorang veteran dalam industri pengaturcaraan bebas. Pada hari-hari awal, beliau memberi tumpuan kepada pelbagai teknologi Microsoft (menghimpun tiga buku teknikal yang berkaitan dengan ASP.NET AJX dan Cocos 2d-X Dalam sepuluh tahun yang lalu, beliau telah menumpukan dirinya kepada dunia sumber terbuka (biasa dengan popular penuh-). susun teknologi pembangunan web) dan pelajari tentang OneNet/AliOS+Arduino /ESP32/Raspberry Pi dan teknologi pembangunan IoT lain serta Scala+Hadoop+Spark+Flink dan teknologi pembangunan data besar yang lain.
Atas ialah kandungan terperinci Pembelajaran mesin kecil menjanjikan untuk membenamkan pembelajaran mendalam ke dalam mikropemproses. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!