No Code:无需 Python 环境的虚拟传感器

通往传感器模型的常规路径要经过一个 Python 环境、一个 Notebook,以及一组必须相互兼容的库。在 Data Sensors 中,虚拟传感器就在分析测量数据的同一个应用里建立。

这里不需要什么

无需安装 Python,也不必让各个包的版本相互匹配。没有需要维护的 Notebook。没有需要在工位之间同步的训练脚本。没有从训练格式到部署格式的转换链条。Data Sensors 是一款面向 Windows 与 macOS 的桌面应用。

超参数的自动确定

模型精度取决于超参数:树的数量、最大深度、学习率、层数、每层神经元数。确定这些参数通常是一个独立的、反复迭代的工作步骤。在 Data Sensors 中,这一步是自动完成的:三种模型类型都会自行优化各自的超参数,可采用贝叶斯优化、Random Search、Grid Search 或代理模型策略,取决于可用的计算时间。

同样不需要事先选定模型系列。模型竞赛会针对相同的通道同时训练随机森林、XGBoost 与神经网络候选模型,并在排行榜中并列呈现,附带验证 RMSE、R²、训练时间和拟合诊断。

模型竞赛设置界面,显示已选择随机森林、XGBoost 和神经网络作为训练候选模型

派生输入量:用公式而不是脚本

有时真正有意义的输入量本身并未被采集,而是由另外两个量得出(例如由扭矩与转速得到功率)。为此提供了计算信号:您在公式编辑器中输入表达式,结果会作为一个常规信号出现,并可作为输入通道供训练使用。

计算信号面板,通过表达式 torque 乘以 motor_speed 定义名为 power 的新信号

代码生成

导出会由训练好的模型生成预测函数的独立实现,语言为 C、C++、Python 或 MATLAB,不依赖 Data Sensors,也不需要运行时库。结果是常规源代码,可以像其他代码一样入库、评审和编译。

No Code 不意味着什么

省去的是编程工作,而不是工程知识。哪些通道作为输入是合理的、一次测量是否覆盖了相关的工作范围、某个结果在物理上是否合理,这些仍由相关专业部门判断。Data Sensors 替代的是工具链,而不是对模型的专业评估。

在这方面有帮助的一点是:评估并不在训练数据上进行,而是在保留的验证集上进行;数据集足够大时,还会在一个既不用于训练也不用于模型选择的独立测试集上进行。因此过于乐观的结果会在模型进入 ECU 之前就暴露出来。