Jadual Kandungan[Sembunyi][Tunjukkan]
Model Pembelajaran Mesin ada di mana-mana sekarang. Pada siang hari, anda mungkin menggunakan model ini lebih banyak daripada yang anda sedari. Model pembelajaran mesin digunakan dalam tugas biasa seperti menyemak imbas media sosial, mengambil gambar dan menyemak cuaca.
Algoritma pembelajaran mesin mungkin telah mengesyorkan blog ini kepada anda. Kita semua pernah mendengar tentang betapa memakan masa untuk melatih model ini. Kita semua pernah mendengar bahawa melatih model ini memakan masa.
Walau bagaimanapun, membuat inferens pada model ini selalunya memerlukan kos pengiraan.
Kami memerlukan sistem komputer yang cukup pantas untuk mengendalikan kadar kami menggunakan perkhidmatan pembelajaran mesin. Akibatnya, majoriti model ini dijalankan pada pusat data besar-besaran dengan kluster CPU dan GPU (malah TPU dalam beberapa kes).
Apabila anda mengambil gambar, anda mahu pembelajaran mesin untuk memperbaikinya serta-merta. Anda tidak mahu menunggu sehingga imej dipindahkan ke pusat data, diproses dan dikembalikan kepada anda. Dalam kes ini, model pembelajaran mesin harus dilaksanakan secara tempatan.
Apabila anda menyebut "Hey Siri" atau "OK, Google", anda mahu alat anda bertindak balas dengan segera. Menunggu suara anda dihantar ke komputer, di mana ia akan dinilai dan data diperoleh.
Ini mengambil masa dan memberi kesan buruk kepada pengalaman pengguna. Dalam kes ini, anda mahu model pembelajaran mesin berfungsi secara tempatan juga. Di sinilah TinyML masuk.
Dalam siaran ini, kami akan melihat TinyML, cara ia berfungsi, kegunaannya, cara memulakannya dan banyak lagi.
Apakah TinyML?
TinyML ialah disiplin termaju yang menggunakan potensi revolusioner pembelajaran mesin pada prestasi dan had kuasa peranti kecil dan sistem terbenam.
Penggunaan yang berjaya dalam industri ini memerlukan pemahaman yang menyeluruh tentang aplikasi, algoritma, perkakasan dan perisian. Ia ialah subgenre pembelajaran mesin yang menggunakan model pembelajaran mendalam dan pembelajaran mesin dalam sistem terbenam yang menggunakan mikropengawal, pemproses isyarat digital atau pemproses khusus kuasa ultra rendah yang lain.
Peranti terbenam yang didayakan TinyML bertujuan untuk menjalankan algoritma pembelajaran mesin untuk kerja tertentu, biasanya sebagai sebahagian daripada peranti pengkalan sampingan.
Untuk berjalan selama berminggu-minggu, bulan atau bahkan bertahun-tahun tanpa pengecasan semula atau penggantian bateri, sistem terbenam ini mesti mempunyai penggunaan kuasa kurang daripada 1 mW.
Bagaimana ia berfungsi?
Satu-satunya rangka kerja pembelajaran mesin yang boleh digunakan dengan mikropengawal dan komputer ialah TensorFlow Lite. Ia merupakan satu set alat yang membolehkan pembangun menjalankan model mereka pada peranti mudah alih, terbenam dan tepi, yang membolehkan pembelajaran mesin dengan cepat.
Antara muka mikropengawal digunakan untuk mengumpul data daripada penderia (seperti mikrofon, kamera atau penderia terbenam).
Sebelum dihantar ke mikropengawal, data dimasukkan ke dalam model pembelajaran mesin berasaskan awan. Latihan kelompok dalam mod luar talian biasanya digunakan untuk melatih model ini. Data sensor yang akan digunakan untuk pembelajaran dan inferens telah ditentukan untuk aplikasi khusus.
Jika model sedang dilatih untuk mengesan perkataan bangun, contohnya, model itu sudah disediakan untuk mengendalikan aliran audio berterusan daripada mikrofon.
Segala-galanya telah dilakukan dengan bantuan platform awan seperti Google Colab dalam kes TensorFlow Lite, termasuk pemilihan set data, penormalan, kurangkan atau overfitting model, regularisasi, penambahan data, latihan, pengesahan dan ujian.
Model terlatih sepenuhnya akhirnya diubah dan dipindahkan ke mikropengawal, mikrokomputer atau pemproses isyarat digital selepas latihan kelompok luar talian. Model ini tidak mempunyai latihan tambahan selepas dialihkan ke peranti terbenam. Sebaliknya, ia hanya menggunakan data masa nyata daripada penderia atau peranti input untuk menggunakan model.
Akibatnya, model pembelajaran mesin TinyML mestilah sangat tahan lasak dan mampu dilatih semula selepas bertahun-tahun atau tidak pernah dilatih semula. Semua model terkurang dan terlalu pasang mesti disiasat supaya model kekal relevan untuk jangka masa yang panjang, idealnya selama-lamanya.
Tetapi Mengapa menggunakan TinyML?
TinyML bermula sebagai usaha untuk menghapuskan atau mengurangkan pergantungan IoT pada perkhidmatan awan untuk skala kecil asas pembelajaran mesin operasi. Ini memerlukan penggunaan model pembelajaran mesin pada peranti tepi itu sendiri. Ia menyediakan faedah utama berikut:
- Kuasa rendah penggunaan: Aplikasi TinyML sebaiknya menggunakan kurang daripada 1 milliWatt kuasa. Dengan penggunaan kuasa rendah sedemikian, peranti boleh terus membuat kesimpulan daripada data penderia selama berbulan-bulan atau bertahun-tahun, walaupun dikuasakan oleh bateri syiling.
- kos yang lebih rendah: Ia direka untuk dijalankan pada mikropengawal 32-bit kos rendah atau DSP. Pengawal mikro ini biasanya beberapa sen setiap satu, dan jumlah sistem terbenam yang dibangunkan dengannya adalah kurang daripada $50. Ini adalah pilihan yang sangat menjimatkan kos untuk menjalankan program pembelajaran mesin yang kecil pada skala besar, dan ia amat bermanfaat dalam aplikasi IoT di mana pembelajaran mesin mesti digunakan.
- Latensi Rendah: Aplikasinya mempunyai kependaman yang rendah kerana ia tidak perlu mengangkut atau bertukar data melalui rangkaian. Semua data sensor direkodkan secara tempatan, dan kesimpulan dibuat menggunakan model yang telah dilatih. Hasil inferens mungkin dihantar ke pelayan atau awan untuk pengelogan atau pemprosesan tambahan, walaupun ini tidak penting untuk peranti berfungsi. Ini meminimumkan kependaman rangkaian dan menghapuskan keperluan untuk operasi pembelajaran mesin dilakukan pada awan atau pelayan.
- Privasi: Ia adalah kebimbangan utama di internet dan dengan internet perkara. Kerja pembelajaran mesin dalam apl TinyML dilakukan secara setempat, tanpa menyimpan atau menghantar data penderia/pengguna ke pelayan/awan. Akibatnya, walaupun semasa dipautkan ke rangkaian, aplikasi ini selamat digunakan dan tidak menimbulkan risiko privasi.
Aplikasi
- Pertanian – Bila petani mengambil gambar tumbuhan, aplikasi TensorFlow Lite mengesan penyakit di dalamnya. Ia berfungsi pada mana-mana peranti dan tidak memerlukan sambungan internet. Prosedur ini melindungi kepentingan pertanian dan merupakan keperluan kritikal bagi petani luar bandar.
- Penyelenggaraan Mekanik – TinyML, apabila digunakan pada peranti berkuasa rendah, boleh terus mengenal pasti kecacatan dalam mesin. Ia memerlukan penyelenggaraan berasaskan ramalan. Ping Services, syarikat permulaan Australia, telah memperkenalkan alat IoT yang memantau turbin angin dengan melekatkan dirinya pada bahagian luar turbin. Ia memberitahu pihak berkuasa apabila ia mengesan sebarang kemungkinan masalah atau kerosakan.
- Hospital – The Solar Scare ialah projek. Nyamuk menggunakan TinyML untuk menghentikan penyebaran penyakit seperti denggi dan malaria. Ia dikuasakan oleh tenaga suria dan mengesan keadaan pembiakan nyamuk sebelum memberi isyarat kepada air untuk menghalang pembiakan nyamuk.
- Pengawasan Trafik – Oleh menggunakan TinyML pada penderia yang mengumpul data trafik masa nyata, kami boleh menggunakannya untuk mengarahkan trafik dengan lebih baik dan mengurangkan masa tindak balas untuk kenderaan kecemasan. Swim.AI, sebagai contoh, menggunakan teknologi ini pada penstriman data untuk meningkatkan keselamatan penumpang sambil juga mengurangkan kesesakan dan pelepasan melalui penghalaan pintar.
- Undang-undang: TinyML boleh digunakan dalam penguatkuasaan undang-undang untuk mengenal pasti tindakan yang menyalahi undang-undang seperti rusuhan dan kecurian menggunakan pembelajaran mesin dan pengecaman gerak isyarat. Program serupa juga boleh digunakan untuk mendapatkan ATM bank. Dengan melihat gelagat pengguna, model TinyML mungkin meramalkan sama ada pengguna adalah pengguna sebenar yang menyelesaikan transaksi atau penceroboh yang cuba menggodam atau memusnahkan ATM.
Bagaimana untuk bermula dengan TinyML?
Untuk bermula dengan TinyML dalam TensorFlow Lite, anda memerlukan papan mikropengawal yang serasi. TensorFlow Lite for Microcontrollers menyokong mikropengawal yang disenaraikan di bawah.
- Terminal Wio: ATSAMD51
- Papan Pembangunan AI Titik Akhir Himax WE-I Plus EVB
- STM32F746 Kit penemuan
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM Software Development Platform
- Sony Spressense
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite untuk Kit Pengawal Mikro
- Bluefruit Taman Permainan Litar Adafruit
- Espressif ESP32-DevKitC
- Espressif ESP-MATA
Ini ialah mikropengawal 32-bit yang mempunyai memori denyar, RAM dan kekerapan jam yang mencukupi untuk melaksanakan model pembelajaran mesin. Papan juga mempunyai beberapa penderia onboard yang mampu menjalankan sebarang program terbenam dan menggunakan model pembelajaran mesin pada aplikasi yang disasarkan. Kepada membina model pembelajaran mesin, anda memerlukan komputer riba atau komputer sebagai tambahan kepada platform perkakasan.
Setiap platform perkakasan mempunyai alat pengaturcaraan sendiri untuk membina, melatih dan mengalihkan model pembelajaran mesin, yang menggunakan pakej TensorFlow Lite for Microcontrollers. TensorFlow Lite adalah percuma untuk digunakan dan diubah suai kerana ia adalah percuma sumber terbuka.
Untuk bermula dengan TinyML dan TensorFlow Lite, anda hanya perlukan salah satu daripada platform perkakasan terbenam yang disebutkan di atas, komputer/komputer riba, kabel USB, penukar USB-ke-Siri – dan keinginan untuk mengamalkan pembelajaran mesin dengan sistem terbenam. .
Cabaran
Walaupun kemajuan TinyML telah menghasilkan banyak hasil positif, industri pembelajaran mesin masih menghadapi halangan yang besar.
- Kepelbagaian perisian – Pengekodan tangan, penjanaan kod dan jurubahasa ML adalah semua pilihan untuk menggunakan model pada peranti TinyML, dan setiap satu mengambil masa dan usaha yang berbeza. Persembahan yang berbeza boleh timbul akibat daripada ini.
- Kepelbagaian perkakasan – Ada terdapat beberapa pilihan perkakasan. Platform TinyML boleh menjadi apa sahaja daripada mikropengawal tujuan umum kepada pemproses saraf yang canggih. Ini menyebabkan masalah dengan penggunaan model merentas seni bina yang berbeza.
- Menyelesaikan masalah/menyahpepijat – Bila model ML berprestasi buruk pada awan, mudah untuk melihat data dan mengetahui apa yang berlaku. Apabila model tersebar di beribu-ribu peranti TinyML, tanpa aliran data kembali ke awan, penyahpepijatan menjadi sukar dan mungkin memerlukan kaedah yang berbeza.
- Kekangan ingatan – Tradisional platform, seperti telefon pintar dan komputer riba, memerlukan gigabait RAM, manakala peranti TinyML menggunakan kilobait atau megabait. Akibatnya, saiz model yang mungkin digunakan adalah terhad.
- Latihan model – Walaupun terdapat beberapa kelebihan untuk menggunakan model ML pada peranti TinyML, sebahagian besar model ML masih dilatih pada awan untuk mengulang dan meningkatkan ketepatan model secara berterusan.
Masa depan
TinyML, dengan jejaknya yang kecil, penggunaan bateri yang rendah dan kekurangan atau pergantungan terhad pada sambungan internet, mempunyai potensi yang besar pada masa hadapan, kerana majoriti sempit kecerdasan buatan akan dilaksanakan pada peranti tepi atau alat terbenam bebas.
Ia akan menjadikan aplikasi IoT lebih peribadi dan selamat dengan memanfaatkannya. Padahal TensorFlow Lite kini merupakan satu-satunya rangka kerja pembelajaran mesin untuk mikropengawal dan mikrokomputer, rangka kerja setanding lain seperti penderia dan CMSIS-NN ARM sedang dalam usaha.
Walaupun TensorFlow Lite ialah projek sumber terbuka yang sedang dijalankan yang bermula dengan hebat dengan Pasukan Google, ia masih memerlukan sokongan komuniti untuk masuk ke arus perdana.
Kesimpulan
TinyML ialah pendekatan baru yang menggabungkan sistem terbenam dengan pembelajaran mesin. Apabila AI sempit memuncak dalam banyak menegak dan domain, teknologi ini boleh muncul sebagai subbidang yang menonjol dalam pembelajaran mesin dan kecerdasan buatan.
Ia menyediakan penyelesaian kepada pelbagai cabaran yang kini dihadapi oleh sektor IoT dan profesional yang menggunakan pembelajaran mesin kepada banyak disiplin khusus domain.
Konsep menggunakan pembelajaran mesin di peranti tepi dengan pengkomputeran kecil penggunaan jejak dan kuasa berpotensi mengubah cara sistem terbenam dan robotik dengan ketara dibina.
Sila tinggalkan balasan anda