使用ONNX帮助库简化AnyLogic与经过训练的机器学习(ML)模型的连接

AnyLogic ONNX插件logo为几何形状,右边为单词ONNX,带有蓝色渐变背景

在很多情况下,您都需要将经过训练的机器学习(ML)模型合并到仿真模型中。以下是一些具体示例,基于我们的机器学习(ML)测试实例

  • 用基于真实数据训练的机器学习(ML)模型代替静态或基于分布的旅行时间,该模型使用日期和时间输入来预测旅行时间
  • 将真实翻新设施中使用的相同机器学习(ML)模型合并到设施的仿真模型中,用于对到达部件的可修复性进行分类,以提高精度。
  • 在视觉和统计上展示了在现实世界中控制机器速度(例如,使用强化学习)的影响和整体性能。
AnyLogic ONNX工作流图形说明显示了数据从机器学习(ML)模型流动到一个仿真模型,之后通过ONNX到一系列仿真实验

在这些类示例中,输入数据被检索和预处理,之后用于使用众多可用的ML库之一训练机器学习(ML)模型(例如TMLorFlow、插入符号、DL4J)。在找到所需的策略后,可以将其以文件类型导出,然后调用以提供预测(例如,通过边缘设备或在仿真模型中)。

其中一种文件类型,扩展名为“.onnx”,来自ONNX,即开放式神经网络交换。它的目的是提供一个开放的生态系统,帮助避免机器学习(ML)模型被锁定在一个特定的框架中。ONNX格式中的机器学习(ML)模型可以从许多不同的框架中导入和调用,并且它支持跨平台和跨语言使用。

以前,AnyLogic用户只能通过Java(需要程序员级知识)或通过Python使用Pypeline附加组件(以计算开销为代价)访问ONNX兼容的库。

现在,得益于AnyLogic的业务用户焦点,一个新的库使对ONNX的访问更容易、更高效。ONNX帮助程序库是一个高效的附加组件,可以帮助所有用户简化机器学习(ML)工作流。

通过将此附加组件库合并到AnyLogic环境中,您的模型可以访问其功能,就像使用任何其他内置库一样。只是将助手对象添加到模型中并将其配置为引用ONNX文件。之后,在AnyLogic模型中的任何地方,您都可以调用一个单一的“预测”函数来查询输出。

请注意,这个附加组件库不是用于训练机器学习(ML)模型,而是用于查询已经训练过的ML模型。考虑到AnyLogic是为通用仿真进行优化的,并且正确地训练机器学习(ML)模型可能是复杂和耗时的,训练可以在一个指定的环境中优化地执行。

关于该库的更多信息——包括安装、使用和示例——可以在AnyLogic ONNX项目页面上找到。

相关文章