{"id":10461,"date":"2020-10-16T09:44:10","date_gmt":"2020-10-16T09:44:10","guid":{"rendered":"https:\/\/www.experfy.com\/blog\/?p=10461"},"modified":"2023-10-20T11:20:16","modified_gmt":"2023-10-20T11:20:16","slug":"tiny-machine-learning","status":"publish","type":"post","link":"https:\/\/www.experfy.com\/blog\/ai-ml\/tiny-machine-learning\/","title":{"rendered":"Tiny Machine Learning: The Next AI Revolution"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"10461\" class=\"elementor elementor-10461\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-28d14751 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"28d14751\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-40035c7b\" data-id=\"40035c7b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6b2845d7 elementor-widget elementor-widget-text-editor\" data-id=\"6b2845d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p class=\"has-medium-font-size\"><em>The bigger model is not always the better model<\/em>\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Miniaturization of electronics started by NASA\u2019s push became an entire consumer products industry. Now we\u2019re carrying the complete works of Beethoven on a lapel pin listening to it in headphones. \u2014<strong><em>\u00a0Neil deGrasse Tyson, astrophysicist and science commentator<\/em><\/strong><\/p>\n<p>[\u2026] the pervasiveness of ultra-low-power embedded devices, coupled with the introduction of embedded machine learning frameworks like TensorFlow Lite for Microcontrollers will enable the mass proliferation of AI-powered IoT devices. \u2014\u00a0<strong><em>Vijay Janapa Reddi, Associate Professor at Harvard University<\/em><\/strong>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-6775107 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6775107\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-83b379f\" data-id=\"83b379f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d2ff5ce elementor-widget elementor-widget-image\" data-id=\"d2ff5ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1751\/1*ofX7aZroN2tkwOjJhECmNQ.png\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-c92657e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c92657e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-268221a\" data-id=\"268221a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-70beb0f elementor-widget elementor-widget-text-editor\" data-id=\"70beb0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This is the first in a series of articles on tiny machine learning. The goal of this article is to introduce the reader to the idea of tiny machine learning and its future potential. In-depth discussion of specific applications, implementations, and tutorials will follow in subsequent articles in the series.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-f23d757 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f23d757\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c76c2a9\" data-id=\"c76c2a9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d756b1e elementor-widget elementor-widget-heading\" data-id=\"d756b1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Introduction<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0829420 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0829420\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9b3120b\" data-id=\"9b3120b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7397e6b elementor-widget elementor-widget-text-editor\" data-id=\"7397e6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Over the past decade, we have witnessed the size of machine learning algorithms grow exponentially due to improvements in processor speeds and the advent of big data. Initially, models were small enough to run on local machines using one or more cores within the central processing unit (CPU).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-7176fbe elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7176fbe\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-93ab46c\" data-id=\"93ab46c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-194c950 elementor-widget elementor-widget-text-editor\" data-id=\"194c950\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Shortly after, computation using graphics processing units (GPUs) became necessary to handle larger datasets and became more readily available due to introduction of cloud-based services such as SaaS platforms (e.g., Google Colaboratory) and IaaS (e.g., Amazon EC2 Instances). At this time, algorithms could still be run on single machines.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3dbfe98 elementor-widget elementor-widget-text-editor\" data-id=\"3dbfe98\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>More recently, we have seen the development of specialized application-specific integrated circuits (ASICs) and tensor processing units (TPUs), which can pack the power of ~8 GPUs. These devices have been augmented with the ability to distribute learning across multiple systems in an attempt to grow larger and larger models.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a6cafa8 elementor-widget elementor-widget-text-editor\" data-id=\"a6cafa8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This came to a head recently with the release of the GPT-3 algorithm (released in May 2020), boasting a network architecture containing a staggering 175 billion neurons \u2014 more than double the number present in the human brain (~85 billion). This is more than 10x the number of neurons than the next-largest neural network ever created, Turing-NLG (released in February 2020, containing ~17.5 billion parameters). Some estimates claim that the model cost around $10 million dollars to train and used approximately 3 GWh of electricity (approximately the output of three nuclear power plants for an hour).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7cf153d elementor-widget elementor-widget-text-editor\" data-id=\"7cf153d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhile the achievements of GPT-3 and Turing-NLG are laudable, naturally, this has led to some in the industry to criticize the increasingly large carbon footprint of the AI industry. However, it has also helped to stimulate interest within the AI community towards more energy-efficient computing. Such ideas, like more efficient algorithms, data representations, and computation have been the focus of a seemingly unrelated field for several years:\u00a0<strong>tiny machine learning<\/strong>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fb24156 elementor-widget elementor-widget-text-editor\" data-id=\"fb24156\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><mark>Tiny machine learning (tinyML) is the intersection of machine learning and embedded internet of things (IoT) devices. The field is an emerging engineering discipline that has the potential to revolutionize many industries.<\/mark><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-75bd263 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"75bd263\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-56ae5a4\" data-id=\"56ae5a4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ff2701a elementor-widget elementor-widget-text-editor\" data-id=\"ff2701a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe main industry beneficiaries of tinyML are in edge computing and energy-efficient computing. TinyML emerged from the concept of the internet of things (IoT). The traditional idea of IoT was that data would be sent from a local device to the cloud for processing. Some individuals raised certain concerns with this concept: privacy, latency, storage, and energy efficiency to name a few.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e7bd81 elementor-widget elementor-widget-text-editor\" data-id=\"0e7bd81\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<strong>Energy Efficiency.<\/strong>\u00a0Transmitting data (via wires or wirelessly) is very energy-intensive, around an order of magnitude more energy-intensive than onboard computations (specifically, multiply-accumulate units). Developing IoT systems that can perform their own data processing is the most energy-efficient method. AI pioneers have discussed this idea of \u201cdata-centric\u201d computing (as opposed to the cloud model\u2019s \u201ccompute-centric\u201d) for some time and we are now beginning to see it play out.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af47f8d elementor-widget elementor-widget-text-editor\" data-id=\"af47f8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<strong>Privacy.<\/strong>\u00a0Transmitting data opens the potential for privacy violations. Such data could be intercepted by a malicious actor and becomes inherently less secure when warehoused in a singular location (such as the cloud). By keeping data primarily on the device and minimizing communications, this improves security and privacy.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9432a45 elementor-widget elementor-widget-text-editor\" data-id=\"9432a45\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<strong>Storage.\u00a0<\/strong>For many IoT devices, the data they are obtaining is of no merit. Imagine a security camera recording the entrance to a building for 24 hours a day. For a large portion of the day, the camera footage is of no utility, because nothing is happening. By having a more intelligent system that only activates when necessary, lower storage capacity is necessary, and the amount of data necessary to transmit to the cloud is reduced.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a554aa elementor-widget elementor-widget-text-editor\" data-id=\"0a554aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<strong>Latency.<\/strong>\u00a0For standard IoT devices, such as Amazon Alexa, these devices transmit data to the cloud for processing and then return a response based on the algorithm\u2019s output. In this sense, the device is just a convenient gateway to a cloud model, like a carrier pigeon between yourself and Amazon\u2019s servers. The device is pretty dumb and fully dependent on the speed of the internet to produce a result. If you have slow internet, Amazon Alexa will also become slow. For an intelligent IoT device with onboard automatic speech recognition, the latency is reduced because there is reduced (if not no) dependence on external communications.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-7e16504 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7e16504\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2070bb8\" data-id=\"2070bb8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cf4a59e elementor-widget elementor-widget-text-editor\" data-id=\"cf4a59e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThese issues led to the development of edge computing, the idea of performing processing activities onboard of edge devices (devices at the \u201cedge\u201d of the cloud). These devices are highly resource-constrained in terms of memory, computation, and power, leading to the development of more efficient algorithms, data structures, and computational methods.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d48bf09 elementor-widget elementor-widget-text-editor\" data-id=\"d48bf09\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Such improvements are also applicable to larger models, which may lead to efficiency increases in <a href=\"https:\/\/www.experfy.com\/blog\/what-machine-learning-data-poisoning\/\" target=\"_blank\" rel=\"noreferrer noopener\">machine learning<\/a> models by orders of magnitude with no impact on model accuracy. As an example, the\u00a0<a href=\"https:\/\/microsoft.github.io\/EdgeML\/static\/docs\/publications\/Bonsai.pdf\" rel=\"noopener\">Bonsai<\/a>\u00a0algorithm developed by Microsoft can be as small as 2 KB but can have even\u00a0<strong>better<\/strong>\u00a0performance than a typical 40 MB kNN algorithm, or a 4 MB neural network. This result may not sound important, but the same accuracy on a model 1\/10,000th of the size is quite impressive. A model this small can be run on an Arduino Uno, which has 2 KB RAM available \u2014 in short, you can now build such a machine learning model on a $5 microcontroller.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b540a65 elementor-widget elementor-widget-text-editor\" data-id=\"b540a65\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWe are at an interesting crossroads where machine learning is bifurcating between two computing paradigms: compute-centric computing and data-centric computing. In the compute-centric paradigm, data is stockpiled and analyzed by instances in data centers, while in the data-centric paradigm, the processing is done locally at the origin of the data. Although we appear to be quickly moving towards a ceiling in the compute-centric paradigm, work in the data-centric paradigm has only just begun.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8966d0a elementor-widget elementor-widget-text-editor\" data-id=\"8966d0a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIoT devices and embedded machine learning models are becoming increasingly ubiquitous in the modern world (predicted more than 20 billion active devices by the end of 2020). Many of these you may not even have noticed. Smart doorbells, smart thermostats, a smartphone that \u201cwakes up\u201d when you say a couple of words, or even just pick up the phone. The remainder of this article will focus deeper on how tinyML works, and on current and future applications.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-ff77a59 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ff77a59\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d2671fb\" data-id=\"d2671fb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a1f8a5c elementor-widget elementor-widget-image\" data-id=\"a1f8a5c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1800\/0*M0QFVxypLaBuXIqN.png\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-7fe4df3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7fe4df3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d865fa9\" data-id=\"d865fa9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5edf82f elementor-widget elementor-widget-heading\" data-id=\"5edf82f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Examples of TinyML<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-c574d74 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c574d74\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0fc204f\" data-id=\"0fc204f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ca23a2c elementor-widget elementor-widget-text-editor\" data-id=\"ca23a2c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tPreviously, complex circuitry was necessary for a device to perform a wide range of actions. Now, machine learning is making it increasingly possible to abstract such hardware \u201cintelligence\u201d into software, making embedded devices increasingly simple, lightweight, and flexible.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c62764 elementor-widget elementor-widget-text-editor\" data-id=\"1c62764\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe challenges that machine learning with embedded devices presents are considerable, but great progress has already been achieved in this area. The key challenges in deploying neural networks on microcontrollers are the low memory footprint, limited power, and limited computation.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f917b26 elementor-widget elementor-widget-text-editor\" data-id=\"f917b26\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tPerhaps the most obvious example of TinyML is within smartphones. These devices perpetually listen actively for \u2018<strong>wake words<\/strong>\u2019, such as \u201cHey Google\u201d for Android smartphones, or \u2018Hey Siri\u201d on iPhones. Running these activities through the main central processing unit (CPU) of a smartphone, which is 1.85 GHz for the modern iPhone, would deplete the battery in just a few hours. This level of degradation is not acceptable for something that most people would use a few times a day at most.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a378cb elementor-widget elementor-widget-text-editor\" data-id=\"7a378cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tTo combat this, developers created specialized low-power hardware that is able to be powered by a small battery (such as a circular CR2032 \u201ccoin\u201d battery). These allow the circuits to remain active even when the CPU is not running, which is basically whenever the screen is not lit.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-e091679 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e091679\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5a14dd3\" data-id=\"5a14dd3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fffc603 elementor-widget elementor-widget-text-editor\" data-id=\"fffc603\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<strong>These circuits can consume as little as 1 mW and can be powered for up to a year using a standard CR2032 battery.<\/strong>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6bbd4f5 elementor-widget elementor-widget-text-editor\" data-id=\"6bbd4f5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIt may not seem like it, but this is a big deal. Energy is a limiting factor for many electronic devices. Any device that requires mains electricity is restricted to locations with wiring, which can quickly get overwhelming when a dozen devices are present in the same location. Mains electricity is also inefficient and expensive. Converting mains voltage (which operates around 120 V in the United States) to a typical circuit voltage range (often ~5 V) wastes large amounts of energy. Anyone with a laptop charger will probably know this when unplugging their charger. The heat from the transformer within the charger is wasted energy during the voltage conversion process.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47f5508 elementor-widget elementor-widget-text-editor\" data-id=\"47f5508\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tEven devices with batteries suffer from limited battery life, which requires frequent docking. Many consumer devices are designed such that the battery lasts for a single workday. TinyML devices that can continue operating for a year on a battery the size of a coin mean they can be placed in remote environments, only communicating when necessary in order to conserve energy.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29cd2ae elementor-widget elementor-widget-text-editor\" data-id=\"29cd2ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWake words are not the only TinyML we see seamlessly embedded in smartphones. Accelerometer data is used to determine whether someone has just picked the phone up, which wakes the CPU and turns on the screen.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-315a966 elementor-widget elementor-widget-text-editor\" data-id=\"315a966\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Clearly, these are not the only possible applications of TinyML. In fact, TinyML presents many exciting opportunities for businesses and hobbyists alike to produce more intelligent IoT devices. In a world where data is becoming more and more important, the ability to distribute machine learning resources to memory-constrained devices in remote locations could have huge benefits on data-intensive industries such as farming, weather prediction, or seismology.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-165d2ba elementor-widget elementor-widget-text-editor\" data-id=\"165d2ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>It is without a doubt that empowering edge devices with the capability of performing data-driven processing will produce a paradigm shift for industrial processes. As an example, devices that are able to monitor crops and send a \u201chelp\u201d message when it detects characteristics such as soil moisture, specific gases (for example, apples emit ethane when ripe), or particular atmospheric conditions (e.g., high winds, low temperatures, or high humidity), would provide massive boosts to crop growth and hence crop yield.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1cc5a93 elementor-widget elementor-widget-text-editor\" data-id=\"1cc5a93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>As another example, a smart doorbell might be fitted with a camera that can use facial recognition to determine who is present. This could be used for security purposes, or even just so that the camera feed from the doorbell is fed to televisions in the house when someone is present so that the residents know who is at the door.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-70a0242 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"70a0242\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-94d206d\" data-id=\"94d206d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-df84aa0 elementor-widget elementor-widget-text-editor\" data-id=\"df84aa0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"0b3a\">Two of the main focus areas of tinyML currently are:<\/p>\n\n\n\n<p id=\"229b\"><a href=\"https:\/\/arxiv.org\/abs\/1804.03209\" rel=\"noopener\"><strong>Keyword spotting<\/strong><\/a><strong>.<\/strong>\u00a0Most people are already familiar with this application. \u201cHey Siri\u201d and \u201cHey Google\u201d are examples of keywords (often used synonymously with hotword or wake word). Such devices listen continuously to audio input from a microphone and are trained to only respond to specific sequences of sounds, which correspond with the learned keywords. These devices are simpler than automatic speech recognition (ASR) applications and utilize correspondingly fewer resources. Some devices, such as Google smartphones, utilize a\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1712.03603.pdf\" rel=\"noopener\">cascade architecture<\/a>\u00a0to also provide speaker verification for security.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-957f20a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"957f20a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-50b1c35\" data-id=\"50b1c35\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-891d2f9 elementor-widget elementor-widget-text-editor\" data-id=\"891d2f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<strong>Visual Wake Words<\/strong><\/a><strong>.<\/strong>\u00a0There is an image-based analog to the wake words known as visual wake words. Think of these as a binary classification of an image to say that something is either present or not present. For example, a smart lighting system may be designed such that it activates when it detects the presence of a person and turns off when they leave. Similarly, wildlife photographers could use this to take pictures when a specific animal is present, or security cameras when they detect the presence of a person.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0cbe223 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0cbe223\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8db5de8\" data-id=\"8db5de8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3da5cfe elementor-widget elementor-widget-text-editor\" data-id=\"3da5cfe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A more broad overview of current machine learning use cases of TinyML is shown below.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5505c44 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5505c44\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8cf7fbd\" data-id=\"8cf7fbd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c7076be elementor-widget elementor-widget-image\" data-id=\"c7076be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1152\/1*Qz_GcC8WorgU-pNrPn22xg.jpeg\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-49830bc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"49830bc\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d9f3081\" data-id=\"d9f3081\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c3ad65a elementor-widget elementor-widget-heading\" data-id=\"c3ad65a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How TinyML Works<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-f62b780 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f62b780\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-371331d\" data-id=\"371331d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5b73f3f elementor-widget elementor-widget-text-editor\" data-id=\"5b73f3f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tTinyML algorithms work in much the same way as traditional machine learning models. Typically, the models are trained as usual on a user\u2019s computer or in the cloud. Post-training is where the real tinyML work begins, in a process often referred to as\u00a0<strong>deep compression<\/strong>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-7e264dd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7e264dd\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-50adfdf\" data-id=\"50adfdf\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d3720ac elementor-widget elementor-widget-image\" data-id=\"d3720ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1967\/1*9bfnqmUBn4Kq5UiOnH22Zg.png\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-6b2e2c1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6b2e2c1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3864f15\" data-id=\"3864f15\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-dfcbfb2 elementor-widget elementor-widget-heading\" data-id=\"dfcbfb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Model Distillation<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-6c121ad elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6c121ad\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-738394f\" data-id=\"738394f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-70d27ae elementor-widget elementor-widget-text-editor\" data-id=\"70d27ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tPost-training, the model is then altered in such a way as to create a model with a more compact representation.\u00a0<strong>Pruning<\/strong>\u00a0and\u00a0<strong>knowledge<\/strong>\u00a0<strong>distillation<\/strong>\u00a0are two such techniques for this purpose.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ac8812 elementor-widget elementor-widget-text-editor\" data-id=\"6ac8812\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe idea underlying knowledge distillation is that larger networks have some sparsity or redundancy within them. While large networks have a high representational capacity, if the network capacity is not saturated it could be represented in a smaller network with a lower representation capacity (i.e., less neurons). Hinton et al. (2015) referred to the embedded information in the teacher model to be transferred to the student model as \u201c<strong>dark knowledge<\/strong>\u201d.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-b4370e3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b4370e3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-338ffc3\" data-id=\"338ffc3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d90ac89 elementor-widget elementor-widget-text-editor\" data-id=\"d90ac89\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The below diagram illustrates the process of knowledge distillation.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-eb25b31 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"eb25b31\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ba66499\" data-id=\"ba66499\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8f3c7cb elementor-widget elementor-widget-image\" data-id=\"8f3c7cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1271\/1*U1Vi98sIfKD_OsVZv0g_0Q.png\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-8fdd760 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8fdd760\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9d5a46f\" data-id=\"9d5a46f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f74dbd8 elementor-widget elementor-widget-text-editor\" data-id=\"f74dbd8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIn this diagram, the \u2018teacher\u2019 is a trained neural network model. The teacher is tasked with transferring its \u2018knowledge\u2019 to a smaller network model with fewer parameters, the \u2018student\u2019. This process is used to enshrine the same knowledge in a smaller network, providing a way of compressing the knowledge representation, and hence the size, of a neural network such that they can be used on more memory-constrained devices.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0552965 elementor-widget elementor-widget-text-editor\" data-id=\"0552965\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSimilarly, pruning can help to make the model\u2019s representation more compact. Pruning, broadly speaking, attempts to remove neurons that provide little utility to the output prediction. This is often associated with small neural weights, whereas larger weights are kept due to their greater importance during inference. The network is then retrained on the pruned architecture to fine-tune the output.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-fd860ce elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fd860ce\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe5723f\" data-id=\"fe5723f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-190e292 elementor-widget elementor-widget-image\" data-id=\"190e292\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1303\/0*z325s1W8mfnHGBRu.png\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-11fe29d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"11fe29d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4410680\" data-id=\"4410680\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8da30a5 elementor-widget elementor-widget-heading\" data-id=\"8da30a5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Quantization<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-19f122b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"19f122b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c71e33a\" data-id=\"c71e33a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8cabadc elementor-widget elementor-widget-text-editor\" data-id=\"8cabadc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tFollowing distillation, the model is then quantized post-training into a format that is compatible with the architecture of the embedded device.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-3770f4c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3770f4c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-aaadf40\" data-id=\"aaadf40\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e6525ad elementor-widget elementor-widget-text-editor\" data-id=\"e6525ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhy is quantization necessary? Imagine an Arduino Uno using an ATmega328P microcontroller, which uses 8-bit arithmetic. To run a model on the Uno, the model weights would ideally have to be stored as 8-bit integer values (whereas many desktop computers and laptops use 32-bit or 64-bit floating-point representation). By quantizing the model, the storage size of weights is reduced by a factor of 4 (for a quantization from 32-bit to 8-bit values), and the accuracy is often negligibly impacted (often around 1\u20133%).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-12d1994 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"12d1994\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f39b722\" data-id=\"f39b722\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-90cf58f elementor-widget elementor-widget-image\" data-id=\"90cf58f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1858\/1*ZvFy8H-_einlGVm7EdDQ0A.png\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-936b92a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"936b92a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-956c0b2\" data-id=\"956c0b2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e4bf2e9 elementor-widget elementor-widget-text-editor\" data-id=\"e4bf2e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSome information may be lost during quantization due to\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Quantization_(signal_processing)\" rel=\"noopener\">quantization error<\/a>\u00a0(for example, a value that is 3.42 on a floating-point representation may be truncated to 3 on an integer-based platform). To combat this, quantization-aware (QA) training has also been proposed as an alternative. QA training essentially constrains the network during training to only use the values that will be available on the quantized device (see\u00a0<a href=\"https:\/\/www.tensorflow.org\/model_optimization\/guide\/quantization\/training\" rel=\"noopener\">Tensorflow example<\/a>).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-3ff77a4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3ff77a4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7013fb4\" data-id=\"7013fb4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-dabc067 elementor-widget elementor-widget-heading\" data-id=\"dabc067\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Huffman Encoding<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-a433c03 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a433c03\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0304b6b\" data-id=\"0304b6b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a5714d2 elementor-widget elementor-widget-text-editor\" data-id=\"a5714d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tEncoding is an optional step that is sometimes taken to further reduce the model size by storing the data in a maximally efficient way: often via the famed\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Huffman_coding\" rel=\"noopener\">Huffman encoding<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d827e15 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d827e15\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5877830\" data-id=\"5877830\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5b1a24b elementor-widget elementor-widget-heading\" data-id=\"5b1a24b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Compilation<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d1ff37c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d1ff37c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-203f192\" data-id=\"203f192\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c952dc0 elementor-widget elementor-widget-text-editor\" data-id=\"c952dc0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tOnce the model has been quantized and encoded, it is converted to a format that can be interpreted by some form of light neural network interpreter, the most popular of which are probably\u00a0<a href=\"https:\/\/www.tensorflow.org\/lite\" rel=\"noopener\">TF Lite<\/a>\u00a0(~500 KB in size) and\u00a0<a href=\"https:\/\/www.tensorflow.org\/lite\/microcontrollers\" rel=\"noopener\">TF Lite Micro<\/a>\u00a0(~20 KB in size). The model is then compiled into C or C++ code (the languages most microcontrollers work in for efficient memory usage) and run by the interpreter on-device.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-b62e530 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b62e530\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-56f9447\" data-id=\"56f9447\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-554a616 elementor-widget elementor-widget-image\" data-id=\"554a616\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/1244\/1*wWEeQPCRrsknF3qIuViPtg.png\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-a8fbfd7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a8fbfd7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-aa0b655\" data-id=\"aa0b655\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7271b23 elementor-widget elementor-widget-text-editor\" data-id=\"7271b23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tMost of the skill of tinyML comes in dealing with the complex world of microcontrollers. TF Lite and TF Lite Micro are so small because any unnecessary functionality has been removed. Unfortunately, this includes useful abilities such as debugging and visualization. This means that it can be difficult to discern what is going on if there is an error during deployment.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1d7795 elementor-widget elementor-widget-text-editor\" data-id=\"e1d7795\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAdditionally, while the model has to be stored on the device, the model also has to be able to perform inference. This means the microcontroller must have a memory large enough that it can run (1) its operating system and libraries, (2) a neural network interpreter such as TF Lite, (3) the stored neural weights and neural architecture, and (4) the intermediate results during inference. Thus, the peak memory usage of a quantized algorithm is often quoted in tinyML research papers, along with memory usage, the number of multiply-accumulate units (MACs), accuracy, etc.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-b09b43c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b09b43c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe4c2ad\" data-id=\"fe4c2ad\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e6d7bb9 elementor-widget elementor-widget-heading\" data-id=\"e6d7bb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Why not train on-device?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-760740c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"760740c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1521d28\" data-id=\"1521d28\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-efcee47 elementor-widget elementor-widget-text-editor\" data-id=\"efcee47\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Training on-device brings about additional complications. Due to reduced numerical precision, it becomes exceedingly difficult to guarantee the necessary level of accuracy to sufficiently train a network. Automatic differentiation methods on a standard desktop computer are approximately accurate to machine precision. Computing derivatives to the accuracy of 10^-16 is incredible, but utilizing automatic differentiation on 8-bit values will result in poor results. During backpropagation, these derivatives are compounded and eventually used to update neural parameters. With such a low numerical precision, the accuracy of such a model may be poor.<\/p>\n<p>\nThe first paper looking at reducing numerical precision in deep learning was the 2015 paper\u00a0<em>\u201c<\/em><a href=\"https:\/\/arxiv.org\/abs\/1502.02551\" rel=\"noopener\"><em>Deep Learning with Limited Numerical Precision<\/em><\/a><em>\u201d<\/em>\u00a0by Suyog Gupta and colleagues. The results of this paper were interesting, showing that the 32-bit floating-point representation could be reduced to a 16-bit fixed-point representation with essentially no degradation in accuracy. However, this is the only case when\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Rounding#Stochastic_rounding\" rel=\"noopener\"><strong>stochastic rounding<\/strong><\/a>is used because, on average, it produces an unbiased result.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d8e7fe elementor-widget elementor-widget-text-editor\" data-id=\"9d8e7fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\nIn 2018, Naigang Wang and colleagues trained a neural network using 8-bit floating point numbers in their paper\u00a0<em>\u201c<\/em><a href=\"https:\/\/arxiv.org\/abs\/1812.08011\" rel=\"noopener\"><em>Training Deep Neural Networks with 8-bit Floating Point Numbers<\/em><\/a><em>\u201d.\u00a0<\/em>Training a neural network using 8-bit numbers rather than inference is significantly more challenging to achieve because of a need to maintain fidelity of gradient computations during backpropagation (which is able to achieve machine precision when using automatic differentiation).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-699b10c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"699b10c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75428d5\" data-id=\"75428d5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03ed68f elementor-widget elementor-widget-heading\" data-id=\"03ed68f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">How about compute-efficiency?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-008e5be elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"008e5be\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3bf90d5\" data-id=\"3bf90d5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6295c10 elementor-widget elementor-widget-text-editor\" data-id=\"6295c10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Models can also be tailored to make them more compute-efficient. Model architectures widely deployed on mobile devices such as\u00a0<strong>MobileNetV1<\/strong>\u00a0and\u00a0<strong>MobileNetV2<\/strong>\u00a0are good examples. These are essentially convolutional neural networks that have recast the convolution operation to make it more compute-efficient. This more efficient form of convolution is known as\u00a0<strong>depthwise separable convolution<\/strong>. Architectures can also be optimized for latency using\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1804.03230\" rel=\"noopener\"><strong>hardware-based profiling<\/strong><\/a>\u00a0and\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Neural_architecture_search\" rel=\"noopener\"><strong>neural architecture search<\/strong><\/a>, which are not covered in this article.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-85f01e6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"85f01e6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe8bf80\" data-id=\"fe8bf80\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ec58b48 elementor-widget elementor-widget-heading\" data-id=\"ec58b48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The Next AI Revolution<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-90dac8e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"90dac8e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-96f51c9\" data-id=\"96f51c9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1ed8ea2 elementor-widget elementor-widget-text-editor\" data-id=\"1ed8ea2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe ability to run machine learning models on resource-constrained devices opens up doors to many new possibilities. Developments may help to make standard machine learning more energy-efficient, which will help to quell concerns about the impact of data science on the environment. In addition, tinyML allows embedded devices to be endowed with new intelligence based on data-driven algorithms, which could be used for anything from\u00a0<a href=\"https:\/\/ieeexplore.ieee.org\/abstract\/document\/8941000\" class=\"broken_link\" rel=\"noopener\">preventative maintenance<\/a>\u00a0to\u00a0<a href=\"https:\/\/journals.plos.org\/plosone\/article?id=10.1371\/journal.pone.0211970\" rel=\"noopener\">detecting bird sounds in forests<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-239f4bd elementor-widget elementor-widget-text-editor\" data-id=\"239f4bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhile some machine learning practitioners will undoubtedly continue to grow the size of models, a new trend is growing towards more memory-, compute-, and energy-efficient machine learning algorithms. TinyML is still in its nascent stages, and there are very few experts on the topic. I recommend the interested reader to examine some of the papers in the references, which are some of the important papers in the field of tinyML. This space is growing quickly and will become a new and important application of artificial intelligence in industry within the coming years. Watch this space.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d108246 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d108246\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-557394d\" data-id=\"557394d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e3632d1 elementor-widget elementor-widget-heading\" data-id=\"e3632d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">References<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-3900dc4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3900dc4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b6c1ab1\" data-id=\"b6c1ab1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e0a6b7e elementor-widget elementor-widget-text-editor\" data-id=\"e0a6b7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[1] Hinton, Geoffrey &amp; Vinyals, Oriol &amp; Dean, Jeff. (2015).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1503.02531.pdf\" rel=\"noopener\">Distilling the Knowledge in a Neural Network<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6beb7e8 elementor-widget elementor-widget-text-editor\" data-id=\"6beb7e8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t2] D. Bankman, L. Yang, B. Moons, M. Verhelst and B. Murmann, \u201c<a href=\"https:\/\/ieeexplore.ieee.org\/document\/8310264\" class=\"broken_link\" rel=\"noopener\">An always-on 3.8\u03bcJ\/86% CIFAR-10 mixed-signal binary CNN processor with all memory on chip in 28nm CMOS<\/a>,\u201d\u00a0<em>2018 IEEE International Solid-State Circuits Conference \u2014 (ISSCC)<\/em>, San Francisco, CA, 2018, pp. 222\u2013224, doi: 10.1109\/ISSCC.2018.8310264.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ded88e elementor-widget elementor-widget-text-editor\" data-id=\"7ded88e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[3] Warden, P. (2018).\u00a0<a href=\"https:\/\/www.google.com\/url?q=https:\/\/petewarden.com\/2018\/06\/11\/why-the-future-of-machine-learning-is-tiny\/&amp;sa=D&amp;ust=1598909818796000&amp;usg=AFQjCNEuTSO5LXSHwfszrUh4PbRq58RDIA\" rel=\"noopener\">Why the Future of Machine Learning is Tiny<\/a>. Pete Warden\u2019s Blog.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d19a1fe elementor-widget elementor-widget-text-editor\" data-id=\"d19a1fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[4] Ward-Foxton, S. (2020).\u00a0<a href=\"https:\/\/www.eetimes.com\/ai-sound-recognition-on-a-cortex-m0-data-is-king\/\" class=\"broken_link\" rel=\"noopener\">AI Sound Recognition on a Cortex-M0: Data is King<\/a>. EE Times.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b4a8ba elementor-widget elementor-widget-text-editor\" data-id=\"2b4a8ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[5] Levy, M. (2020).\u00a0<a href=\"https:\/\/www.eetimes.com\/deep-learning-on-mcus-is-the-future-of-edge-computing\/\" class=\"broken_link\" rel=\"noopener\">Deep Learning on MCUs is the Future of Edge Computing<\/a>. EE Times.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e31de36 elementor-widget elementor-widget-text-editor\" data-id=\"e31de36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t6] Gruenstein, Alexander &amp; Alvarez, Raziel &amp; Thornton, Chris &amp; Ghodrat, Mohammadali. (2017).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1712.03603\" rel=\"noopener\">A Cascade Architecture for Keyword Spotting on Mobile Devices<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4503e61 elementor-widget elementor-widget-text-editor\" data-id=\"4503e61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[7] Kumar, A., Saurabh Goyal, and M. Varma. (2017).\u00a0<a href=\"https:\/\/microsoft.github.io\/EdgeML\/static\/docs\/publications\/Bonsai.pdf\" rel=\"noopener\">Resource-efficient Machine Learning in 2 KB RAM for the Internet of Things<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10da18b elementor-widget elementor-widget-text-editor\" data-id=\"10da18b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[8] Zhang, Yundong &amp; Suda, Naveen &amp; Lai, Liangzhen &amp; Chandra, Vikas. (2017).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1711.07128\" rel=\"noopener\">Hello Edge: Keyword Spotting on Microcontrollers<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f83406 elementor-widget elementor-widget-text-editor\" data-id=\"5f83406\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t9] Fedorov, Igor &amp; Stamenovic, Marko &amp; Jensen, Carl &amp; Yang, Li-Chia &amp; Mandell, Ari &amp; Gan, Yiming &amp; Mattina, Matthew &amp; Whatmough, Paul. (2020).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/2005.11138.pdf\" rel=\"noopener\">TinyLSTMs: Efficient Neural Speech Enhancement for Hearing Aids<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38fa326 elementor-widget elementor-widget-text-editor\" data-id=\"38fa326\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[10] Lin, Ji &amp; Chen, Wei-Ming &amp; Lin, Yujun &amp; Cohn, John &amp; Gan, Chuang &amp; Han, Song. (2020).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/2007.10319.pdf\" rel=\"noopener\">MCUNet: Tiny Deep Learning on IoT Devices<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f758bd6 elementor-widget elementor-widget-text-editor\" data-id=\"f758bd6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/arxiv.org\/pdf\/2007.10319.pdf\" rel=\"noopener\">[<\/a>11] Chen, Tianqi &amp; Moreau, Thierry. (2020).\u00a0<a href=\"https:\/\/www.usenix.org\/conference\/osdi18\/presentation\/chen\" rel=\"noopener\">TVM: An Automated End-to-End Optimizing Compiler for Deep Learning<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c29ca1a elementor-widget elementor-widget-text-editor\" data-id=\"c29ca1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t12] Weber, Logan, and Reusch, Andrew (2020).\u00a0<a href=\"https:\/\/tvm.apache.org\/2020\/06\/04\/tinyml-how-tvm-is-taming-tiny\" rel=\"noopener\">TinyML \u2014 How TVM is Taming Tiny<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-683d0dc elementor-widget elementor-widget-text-editor\" data-id=\"683d0dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/tvm.apache.org\/2020\/06\/04\/tinyml-how-tvm-is-taming-tiny\" rel=\"noopener\">[<\/a>13] Krishnamoorthi, Raghuraman. (2018).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1806.08342.pdf\" rel=\"noopener\">Quantizing deep convolutional networks for efficient inference: A whitepaper<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96bdfdc elementor-widget elementor-widget-text-editor\" data-id=\"96bdfdc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[14] Yosinski, Jason &amp; Clune, Jeff &amp; Bengio, Y. &amp; Lipson, Hod. (2014).\u00a0<a href=\"https:\/\/papers.nips.cc\/paper\/5347-how-transferable-are-features-in-deep-neural-networks.pdf\" rel=\"noopener\">How transferable are features in deep neural networks?<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-066eb80 elementor-widget elementor-widget-text-editor\" data-id=\"066eb80\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t15] Lai, Liangzhen &amp; Suda, Naveen &amp; Chandra, Vikas. (2018). C<a href=\"https:\/\/arxiv.org\/pdf\/1801.06601.pdf\" rel=\"noopener\">MSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0cfeed elementor-widget elementor-widget-text-editor\" data-id=\"f0cfeed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t16] Chowdhery, Aakanksha &amp; Warden, Pete &amp; Shlens, Jonathon &amp; Howard, Andrew &amp; Rhodes, Rocky. (2019).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1906.05721.pdf\" rel=\"noopener\">Visual Wake Words Dataset<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cab9cfd elementor-widget elementor-widget-text-editor\" data-id=\"cab9cfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[17] Warden, Pete. (2018).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1804.03209\" rel=\"noopener\">Speech Commands: A Dataset for Limited-Vocabulary Speech Recognition<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-262f31c elementor-widget elementor-widget-text-editor\" data-id=\"262f31c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[18] Zemlyanikin, Maxim &amp; Smorkalov, Alexander &amp; Khanova, Tatiana &amp; Petrovicheva, Anna &amp; Serebryakov, Grigory. (2019).\u00a0<a href=\"https:\/\/openaccess.thecvf.com\/content_ICCVW_2019\/papers\/LPCV\/Zemlyanikin_512KiB_RAM_Is_Enough_Live_Camera_Face_Recognition_DNN_on_ICCVW_2019_paper.pdf\" rel=\"noopener\">512KiB RAM Is Enough! Live Camera Face Recognition DNN on MCU<\/a>. 2493\u20132500. 10.1109\/ICCVW.2019.00305.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<\/p>\n<p id=\"e8dc\">That being said, neural networks have been trained using 16-bit and 8-bit floating-point numbers.<\/p>\n<p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-20c6fd9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"20c6fd9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2118834\" data-id=\"2118834\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7e5b460 elementor-widget elementor-widget-text-editor\" data-id=\"7e5b460\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\nThe first paper looking at reducing numerical precision in deep learning was the 2015 paper\u00a0<em>\u201c<\/em><a href=\"https:\/\/arxiv.org\/abs\/1502.02551\" rel=\"noopener\"><em>Deep Learning with Limited Numerical Precision<\/em><\/a><em>\u201d<\/em>\u00a0by Suyog Gupta and colleagues. The results of this paper were interesting, showing that the 32-bit floating-point representation could be reduced to a 16-bit fixed-point representation with essentially no degradation in accuracy. However, this is the only case when\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Rounding#Stochastic_rounding\" rel=\"noopener\"><strong>stochastic rounding<\/strong><\/a>is used because, on average, it produces an unbiased result.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d8e7fe elementor-widget elementor-widget-text-editor\" data-id=\"9d8e7fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\nIn 2018, Naigang Wang and colleagues trained a neural network using 8-bit floating point numbers in their paper\u00a0<em>\u201c<\/em><a href=\"https:\/\/arxiv.org\/abs\/1812.08011\" rel=\"noopener\"><em>Training Deep Neural Networks with 8-bit Floating Point Numbers<\/em><\/a><em>\u201d.\u00a0<\/em>Training a neural network using 8-bit numbers rather than inference is significantly more challenging to achieve because of a need to maintain fidelity of gradient computations during backpropagation (which is able to achieve machine precision when using automatic differentiation).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-699b10c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"699b10c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75428d5\" data-id=\"75428d5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03ed68f elementor-widget elementor-widget-heading\" data-id=\"03ed68f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">How about compute-efficiency?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-008e5be elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"008e5be\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3bf90d5\" data-id=\"3bf90d5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6295c10 elementor-widget elementor-widget-text-editor\" data-id=\"6295c10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Models can also be tailored to make them more compute-efficient. Model architectures widely deployed on mobile devices such as\u00a0<strong>MobileNetV1<\/strong>\u00a0and\u00a0<strong>MobileNetV2<\/strong>\u00a0are good examples. These are essentially convolutional neural networks that have recast the convolution operation to make it more compute-efficient. This more efficient form of convolution is known as\u00a0<strong>depthwise separable convolution<\/strong>. Architectures can also be optimized for latency using\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1804.03230\" rel=\"noopener\"><strong>hardware-based profiling<\/strong><\/a>\u00a0and\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Neural_architecture_search\" rel=\"noopener\"><strong>neural architecture search<\/strong><\/a>, which are not covered in this article.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-85f01e6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"85f01e6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe8bf80\" data-id=\"fe8bf80\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ec58b48 elementor-widget elementor-widget-heading\" data-id=\"ec58b48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The Next AI Revolution<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-90dac8e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"90dac8e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-96f51c9\" data-id=\"96f51c9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1ed8ea2 elementor-widget elementor-widget-text-editor\" data-id=\"1ed8ea2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe ability to run machine learning models on resource-constrained devices opens up doors to many new possibilities. Developments may help to make standard machine learning more energy-efficient, which will help to quell concerns about the impact of data science on the environment. In addition, tinyML allows embedded devices to be endowed with new intelligence based on data-driven algorithms, which could be used for anything from\u00a0<a href=\"https:\/\/ieeexplore.ieee.org\/abstract\/document\/8941000\" class=\"broken_link\" rel=\"noopener\">preventative maintenance<\/a>\u00a0to\u00a0<a href=\"https:\/\/journals.plos.org\/plosone\/article?id=10.1371\/journal.pone.0211970\" rel=\"noopener\">detecting bird sounds in forests<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-239f4bd elementor-widget elementor-widget-text-editor\" data-id=\"239f4bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhile some machine learning practitioners will undoubtedly continue to grow the size of models, a new trend is growing towards more memory-, compute-, and energy-efficient machine learning algorithms. TinyML is still in its nascent stages, and there are very few experts on the topic. I recommend the interested reader to examine some of the papers in the references, which are some of the important papers in the field of tinyML. This space is growing quickly and will become a new and important application of artificial intelligence in industry within the coming years. Watch this space.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d108246 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d108246\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-557394d\" data-id=\"557394d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e3632d1 elementor-widget elementor-widget-heading\" data-id=\"e3632d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">References<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-3900dc4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3900dc4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b6c1ab1\" data-id=\"b6c1ab1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e0a6b7e elementor-widget elementor-widget-text-editor\" data-id=\"e0a6b7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[1] Hinton, Geoffrey &amp; Vinyals, Oriol &amp; Dean, Jeff. (2015).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1503.02531.pdf\" rel=\"noopener\">Distilling the Knowledge in a Neural Network<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6beb7e8 elementor-widget elementor-widget-text-editor\" data-id=\"6beb7e8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t2] D. Bankman, L. Yang, B. Moons, M. Verhelst and B. Murmann, \u201c<a href=\"https:\/\/ieeexplore.ieee.org\/document\/8310264\" class=\"broken_link\" rel=\"noopener\">An always-on 3.8\u03bcJ\/86% CIFAR-10 mixed-signal binary CNN processor with all memory on chip in 28nm CMOS<\/a>,\u201d\u00a0<em>2018 IEEE International Solid-State Circuits Conference \u2014 (ISSCC)<\/em>, San Francisco, CA, 2018, pp. 222\u2013224, doi: 10.1109\/ISSCC.2018.8310264.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ded88e elementor-widget elementor-widget-text-editor\" data-id=\"7ded88e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[3] Warden, P. (2018).\u00a0<a href=\"https:\/\/www.google.com\/url?q=https:\/\/petewarden.com\/2018\/06\/11\/why-the-future-of-machine-learning-is-tiny\/&amp;sa=D&amp;ust=1598909818796000&amp;usg=AFQjCNEuTSO5LXSHwfszrUh4PbRq58RDIA\" rel=\"noopener\">Why the Future of Machine Learning is Tiny<\/a>. Pete Warden\u2019s Blog.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d19a1fe elementor-widget elementor-widget-text-editor\" data-id=\"d19a1fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[4] Ward-Foxton, S. (2020).\u00a0<a href=\"https:\/\/www.eetimes.com\/ai-sound-recognition-on-a-cortex-m0-data-is-king\/\" class=\"broken_link\" rel=\"noopener\">AI Sound Recognition on a Cortex-M0: Data is King<\/a>. EE Times.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b4a8ba elementor-widget elementor-widget-text-editor\" data-id=\"2b4a8ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[5] Levy, M. (2020).\u00a0<a href=\"https:\/\/www.eetimes.com\/deep-learning-on-mcus-is-the-future-of-edge-computing\/\" class=\"broken_link\" rel=\"noopener\">Deep Learning on MCUs is the Future of Edge Computing<\/a>. EE Times.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e31de36 elementor-widget elementor-widget-text-editor\" data-id=\"e31de36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t6] Gruenstein, Alexander &amp; Alvarez, Raziel &amp; Thornton, Chris &amp; Ghodrat, Mohammadali. (2017).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1712.03603\" rel=\"noopener\">A Cascade Architecture for Keyword Spotting on Mobile Devices<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4503e61 elementor-widget elementor-widget-text-editor\" data-id=\"4503e61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[7] Kumar, A., Saurabh Goyal, and M. Varma. (2017).\u00a0<a href=\"https:\/\/microsoft.github.io\/EdgeML\/static\/docs\/publications\/Bonsai.pdf\" rel=\"noopener\">Resource-efficient Machine Learning in 2 KB RAM for the Internet of Things<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10da18b elementor-widget elementor-widget-text-editor\" data-id=\"10da18b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[8] Zhang, Yundong &amp; Suda, Naveen &amp; Lai, Liangzhen &amp; Chandra, Vikas. (2017).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1711.07128\" rel=\"noopener\">Hello Edge: Keyword Spotting on Microcontrollers<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f83406 elementor-widget elementor-widget-text-editor\" data-id=\"5f83406\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t9] Fedorov, Igor &amp; Stamenovic, Marko &amp; Jensen, Carl &amp; Yang, Li-Chia &amp; Mandell, Ari &amp; Gan, Yiming &amp; Mattina, Matthew &amp; Whatmough, Paul. (2020).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/2005.11138.pdf\" rel=\"noopener\">TinyLSTMs: Efficient Neural Speech Enhancement for Hearing Aids<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38fa326 elementor-widget elementor-widget-text-editor\" data-id=\"38fa326\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[10] Lin, Ji &amp; Chen, Wei-Ming &amp; Lin, Yujun &amp; Cohn, John &amp; Gan, Chuang &amp; Han, Song. (2020).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/2007.10319.pdf\" rel=\"noopener\">MCUNet: Tiny Deep Learning on IoT Devices<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f758bd6 elementor-widget elementor-widget-text-editor\" data-id=\"f758bd6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/arxiv.org\/pdf\/2007.10319.pdf\" rel=\"noopener\">[<\/a>11] Chen, Tianqi &amp; Moreau, Thierry. (2020).\u00a0<a href=\"https:\/\/www.usenix.org\/conference\/osdi18\/presentation\/chen\" rel=\"noopener\">TVM: An Automated End-to-End Optimizing Compiler for Deep Learning<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c29ca1a elementor-widget elementor-widget-text-editor\" data-id=\"c29ca1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t12] Weber, Logan, and Reusch, Andrew (2020).\u00a0<a href=\"https:\/\/tvm.apache.org\/2020\/06\/04\/tinyml-how-tvm-is-taming-tiny\" rel=\"noopener\">TinyML \u2014 How TVM is Taming Tiny<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-683d0dc elementor-widget elementor-widget-text-editor\" data-id=\"683d0dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/tvm.apache.org\/2020\/06\/04\/tinyml-how-tvm-is-taming-tiny\" rel=\"noopener\">[<\/a>13] Krishnamoorthi, Raghuraman. (2018).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1806.08342.pdf\" rel=\"noopener\">Quantizing deep convolutional networks for efficient inference: A whitepaper<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96bdfdc elementor-widget elementor-widget-text-editor\" data-id=\"96bdfdc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[14] Yosinski, Jason &amp; Clune, Jeff &amp; Bengio, Y. &amp; Lipson, Hod. (2014).\u00a0<a href=\"https:\/\/papers.nips.cc\/paper\/5347-how-transferable-are-features-in-deep-neural-networks.pdf\" rel=\"noopener\">How transferable are features in deep neural networks?<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-066eb80 elementor-widget elementor-widget-text-editor\" data-id=\"066eb80\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t15] Lai, Liangzhen &amp; Suda, Naveen &amp; Chandra, Vikas. (2018). C<a href=\"https:\/\/arxiv.org\/pdf\/1801.06601.pdf\" rel=\"noopener\">MSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0cfeed elementor-widget elementor-widget-text-editor\" data-id=\"f0cfeed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t16] Chowdhery, Aakanksha &amp; Warden, Pete &amp; Shlens, Jonathon &amp; Howard, Andrew &amp; Rhodes, Rocky. (2019).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1906.05721.pdf\" rel=\"noopener\">Visual Wake Words Dataset<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cab9cfd elementor-widget elementor-widget-text-editor\" data-id=\"cab9cfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[17] Warden, Pete. (2018).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1804.03209\" rel=\"noopener\">Speech Commands: A Dataset for Limited-Vocabulary Speech Recognition<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-262f31c elementor-widget elementor-widget-text-editor\" data-id=\"262f31c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[18] Zemlyanikin, Maxim &amp; Smorkalov, Alexander &amp; Khanova, Tatiana &amp; Petrovicheva, Anna &amp; Serebryakov, Grigory. (2019).\u00a0<a href=\"https:\/\/openaccess.thecvf.com\/content_ICCVW_2019\/papers\/LPCV\/Zemlyanikin_512KiB_RAM_Is_Enough_Live_Camera_Face_Recognition_DNN_on_ICCVW_2019_paper.pdf\" rel=\"noopener\">512KiB RAM Is Enough! Live Camera Face Recognition DNN on MCU<\/a>. 2493\u20132500. 10.1109\/ICCVW.2019.00305.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<\/p>\n<p><\/p>\n<p id=\"e8dc\">That being said, neural networks have been trained using 16-bit and 8-bit floating-point numbers.<\/p>\n<p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-20c6fd9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"20c6fd9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2118834\" data-id=\"2118834\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7e5b460 elementor-widget elementor-widget-text-editor\" data-id=\"7e5b460\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\nThe first paper looking at reducing numerical precision in deep learning was the 2015 paper\u00a0<em>\u201c<\/em><a href=\"https:\/\/arxiv.org\/abs\/1502.02551\" rel=\"noopener\"><em>Deep Learning with Limited Numerical Precision<\/em><\/a><em>\u201d<\/em>\u00a0by Suyog Gupta and colleagues. The results of this paper were interesting, showing that the 32-bit floating-point representation could be reduced to a 16-bit fixed-point representation with essentially no degradation in accuracy. However, this is the only case when\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Rounding#Stochastic_rounding\" rel=\"noopener\"><strong>stochastic rounding<\/strong><\/a>is used because, on average, it produces an unbiased result.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d8e7fe elementor-widget elementor-widget-text-editor\" data-id=\"9d8e7fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- wp:paragraph -->\nIn 2018, Naigang Wang and colleagues trained a neural network using 8-bit floating point numbers in their paper\u00a0<em>\u201c<\/em><a href=\"https:\/\/arxiv.org\/abs\/1812.08011\" rel=\"noopener\"><em>Training Deep Neural Networks with 8-bit Floating Point Numbers<\/em><\/a><em>\u201d.\u00a0<\/em>Training a neural network using 8-bit numbers rather than inference is significantly more challenging to achieve because of a need to maintain fidelity of gradient computations during backpropagation (which is able to achieve machine precision when using automatic differentiation).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-699b10c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"699b10c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75428d5\" data-id=\"75428d5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03ed68f elementor-widget elementor-widget-heading\" data-id=\"03ed68f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">How about compute-efficiency?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-008e5be elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"008e5be\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3bf90d5\" data-id=\"3bf90d5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6295c10 elementor-widget elementor-widget-text-editor\" data-id=\"6295c10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Models can also be tailored to make them more compute-efficient. Model architectures widely deployed on mobile devices such as\u00a0<strong>MobileNetV1<\/strong>\u00a0and\u00a0<strong>MobileNetV2<\/strong>\u00a0are good examples. These are essentially convolutional neural networks that have recast the convolution operation to make it more compute-efficient. This more efficient form of convolution is known as\u00a0<strong>depthwise separable convolution<\/strong>. Architectures can also be optimized for latency using\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1804.03230\" rel=\"noopener\"><strong>hardware-based profiling<\/strong><\/a>\u00a0and\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Neural_architecture_search\" rel=\"noopener\"><strong>neural architecture search<\/strong><\/a>, which are not covered in this article.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-85f01e6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"85f01e6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe8bf80\" data-id=\"fe8bf80\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ec58b48 elementor-widget elementor-widget-heading\" data-id=\"ec58b48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The Next AI Revolution<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-90dac8e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"90dac8e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-96f51c9\" data-id=\"96f51c9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1ed8ea2 elementor-widget elementor-widget-text-editor\" data-id=\"1ed8ea2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe ability to run machine learning models on resource-constrained devices opens up doors to many new possibilities. Developments may help to make standard machine learning more energy-efficient, which will help to quell concerns about the impact of data science on the environment. In addition, tinyML allows embedded devices to be endowed with new intelligence based on data-driven algorithms, which could be used for anything from\u00a0<a href=\"https:\/\/ieeexplore.ieee.org\/abstract\/document\/8941000\" class=\"broken_link\" rel=\"noopener\">preventative maintenance<\/a>\u00a0to\u00a0<a href=\"https:\/\/journals.plos.org\/plosone\/article?id=10.1371\/journal.pone.0211970\" rel=\"noopener\">detecting bird sounds in forests<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-239f4bd elementor-widget elementor-widget-text-editor\" data-id=\"239f4bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhile some machine learning practitioners will undoubtedly continue to grow the size of models, a new trend is growing towards more memory-, compute-, and energy-efficient machine learning algorithms. TinyML is still in its nascent stages, and there are very few experts on the topic. I recommend the interested reader to examine some of the papers in the references, which are some of the important papers in the field of tinyML. This space is growing quickly and will become a new and important application of artificial intelligence in industry within the coming years. Watch this space.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d108246 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d108246\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-557394d\" data-id=\"557394d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e3632d1 elementor-widget elementor-widget-heading\" data-id=\"e3632d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">References<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-3900dc4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3900dc4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b6c1ab1\" data-id=\"b6c1ab1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e0a6b7e elementor-widget elementor-widget-text-editor\" data-id=\"e0a6b7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[1] Hinton, Geoffrey &amp; Vinyals, Oriol &amp; Dean, Jeff. (2015).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1503.02531.pdf\" rel=\"noopener\">Distilling the Knowledge in a Neural Network<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6beb7e8 elementor-widget elementor-widget-text-editor\" data-id=\"6beb7e8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t2] D. Bankman, L. Yang, B. Moons, M. Verhelst and B. Murmann, \u201c<a href=\"https:\/\/ieeexplore.ieee.org\/document\/8310264\" class=\"broken_link\" rel=\"noopener\">An always-on 3.8\u03bcJ\/86% CIFAR-10 mixed-signal binary CNN processor with all memory on chip in 28nm CMOS<\/a>,\u201d\u00a0<em>2018 IEEE International Solid-State Circuits Conference \u2014 (ISSCC)<\/em>, San Francisco, CA, 2018, pp. 222\u2013224, doi: 10.1109\/ISSCC.2018.8310264.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ded88e elementor-widget elementor-widget-text-editor\" data-id=\"7ded88e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[3] Warden, P. (2018).\u00a0<a href=\"https:\/\/www.google.com\/url?q=https:\/\/petewarden.com\/2018\/06\/11\/why-the-future-of-machine-learning-is-tiny\/&amp;sa=D&amp;ust=1598909818796000&amp;usg=AFQjCNEuTSO5LXSHwfszrUh4PbRq58RDIA\" rel=\"noopener\">Why the Future of Machine Learning is Tiny<\/a>. Pete Warden\u2019s Blog.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d19a1fe elementor-widget elementor-widget-text-editor\" data-id=\"d19a1fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[4] Ward-Foxton, S. (2020).\u00a0<a href=\"https:\/\/www.eetimes.com\/ai-sound-recognition-on-a-cortex-m0-data-is-king\/\" class=\"broken_link\" rel=\"noopener\">AI Sound Recognition on a Cortex-M0: Data is King<\/a>. EE Times.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b4a8ba elementor-widget elementor-widget-text-editor\" data-id=\"2b4a8ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[5] Levy, M. (2020).\u00a0<a href=\"https:\/\/www.eetimes.com\/deep-learning-on-mcus-is-the-future-of-edge-computing\/\" class=\"broken_link\" rel=\"noopener\">Deep Learning on MCUs is the Future of Edge Computing<\/a>. EE Times.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e31de36 elementor-widget elementor-widget-text-editor\" data-id=\"e31de36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t6] Gruenstein, Alexander &amp; Alvarez, Raziel &amp; Thornton, Chris &amp; Ghodrat, Mohammadali. (2017).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1712.03603\" rel=\"noopener\">A Cascade Architecture for Keyword Spotting on Mobile Devices<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4503e61 elementor-widget elementor-widget-text-editor\" data-id=\"4503e61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[7] Kumar, A., Saurabh Goyal, and M. Varma. (2017).\u00a0<a href=\"https:\/\/microsoft.github.io\/EdgeML\/static\/docs\/publications\/Bonsai.pdf\" rel=\"noopener\">Resource-efficient Machine Learning in 2 KB RAM for the Internet of Things<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10da18b elementor-widget elementor-widget-text-editor\" data-id=\"10da18b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[8] Zhang, Yundong &amp; Suda, Naveen &amp; Lai, Liangzhen &amp; Chandra, Vikas. (2017).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1711.07128\" rel=\"noopener\">Hello Edge: Keyword Spotting on Microcontrollers<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f83406 elementor-widget elementor-widget-text-editor\" data-id=\"5f83406\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t9] Fedorov, Igor &amp; Stamenovic, Marko &amp; Jensen, Carl &amp; Yang, Li-Chia &amp; Mandell, Ari &amp; Gan, Yiming &amp; Mattina, Matthew &amp; Whatmough, Paul. (2020).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/2005.11138.pdf\" rel=\"noopener\">TinyLSTMs: Efficient Neural Speech Enhancement for Hearing Aids<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38fa326 elementor-widget elementor-widget-text-editor\" data-id=\"38fa326\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[10] Lin, Ji &amp; Chen, Wei-Ming &amp; Lin, Yujun &amp; Cohn, John &amp; Gan, Chuang &amp; Han, Song. (2020).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/2007.10319.pdf\" rel=\"noopener\">MCUNet: Tiny Deep Learning on IoT Devices<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f758bd6 elementor-widget elementor-widget-text-editor\" data-id=\"f758bd6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/arxiv.org\/pdf\/2007.10319.pdf\" rel=\"noopener\">[<\/a>11] Chen, Tianqi &amp; Moreau, Thierry. (2020).\u00a0<a href=\"https:\/\/www.usenix.org\/conference\/osdi18\/presentation\/chen\" rel=\"noopener\">TVM: An Automated End-to-End Optimizing Compiler for Deep Learning<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c29ca1a elementor-widget elementor-widget-text-editor\" data-id=\"c29ca1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t12] Weber, Logan, and Reusch, Andrew (2020).\u00a0<a href=\"https:\/\/tvm.apache.org\/2020\/06\/04\/tinyml-how-tvm-is-taming-tiny\" rel=\"noopener\">TinyML \u2014 How TVM is Taming Tiny<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-683d0dc elementor-widget elementor-widget-text-editor\" data-id=\"683d0dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/tvm.apache.org\/2020\/06\/04\/tinyml-how-tvm-is-taming-tiny\" rel=\"noopener\">[<\/a>13] Krishnamoorthi, Raghuraman. (2018).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1806.08342.pdf\" rel=\"noopener\">Quantizing deep convolutional networks for efficient inference: A whitepaper<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96bdfdc elementor-widget elementor-widget-text-editor\" data-id=\"96bdfdc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[14] Yosinski, Jason &amp; Clune, Jeff &amp; Bengio, Y. &amp; Lipson, Hod. (2014).\u00a0<a href=\"https:\/\/papers.nips.cc\/paper\/5347-how-transferable-are-features-in-deep-neural-networks.pdf\" rel=\"noopener\">How transferable are features in deep neural networks?<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-066eb80 elementor-widget elementor-widget-text-editor\" data-id=\"066eb80\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t15] Lai, Liangzhen &amp; Suda, Naveen &amp; Chandra, Vikas. (2018). C<a href=\"https:\/\/arxiv.org\/pdf\/1801.06601.pdf\" rel=\"noopener\">MSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0cfeed elementor-widget elementor-widget-text-editor\" data-id=\"f0cfeed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t16] Chowdhery, Aakanksha &amp; Warden, Pete &amp; Shlens, Jonathon &amp; Howard, Andrew &amp; Rhodes, Rocky. (2019).\u00a0<a href=\"https:\/\/arxiv.org\/pdf\/1906.05721.pdf\" rel=\"noopener\">Visual Wake Words Dataset<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cab9cfd elementor-widget elementor-widget-text-editor\" data-id=\"cab9cfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[17] Warden, Pete. (2018).\u00a0<a href=\"https:\/\/arxiv.org\/abs\/1804.03209\" rel=\"noopener\">Speech Commands: A Dataset for Limited-Vocabulary Speech Recognition<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-262f31c elementor-widget elementor-widget-text-editor\" data-id=\"262f31c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t[18] Zemlyanikin, Maxim &amp; Smorkalov, Alexander &amp; Khanova, Tatiana &amp; Petrovicheva, Anna &amp; Serebryakov, Grigory. (2019).\u00a0<a href=\"https:\/\/openaccess.thecvf.com\/content_ICCVW_2019\/papers\/LPCV\/Zemlyanikin_512KiB_RAM_Is_Enough_Live_Camera_Face_Recognition_DNN_on_ICCVW_2019_paper.pdf\" rel=\"noopener\">512KiB RAM Is Enough! Live Camera Face Recognition DNN on MCU<\/a>. 2493\u20132500. 10.1109\/ICCVW.2019.00305.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Tiny machine learning (tinyML) is the intersection of machine learning and embedded internet of things (IoT) devices. The field is an emerging engineering discipline that has the potential to revolutionize many industries.<\/p>\n","protected":false},"author":682,"featured_media":10468,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[183],"tags":[798,796,797],"ppma_author":[3471],"class_list":["post-10461","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-ml","tag-embedded-iot-devices","tag-tiny-machine-learning","tag-tinyml"],"authors":[{"term_id":3471,"user_id":682,"is_guest":0,"slug":"matthew-stewart","display_name":"Matthew Stewart","avatar_url":"https:\/\/www.experfy.com\/blog\/wp-content\/uploads\/2020\/04\/medium_c57055f3-5301-4262-af65-4cc7d40cbf3d-150x150.jpg","user_url":"https:\/\/criticalfutureglobal.com\/","last_name":"Stewart","first_name":"Matthew","job_title":"","description":"Matthew Stewart is a Machine Learning consultant on AI for\u00a0<a href=\"https:\/\/www.criticalfutureglobal.com\/\" target=\"_blank\" rel=\"noopener\">Critical Future<\/a>, and machine learning engineer at Scalable Magic, an AI-based digital media startup. He is also a Graduate Teaching Assistant and a Ph.D. Candidate at Harvard University."}],"_links":{"self":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/10461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/users\/682"}],"replies":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/comments?post=10461"}],"version-history":[{"count":5,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/10461\/revisions"}],"predecessor-version":[{"id":33598,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/10461\/revisions\/33598"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media\/10468"}],"wp:attachment":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media?parent=10461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/categories?post=10461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/tags?post=10461"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=10461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}