Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Teknologi Internet of Things

Cara menerapkan AI of Things (AIoT) di MCU

Dalam artikel saya sebelumnya, saya menyoroti tren yang berkembang yang memungkinkan semakin banyak kecerdasan buatan (AI) di perangkat internet of (IoT) untuk menciptakan perangkat 'AIoT' yang cerdas, dan berbagai aplikasi mendapat manfaat dari perangkat cerdas ini. Ini belajar dari data dan membuat keputusan otonom tanpa campur tangan manusia, yang mengarah ke produk yang memiliki interaksi yang lebih logis dan mirip manusia dengan lingkungannya.

Kombinasi AI dan IoT telah membuka pasar baru untuk MCU (mikrokontroler). Ini telah memungkinkan peningkatan jumlah aplikasi baru dan kasus penggunaan yang dapat menggunakan MCU sederhana yang dipasangkan dengan akselerasi AI untuk memfasilitasi kontrol cerdas. MCU berkemampuan AI ini memberikan perpaduan unik dari kemampuan DSP untuk komputasi dan pembelajaran mesin (ML) untuk inferensi dan sekarang digunakan dalam berbagai aplikasi seperti pendeteksian kata kunci, penggabungan sensor, analisis getaran, dan pengenalan suara. MCU berperforma lebih tinggi memungkinkan aplikasi yang lebih kompleks dalam penglihatan dan pencitraan seperti pengenalan wajah, analisis sidik jari, dan robot otonom.

Teknologi AI

Berikut adalah beberapa teknologi yang memungkinkan AI di perangkat IoT:

Pembelajaran mesin (ML) :Algoritme pembelajaran mesin membuat model berdasarkan data representatif, memungkinkan perangkat mengidentifikasi pola secara otomatis tanpa campur tangan manusia. Vendor ML menyediakan algoritme, API, dan alat yang diperlukan untuk melatih model yang kemudian dapat dibangun ke dalam sistem tertanam. Sistem tertanam ini kemudian menggunakan model yang telah dilatih sebelumnya untuk mendorong inferensi atau prediksi berdasarkan data input baru. Contoh aplikasinya adalah hub sensor, pencarian kata kunci, pemeliharaan prediktif, dan klasifikasi.

Pembelajaran mendalam :Pembelajaran mendalam adalah kelas pembelajaran mesin yang melatih sistem dengan menggunakan banyak lapisan jaringan saraf untuk mengekstrak fitur dan wawasan tingkat yang lebih tinggi secara progresif dari data input yang kompleks. Pembelajaran mendalam bekerja dengan data masukan yang sangat besar, beragam, dan kompleks serta memungkinkan sistem untuk belajar secara berulang, meningkatkan hasil di setiap langkah. Contoh aplikasi yang menggunakan pembelajaran mendalam adalah pemrosesan gambar, chatbots untuk layanan pelanggan, dan pengenalan wajah.

Pemrosesan bahasa alami (NLP) :NLP adalah cabang dari kecerdasan buatan yang berhubungan dengan interaksi antara sistem dan manusia menggunakan bahasa alami. NLP membantu sistem memahami dan menafsirkan bahasa manusia (teks atau ucapan) dan membuat keputusan berdasarkan itu. Contoh aplikasinya adalah sistem pengenalan suara, terjemahan mesin, dan pengetikan prediktif.

Penglihatan komputer :Visi mesin/komputer adalah bidang kecerdasan buatan yang melatih mesin untuk mengumpulkan, menafsirkan, dan memahami data gambar, dan mengambil tindakan berdasarkan data tersebut. Mesin mengumpulkan gambar/video digital dari kamera, menggunakan model pembelajaran mendalam dan alat analisis gambar untuk mengidentifikasi dan mengklasifikasikan objek secara akurat, dan mengambil tindakan berdasarkan apa yang mereka "lihat". Contohnya adalah deteksi kesalahan pada jalur perakitan manufaktur, diagnostik medis, pengenalan wajah di toko retail, dan pengujian mobil tanpa pengemudi.

AIoT di MCU

Di masa lalu, AI adalah lingkup MPU dan GPU dengan inti CPU yang kuat, sumber daya memori yang besar, dan konektivitas cloud untuk analitik. Namun, dalam beberapa tahun terakhir, dengan tren peningkatan kecerdasan, kami mulai melihat MCU digunakan dalam aplikasi AIoT yang disematkan. Perpindahan ke edge didorong oleh pertimbangan latensi dan biaya serta melibatkan pemindahan komputasi yang lebih dekat ke data. AI pada perangkat IoT berbasis MCU memungkinkan pengambilan keputusan waktu nyata dan respons yang lebih cepat terhadap peristiwa, dan memiliki keunggulan persyaratan bandwidth yang lebih rendah, daya yang lebih rendah, latensi yang lebih rendah, biaya yang lebih rendah, dan keamanan yang lebih tinggi. AIoT diaktifkan oleh kemampuan komputasi yang lebih tinggi dari MCU terbaru serta ketersediaan kerangka kerja jaringan saraf tipis (NN) yang lebih cocok untuk MCU dengan sumber daya terbatas yang digunakan di perangkat akhir ini.

Jaringan saraf tiruan adalah kumpulan node, disusun dalam lapisan yang menerima input dari lapisan sebelumnya dan menghasilkan output yang dihitung dari jumlah input yang tertimbang dan bias. Output ini diteruskan ke lapisan berikutnya di sepanjang semua koneksi keluarnya. Selama pelatihan, data pelatihan dimasukkan ke lapisan pertama atau lapisan input jaringan, dan output dari setiap lapisan diteruskan ke lapisan berikutnya. Lapisan terakhir atau lapisan keluaran menghasilkan prediksi model, yang dibandingkan dengan nilai harapan yang diketahui untuk mengevaluasi kesalahan model. Proses pelatihan melibatkan penyempurnaan atau penyesuaian bobot dan bias dari setiap lapisan jaringan pada setiap iterasi menggunakan proses yang disebut propagasi balik, hingga keluaran jaringan berkorelasi erat dengan nilai yang diharapkan. Dengan kata lain, jaringan secara iteratif “belajar” dari kumpulan data masukan dan secara progresif meningkatkan akurasi prediksi keluaran.

Pelatihan jaringan saraf membutuhkan kinerja komputasi dan memori yang sangat tinggi dan biasanya dilakukan di cloud. Setelah pelatihan, model NN yang telah dilatih sebelumnya ini disematkan di MCU dan digunakan sebagai mesin inferensi untuk data baru yang masuk berdasarkan pelatihannya.

Pembuatan inferensi ini membutuhkan kinerja komputasi yang jauh lebih rendah daripada pelatihan model dan karenanya cocok untuk MCU. Bobot model NN pra-terlatih ini diperbaiki dan dapat ditempatkan dalam flash, sehingga mengurangi jumlah SRAM yang diperlukan dan menjadikannya cocok untuk MCU yang lebih terbatas sumber dayanya.

Implementasi pada MCU

Implementasi AIoT pada MCU melibatkan beberapa langkah. Pendekatan yang paling umum adalah menggunakan salah satu model kerangka kerja jaringan saraf (NN) yang tersedia seperti Caffe atau Tensorflow Lite, yang cocok untuk solusi perangkat akhir berbasis MCU. Pelatihan model NN untuk pembelajaran mesin dilakukan di cloud oleh spesialis AI menggunakan alat yang disediakan oleh vendor AI. Optimalisasi model NN dan integrasi pada MCU dilakukan dengan menggunakan tools dari vendor AI dan pabrikan MCU. Inferensi dilakukan pada MCU menggunakan model NN yang telah dilatih sebelumnya.

Langkah pertama dalam proses ini dilakukan sepenuhnya offline dan melibatkan pengambilan data dalam jumlah besar dari perangkat atau aplikasi akhir, yang kemudian digunakan untuk melatih model NN. Topologi model ditentukan oleh pengembang AI untuk memanfaatkan data yang tersedia sebaik mungkin dan memberikan output yang diperlukan untuk aplikasi itu. Pelatihan model NN dilakukan dengan melewatkan kumpulan data secara iteratif melalui model dengan tujuan untuk meminimalkan kesalahan secara terus menerus pada keluaran model. Ada alat yang tersedia dengan kerangka kerja NN yang dapat membantu proses ini.

Pada langkah kedua, model pra-pelatihan ini, yang dioptimalkan untuk fungsi tertentu seperti pengenalan kata kunci atau pengenalan suara, diubah menjadi format yang sesuai untuk MCU. Langkah pertama dalam proses ini adalah mengubahnya menjadi file buffer datar menggunakan alat konverter AI. Ini secara opsional dapat dijalankan melalui quantizer, untuk mengurangi ukuran dan mengoptimalkannya untuk MCU. File buffer datar ini kemudian dikonversi ke kode C dan ditransfer ke MCU target sebagai file eksekusi runtime.

MCU ini, dilengkapi dengan model AI tertanam yang telah dilatih sebelumnya, sekarang dapat digunakan di perangkat akhir. Ketika data baru masuk, itu dijalankan melalui model dan inferensi dihasilkan berdasarkan pelatihan. Saat kelas data baru masuk, model NN dapat dikirim kembali ke cloud untuk pelatihan ulang dan model baru yang dilatih ulang dapat diprogram pada MCU, kemungkinan melalui peningkatan firmware OTA (over the air).

Ada dua cara berbeda untuk merancang solusi AI berbasis MCU. Untuk tujuan diskusi ini, kami mengasumsikan penggunaan inti Arm Cortex-M di MCU target.

Pada metode pertama, model NN yang dikonversi dijalankan pada inti CPU Cortex-M dan dipercepat menggunakan pustaka CMSIS-NN. Ini adalah konfigurasi sederhana yang dapat ditangani tanpa akselerasi perangkat keras tambahan dan cocok untuk aplikasi AI yang lebih sederhana seperti pendeteksian kata kunci, analisis getaran, dan hub sensor.

Opsi kinerja yang lebih canggih dan lebih tinggi melibatkan penyertaan akselerator NN atau perangkat keras unit pemrosesan saraf mikro (u-NPU) pada MCU. u-NPU ini mempercepat pembelajaran mesin di perangkat akhir IoT dengan sumber daya terbatas dan mungkin mendukung kompresi yang dapat mengurangi daya dan ukuran model. Mereka mendukung operator yang dapat sepenuhnya menjalankan sebagian besar jaringan NN umum untuk pemrosesan audio, pengenalan suara, klasifikasi gambar, dan deteksi objek. Jaringan yang tidak didukung oleh u-NPU dapat kembali ke inti CPU utama dan dipercepat oleh pustaka CMSIS-NN. Dalam metode ini, model NN dieksekusi pada uNPU.

Metode ini hanya menunjukkan beberapa cara untuk menggabungkan AI dalam perangkat berbasis MCU. Saat MCU mendorong batas performa ke tingkat yang lebih tinggi, lebih dekat dengan yang diharapkan dari MPU, kami berharap untuk mulai melihat kemampuan AI penuh termasuk algoritme pembelajaran ringan dan inferensi, yang dibangun langsung di MCU.

AI di ujung tombak adalah masa depan

Implementasi AI pada MCU dengan sumber daya terbatas akan meningkat secara eksponensial di masa mendatang dan kami akan terus melihat aplikasi dan kasus penggunaan baru muncul saat MCU mendorong batas pada kinerja dan mengaburkan batas antara MCU dan MPU, dan semakin banyak NN "tipis" model, cocok untuk perangkat dengan sumber daya terbatas, tersedia.

Di masa mendatang, dengan peningkatan kinerja MCU, kita kemungkinan akan melihat penerapan algoritma pembelajaran ringan selain inferensi, yang dijalankan langsung di MCU. Ini akan membuka pasar dan aplikasi baru untuk produsen MCU dan akan menjadi area investasi yang signifikan bagi mereka.


Teknologi Internet of Things

  1. Bagaimana cara mengamankan teknologi awan?
  2. Cara memaksimalkan data Anda
  3. Bagaimana AIoT memungkinkan solusi lalu lintas cerdas
  4. Bagaimana Internet of Things mengubah rantai pasokan:Bagian 2, Solusi masa depan
  5. Bagaimana teknologi seluler menghilangkan hambatan untuk bepergian
  6. Bagaimana ilmu data dan pembelajaran mesin dapat membantu dalam meningkatkan desain situs web
  7. Internet of Things:Mengelola masuknya data
  8. Cara menggunakan pembelajaran mesin di lingkungan perusahaan saat ini
  9. Bagaimana IoT Memberdayakan Sistem Pelacakan Kendaraan?
  10. Bagaimana OEM Perangkat Medis Dapat Menerapkan Model Bisnis Industri 4.0