嵌入式系统的机器学习在过去几年中获得了很大的发展。对于嵌入式开发人员来说,机器学习是数据科学家关心的事情,并且是在云中生存的事情,与嵌入式开发人员每天使用的资源受限的微控制器相去甚远。
然而,似乎几乎在一夜之间,机器学习突然找到了进入微控制器和边缘设备的方式。对于一些开发人员来说,这可能看起来令人费解或至少很有趣。但为什么机器学习现在对嵌入式开发人员如此重要?让我们探索几种可能性。
首先,机器学习可以帮助嵌入式设备解决传统上开发人员很难编写代码的问题。例如,假设我们想要编写一些代码,可以获取只有 28 x 28 像素的图像,并检测在 0 到 9 范围内写入的数字。对于手动编写解决方案的开发人员来说,这是一个非常复杂的问题要解决,因为写一个数字永远不会产生相同的图像。手写者可以从不同的地方开始,在一个角度上写数字,或任何其他数量的变化。然而,机器学习将这个棘手的编码问题变成了一个微不足道的问题,其解决方案可以用几百行或更少的代码编写,具体取决于所使用的编程语言。
接下来,机器学习可以帮助嵌入式开发人员实现一个嵌入式系统,该系统执行的任务对于人类来说很容易,但对于计算机来说传统上是困难且昂贵的。例如,物体检测和识别对人类来说很容易,语音识别也很容易,但对计算机来说又很难。使用机器学习,我们可以创建像我们都熟悉的数字助理这样的系统,以识别关键字以唤醒系统或检测装配线上或漫游者或无人机路径中感兴趣的对象。通过机器学习,这些障碍不仅容易克服;它们可以通过使用微控制器的成本远低于 100 美元的硬件来解决。
最后,机器学习可以让开发人员轻松扩展他们的系统在设备置于新环境或提供新数据时的行为方式。例如,在传统的嵌入式系统中,如果设备突然需要基于提供给它的输入的新行为,开发人员现在需要进入并修改代码以添加新行为。如果设备改为使用机器学习,则不一定需要更改任何系统代码。相反,机器学习模型(推理)可能只需要使用额外的所需行为进行重新训练。这比手动对软件进行编码更新要容易得多。
机器学习提供了为嵌入式开发人员提供新工具和技术的机会,这些工具和技术有可能降低开发成本并减轻一些编程工作量。机器学习还开辟了新的潜在应用程序和功能,这些应用程序和功能将永远改变用户对其系统行为的期望。虽然机器学习刚刚进入嵌入式领域,但它的发展速度比许多人想象的要快。现在是开始了解所涉及的技术以及如何应用它们的时候了。
发表评论 取消回复