Hello. 1
Welcome back. 2
So when building and deploying machine learning algorithms on EDGE devices like mobile phones and embedded 3
devices such as smartwatches and those and those other devices found in smart phones, 4
we have to keep three key factors in mind. And edge over here includes embedded devices, like smartwatches, 5
the smart home alarm etc. 6
So whenever you think of EDGE device in our case we're dealing with the microcontroller essentially. 7
Right. 8
So the first one we have to keep in mind, the first factor, is what is known as latency. 9
And this simply means delay in data transfer. 10
This becomes a problem when the machine learning model exists in the cloud and therefore to make a prediction, 11
you will have to send your input to the cloud. 12
Another factor we have to consider is the privacy and security. 13
The third factor of consideration is the network reliability. 14
There are ways to develop and deploy machine learning algorithms on your microcontroller and doing predictions 15
locally without having to connect to the cloud. 16
We are going to explore some of those ways in this course. 17
Some some examples of machine learning on edge devices include Smart Home Security visitor tracking, 18
plant disease detection, drone 19
avionics device optimization, on-device translations etc. I am sure you may have seen other examples 20
out there. 21
My hope is that by the end of this course you'll be able to come up with your own deep learning solutions 22
to the problems facing where you live. 23
Now let's see some limitations of machine learning on microcontrollers. 24
Of course when we are dealing with something as computationally intensive as machine learning it comes 25
with certain requirements. 26
One of them is high processing power. When deploying machine learning algorithms on microcontrollers 27
we have to keep in mind the low memory footprint of microcontrollers. In this table here it gives an 28
example of some of the popular microcontrollers out there, their processing frequency which is their processing 29
power and how much memory they have. 30
We will have to do with things like compressing our model and using optimized data types in order 31
to overcome these limitations. 32
Now we are going to take a look at some libraries out there for doing machine learning on ARM processors. 33
Currently there are two major libraries designed for optimized machine learning performance on ARM cortex 34
processors. 35
The first one of course is the CMSIS NN and CMSIS stands for the cortex microcontroller software 36
interface standard that and the NN stands for neural network. 37
CMSIS NN is a collection of optimized neural network functions for cortex-M processors. 38
The library is optimized because it takes full advantage of the ARM cortex M hardware like the use of 39
floating point and SIMD capabilities of the microcontroller. 40
We should treat CMSIS thoroughly in its own section. CMSIS NN is managed by ARM. 41
The next popular library is cube MX dot AI and this is managed by SΤ microelectronics. 42
, 43
It also allows us to deploy optimizeδ machine learning modules on ΑΡΜ cortex Μ processors. 44
However this one works with only microcontrollers from ST microelectronics but of course with patience 45
and determination, it is quite possible to make it work with any cortex microcontroller right. 46
So in the next lesson we should start talking about the introduction to neural network. 47
This is all there is for this one and I shall see you later.