1000/1000
Hot
Most Recent
Embedded machine learning (EML) can be applied in the areas of accurate computer vision schemes, reliable speech recognition, innovative healthcare, robotics, and more. However, there exists a critical drawback in the efficient implementation of ML algorithms targeting embedded applications. Machine learning algorithms are generally computationally and memory intensive, making them unsuitable for resource-constrained environments such as embedded and mobile devices. In order to efficiently implement these compute and memory-intensive algorithms within the embedded and mobile computing space, innovative optimization techniques are required at the algorithm and hardware levels.
Machine Learning Techniques | |||
---|---|---|---|
Supervised Learning | Unsupervised Learning | Reinforcement Learning | |
Classification | Regression | Clustering | Genetic Algorithms |
SVM | SVR | HMM | Estimated Value Functions |
Naïve Bayes | Linear Regression | GMM | Simulated Annealing |
k-NN | Decision Trees | k-means | |
Logistic Regression | ANN | DNN | |
Discriminant Analysis | Ensemble Methods | ||
DNN | DNN |
Reference | ML Method | Embedded/Mobile Platform | Application | Year |
---|---|---|---|---|
[4] | SVM | ARMv7, IBM PPC440 | Network Configuration | 2015 |
[5] | DNN | FPGA Zedboard with 2 ARM Cortex Cores | Character Recognition | 2015 |
[6] | DNN | Xilinx FPGA board | Image classification | 2016 |
[7] | LSTM RNN | Zynq 7020 FPGA | Character Prediction | 2016 |
[8] | CNN | VC707 Board with Xilinx FPGA chip | Image Classification | 2015 |
[9] | GMM | Raspberry Pi | Integer processing | 2014 |
[10] | k-NN, SVM | Mobile Device | Fingerprinting | 2014 |
[11] | k-NN | Mobile Device | Fingerprinting | 2014 |
[12] | k-NN, GMM | Mobile Device | Mobile Device Identification | 2015 |
[13] | SVM | Xilinx Virtex 7 XC7VX980 FPGA | Histopathological image classification | 2015 |
[14] | HMM | Nvidia Kepler | Speech Recognition | 2015 |
[15] | Logistic Regression | Smart band | Stress Detection | 2015 |
[16] | k-means | Smartphone | Indoor Localization | 2015 |
[17] | Naïve Bayes | AVR ATmega-32 | Home Automation | 2015 |
[18] | k-NN | Smartphone | Image Recognition | 2015 |
[19] | Decision Tree | Mobile Device | Health Monitoring | 2015 |
[20] | GMM | FRDM-K64F equipped with ARM Cortex-M4F core | IoT sensor data analysis | 2016 |
[21] | CNN | FPGA Xilinx Zynq ZC706 Board | Image Classification | 2016 |
[22] | CNN | Mobile Device | Mobile Sensing | 2016 |
[23] | SVM | Mobile Device | Fingerprinting | 2016 |
[24] | k-NN, SVM | Mobile Device | Fingerprinting | 2016 |
[25] | k-NN | Xilinx Virtex-6 FPGA | Image Classification | 2016 |
[26] | HMM | Arduino UNO | Disease detection | 2016 |
[27] | Logistic Regression | Wearable Sensor | Stress Detection | 2016 |
[28] | Naïve Bayes | Smartphone | Health Monitoring | 2016 |
[29] | Naïve Bayes | Mobile Devices | Emotion Recognition | 2016 |
[30] | k-NN | Smartphone | Data Mining | 2016 |
[31] | HMM | Smartphone Sensors | Activity Recognition | 2017 |
[32] | DNN | Smartphone | Face detection, activity recognition | 2017 |
[33] | CNN | Mobile Device | Image classification | 2017 |
[34] | SVM | Mobile Device | Mobile Device Identification | 2017 |
[35] | SVM | Jetson-TK1 | Healthcare | 2017 |
[36] | SVM, Logistic Regression | Arduino UNO | Stress Detection | 2017 |
[37] | Naïve Bayes | Smartphone | Emotion Recognition | 2017 |
[38] | k-means | Smartphones | Safe Driving | 2017 |
[39] | HMM | Mobile Device | Health Monitoring | 2017 |
[40] | k-NN | Arduino UNO | Image Classification | 2017 |
[41] | SVM | Wearable Device (nRF51822 SoC+BLE) | Battery Life Management | 2018 |
[42] | SVM | Zybo Board with Z-7010 FPSoC | Face Detection | 2018 |
[43] | CNN | Raspberry Pi + Movidus Neural Compute Stick | Vehicular Edge Computing | 2018 |
[44] | CNN | Jetson TX2 | Image Classification | 2018 |
[45] | HMM | Smartphone | Healthcare | 2018 |
[46] | k-NN | Smartphone | Health Monitoring | 2019 |
[47] | Decision Trees | Arduino UNO | Wound Monitoring | 2019 |
[48] | RNN | ATmega640 | Smart Sensors | 2019 |
[49] | SVM, Logistic Regression, k-means, CNN | Raspberry Pi | Federated Learning | 2019 |
[50] | DNN | Raspberry Pi | Transient Reduction | 2020 |
[51] | MLP | Embedded SoC (ESP4ML) | Classification | 2020 |
[52] | HMM | Smartphone | Indoor Localization | 2020 |
[53] | k-NN | Smartphone | Energy Management | 2020 |
[54] | ANN, Decision Trees | Raspberry Pi | Classification and Regression | 2021 |
Operation | Energy (pJ) |
---|---|
8 bit int ADD | 0.03 |
16 bit int ADD | 0.05 |
32 bit int ADD | 0.1 |
16 bit float ADD | 0.4 |
32 bit float ADD | 0.9 |
8 bit MULT | 0.2 |
32 bit MULT | 3.1 |
16 bit float MULT | 1.1 |
32 bit float MULT | 3.7 |
32 bit SRAM READ | 5.0 |
32 bit DRAM READ | 640 |