「tinyML」就字面上意思就是微小的机器学习(Tiny Machine Learning, tinyML),但它又和人工智慧(Artificial Intelligence, AI)及微控制器单元(Micro-Controller Unit, MCU)(又称单晶片)有什麽关连呢?
首先说明几个常见的名词定义及主要差异。
Fig. 2-1 人工智慧、机器学习、深度学习 (OmniXRI整理绘制,2018/5/24)
通常来说「机器学习」能处理的特徵数量及数学模型通常不会太复杂,因此所需的计算量也不会太大。但「深度学习」就反其道而行,越复杂的模型及越巨量的参数就能令推论准确率得到更好的提升,因此需要极高性能的运算设备来辅助训练和推论的计算。所以如果要将AI应用放到运算能力很低、记忆体很少的MCU上时,就只选择较微型的AI应用(如智慧感测器等)或者较小型的机器学习算法甚至超微型的深度学习模型来推论,因此「tinyML」需求因运而生。
基於上述AI微型化理念,许多CPU, GPU, MCU, AI加速计算晶片大厂、AI开发工具及应用厂商纷纷响应,於2019年成立微型机器学习基金会(tinyML Foundation) ,每年定期会举办高峰会,让厂商、学界、社群都能共襄盛举。2021高峰会有近六十个赞助商,其中台湾也有四家,分别是奇景光电(Himax)、装智(On-Device AI)、原相(PixArt)及威盛(VIA)。
Fig. 2-2 tinyML基金会2021赞助商清单 (OmniXRI整理绘制,2021/8/14)
根据该基金会对tinyML的定义:「**微型机器学习(tinyML)**为一个快速发展的机器学习技术和应用领域,包括硬体、算法和应用软件。其能够以极低功耗执行设备上的感测器(Sensor)的数据分析,通常在mW(毫瓦特)以下范围,进而实现各种永远上线(或称常时启动)(Always On)的应用例及使用电池供电的设备。」这里的ML虽然指的是「机器学习」,不过亦可延伸解释到「深度学习」甚至「人工智慧」、「边缘智能」等名词。从上述定义可得知tinyML 几乎是锁定MCU及低阶CPU所推动的Edge AI。
目前tinyML基金会并没有明确的定义那些项目才算是其范围,也没有制定特定的开发框架及函式库(如机器人作业系统ROS),而是开放给硬体及开发平台供应商自行解释及彼此合作。目前较常见的应用,包括振动侦测、手势(运动感测器)侦测、感测器融合、关键字侦测(声音段分类)、(时序讯号)异常侦测、影像分类、(影像)物件侦测 等应用,而所需算力也依序递增。一般来说,以Arm Cortex-M系列为例,智慧感测器(如声音、振动、温湿度等)大约Arm Cortex-M0+, M3左右就能满足,而智慧影像感测器(小尺寸影像)要完成影像分类及物件侦测工作,则需要Cortex-M4, M7甚至要到Cortex-A, R系列。
Fig. 2-3 Arm MCU等级晶片智慧运算能力与适用情境 (OmniXRI整理绘制,2021/8/14)
参考连结:
tinyML基金会 https://www.tinyml.org/
<<: Day 02: JavaScript 与 物件导向程序设计
如果有错误,欢迎留言指教~ Q_Q useReducer 看起来跟 Redux 的 reducer...
今天这篇是延续上篇的动态元件~在动态元件切换的过程中,每当我们切换一个新的元件,旧元件的资料就会消失...
使用 Learner Lab 建立 WordPress 网站 (EC2) AWS Academy L...
今天就来谈谈字串吧。 相信以下这段程序是大家学Java第一天就会写的: class HelloWor...
物件导向概述 物件导向程序设计(Object Oriented Programming)简称OOP,...