图片来源:Laurent T/Shutterstock.com
在技术发展的历史上,技术先独立发展再相互融合以改变世界的例子比比皆是。原子能和喷气式发动机的融合催生了核航空母舰,改变了20世纪大部分战争的形态。计算机和射频通信的融合产生了智能手机,同时也重新定义了我们与技术以及彼此之间的互动方式。今天,嵌入式电子和人工智能 (AI) 的融合正日益成为下一个具有颠覆性的技术组合。接下来我们就看一下这种融合的发展演变。
人工智能的概念最早出现在古希腊人的著作中,但直到20世纪上半叶,才开始将其作为一种实际技术进行开发。从根本上来说,AI使数字技术像人脑一样,能够与模拟世界有效互动、响应沟通。为了使AI在现实世界的应用具有实用性,比如自动驾驶车辆,在处理多个动态输入时,电子设备和物理世界之间的交互必须接近瞬时完成。值得庆幸的是,随着机器学习算法的发展,嵌入式电子系统也在不断进步。他们的联姻催生了边缘计算的概念。
边缘计算获得了过去只有云端强大的处理硬件才能实现的处理能力,并将这种能力带给了位于物理-数字接口边缘的本地设备。再加上微控制器和传感器等廉价而稳健的嵌入式组件的普及,给自动化领域,无论是规模上还是功能上都带来了一场革命。
TensorFlow是Google主导开发的一套开源软件库,使开发人员能够轻松地将复杂的数值计算算法和机器学习(ML)集成到他们的项目中(图1)。按照Google的说法,这些库为Python(所有平台上的Python 3.7+)和C提供稳定的应用程序编程接口,另外还提供没有向后兼容保证的C++、Go、Java 和JavaScript API。此外,还针对Apple公司的Swift语言提供了一个alpha版本。
图1:Google的TensorFlow Lite for Microcontrollers网站。(资料来源:Google)
TensorFlow为深度神经网络 (DNN) 的开发和利用提供了所谓的端到端机器学习支持。 DNN是ML的一种实现,它特别擅长模式识别以及对象检测与分类。TensorFlow库支持机器学习过程的两个阶段,即训练和推理。首先是深层神经网络的训练,这需要大量算力,通常由服务器级硬件和图形处理单元 (GPU) 提供。最近开发了被称为张量处理单元 (TPU) 的专用集成电路来支持这种训练。第二阶段是推理,即利用现实世界中经过训练的DNN来响应新的输入,按照培训好的模型分析这些输入,并根据分析结果提出建议。这应该是嵌入式产品开发人员比较感兴趣的阶段。
TensorFlow Lite for Microcontrollers(TensorFlow库的一个子集)专门用于在内存受限的设备上执行推理,大多数嵌入式系统应用中都存在这种设备。它不允许您训练新网络,这仍然需要较高端的硬件。
人工智能、神经网络和机器学习等术语可以看成是科幻小说或行话。那么这些新兴技术的现实意义何在?
运行在嵌入式系统上的AI算法的目标,是以比传统程序或面向对象的编程方法更高效的方式处理传感器收集的真实世界数据。也许在大家的意识中,最明显的使用案例是从传统汽车到具有自动辅助功能(如车道偏离警报和防撞系统)的汽车,再到无人驾驶汽车这个最终目标的发展历程。不过,深度学习还有其他一些不那么明显的用例,虽然你不知道,但已经在使用了。智能手机中的语音识别或Amazon Alexa等虚拟助手均使用了深度学习算法。其他用例包括用于安防领域的面部检测和/或背景替换、sans绿幕、远程会议软件(如Zoom)等。
同时使用机器学习算法和互联网连接的设备(如物联网设备)的一个巨大优势是,随着时间的推移,产品可以通过简单的无线固件更新来集成新的或经过更好训练的模型。这意味着产品可以逐渐变得更加智能,并且不局限于制造时可能实现的功能,只要新型号和固件不超出硬件的物理内存和处理能力即可。
图2:将TensorFlow模型转换为可在微控制器等内存受限设备上使用的版本。(资料来源:NXP)
根据TensorFlow Lite for Microcontrollers的附带文档,开发人员的工作流程可以分为五个关键步骤(图2), 具体如下:
在选择与TensorFlow Lite库一起使用的兼容嵌入式平台时,开发人员应注意以下几点:
Google提供四个事先训练好的模型作为示例,可用于在嵌入式平台上运行。只需稍做修改,就能在各种开发板上使用。这些示例包括:
在接下来的几个月里,将会提供一系列操作指南,教您如何让这些模型在各种不同的微控制器平台上工作,平台包括:
专业工程师Michael Parks是贸泽电子的特约作者,同时也是Green Shoe Garage的所有者。Green Shoe Garage是一个提供定制电子设计的工作室和技术咨询机构,位于马里兰州南部。Michael Parks创办了《S.T.E.A.M. Power Podcast》播客来提升公众对科技的认知,他拥有马里兰州专业工程师资质并拥有约翰·霍普金斯大学的系统工程硕士学位。