从系列:应用机器学习
赛斯迪兰,MathWorks公司
通过几个关键技术和最佳实践走在嵌入式设备上运行你的机器学习模型。
视频讨论的选项,让你的模型更快,减少了内存占用,包括自动C / C ++代码生成,特征选择和模型简化。
短语“机器学习”让我想起复杂的算法使用大量计算的训练模型。但上的“嵌入式设备”的计算中的内存量有限,计算可用。
现在,当我说“嵌入式设备,”我指的是物体具有特殊用途的计算系统,所以想的事情就像在自动车辆家用电器或传感器。
今天,我们将讨论不同的因素,准备你的机器学习模型的嵌入式设备时要牢记。
不同类型的模型需要为了做一个预测不同容量的内存和时间。例如,单个决策树是速度快,需要的存储量小。近邻法速度较慢,需要更多的内存,所以你可能不希望将其用于嵌入式应用。
确定嵌入式设备上使用该模型时要记住的另一件事是你将如何让你的模型设备。
大多数嵌入式系统被编程在低级别的语言,如C.
但是,机器学习是高层次的解释语言,如MATLAB,Python或R.典型的做法
如果必须维护的代码基地2种不同的语言,这将是非常痛苦的,让他们同步。
MATLAB提供的工具可自动机器学习模型转换为C代码,这样你就不会需要手动单独实现在C模式。
所以,如果有什么,转换模型到C后,你会发现,它是不会满足我们系统的要求是什么?也许内存占用过大,或模型的时间太长作出预测?
你可以尝试其他类型的模型,看看代码是否满足要求。也许用一个简单的模型开始,如决策树。
或者,你可以早点回去的过程中,看看你是否可以减少模型的特征的数量。您可以使用工具,如邻里成分分析,这是确定的影响,该功能对结果非常有用。如果您发现有些功能加权低,你可以从我们的模型中删除它们,使我们的模型更加简洁。
某些类型的模型具有与其相关联的不同减排技术。对于决策树,您可以使用修剪技术,在那里你丢弃提供最小的精度提高节点。
另一种方法是考虑减少存储模型参数所需的内存。例如,看是否该模型可被转换成即维持可接受的精度的定点表示。
根据您的使用情况下,这些策略可能是合适的。硬件方面的考虑,网络连接和预算都将影响设计决策的关键因素。
这是嵌入机器学习模型的只是一个简要概述。有关准备模型用于嵌入式设备的更多信息,请参见下面的链接。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。