到底什么是嵌入式ML?

 

机器学习(ML)是一种编写计算机程序的方式。具体地说,这是一种编写处理原始数据并将其转换为对应用程序有意义的信息的程序的方式。

例如,可以设计一个ML程序,根据来自各种传感器的读数来确定工业机器何时发生故障,从而可以警告操作员。另一个ML程序可能会从麦克风获取原始音频数据,并确定是否说过一个字,因此它可以激活智能家居设备。

与普通计算机程序不同,ML程序的规则不是由开发人员确定的。取而代之的是,机器学习使用专门的算法从数据中学习规则(称为培训)。

在传统的软件中,工程师设计一种算法,该算法接受输入,应用各种规则并返回输出。该算法的内部操作由工程师规划,并通过代码行明确实现。为了预测工业机器中的故障,工程师将需要了解数据中的哪些测量值指示问题,并编写代码来仔细检查它们。

这种方法适用于许多问题。例如,我们知道水在海平面上会在100°C沸腾,因此很容易编写一个程序,该程序可以根据其当前温度和高度来预测水是否在沸腾。但是在许多情况下,可能很难知道预测给定状态的因素的确切组合。继续我们的工业机器示例,生产率,温度和振动水平可能会有各种不同的组合,这些组合可能表明存在问题,但从数据中无法立即看出来。

要创建ML程序,工程师首先要收集大量的训练数据。然后他们将这些数据输入一种特殊的算法中,然后让算法发现规则。这意味着作为ML工程师,我们可以创建基于复杂数据进行预测的程序,而不必自己了解所有复杂性。

在训练过程中,机器学习算法会根据我们提供的数据建立系统模型。我们通过这个模型运行数据,以称为推理的过程进行预测。

机器学习在哪里可以提供帮助?

机器学习是解决涉及模式识别的问题的出色工具,尤其是那些复杂且人类观察者可能难以识别的模式。ML算法擅长将凌乱的高带宽原始数据转换为可用信号,尤其是与常规信号处理结合使用时。

例如,在十个密集,嘈杂的传感器数据流中,普通人可能难以识别机器故障的迹象。但是,机器学习算法通常可以学习发现差异。

但是ML并不总是工作的最佳工具。如果系统的规则定义明确,并且可以用硬编码逻辑轻松表达,那么以这种方式工作通常会更有效。

机器学习的局限性

机器学习算法是功能强大的工具,但它们可能具有以下缺点:

  • 他们输出估计值和近似值,而不是确切的答案
  • ML模型的运算量可能很高
  • 培训数据的获取既耗时又昂贵

在任何地方尝试应用ML都是很诱人的-但是,如果没有ML就可以解决问题,通常这样做会更好。

什么是嵌入式ML?

微处理器体系结构和算法设计的最新进展使得即使在最小的微控制器上也可以运行复杂的机器学习工作负载。嵌入式机器学习,也称为TinyML,是应用于诸如此类的嵌入式系统时的机器学习领域。

在嵌入式设备上部署ML有一些主要优点。Jeff Bier创造的不幸的缩写BLERP巧妙地表达了关键优势。他们是:

带宽-边缘设备上的ML算法可以从数据中提取有意义的信息,否则由于带宽限制,这些信息将无法访问。

延迟-设备上的ML模型可以实时响应输入,从而启用了诸如自动驾驶汽车之类的应用程序,如果依赖于网络延迟,该应用程序将不可行。

经济性—通过在设备上处理数据,嵌入式ML系统避免了通过网络传输数据并在云中进行处理的成本。

可靠性-由设备上模型控制的系统从本质上比依赖于云连接的系统更可靠。

隐私权-当数据在嵌入式系统上处理并且从不传输到云时,用户隐私权得到保护,滥用机会更少。

嵌入式ML官网:https://www.edgeimpulse.com/

相关文章

Leave a Comment