我们提出了一种新的方法来推导函数模型之间的关系,多个信号在一个物理系统。方法,我们称之为
装有传感器的物理系统可以产生大量数据。这些数据有助于理解产生这些数据的系统以前的行为(例如,监测飞机部件的性能),也有助于预测这些系统未来的行为(例如,预测机械部件的故障)。与语音或文本等数据源不同,来自物理现象传感器的数据必须遵守物理定律。然而,现有的从传感器数据构建预测模型的方法不能充分利用传感器数据物理解释的先验知识。在这项工作中,我们利用传感器信号的物理维度信息,从传感器数据合成紧凑的预测模型。按照物理学中的惯例,我们使用这个术语 1.1.当代的方法忽略了物理年代trong> 尽管它在编程语言中用于一些任务,比如用度量单位扩展类型系统,<年代up>1一个>,<一个href="#R2">2一个>,<一个href="#R3">3.一个>,<一个href="#R5">5一个>,<一个href="#R8">8一个>,<一个href="#R12">12一个>,<一个href="#R10">10一个>,<一个href="#R14">14一个>,<一个href="#R17">17一个>,<一个href="#R23">23一个>以维度(如时间、温度等)为形式的物理信息在根据数据建立物理系统模型方面的应用有限。物理约束可以看作是贝叶斯先验的一种形式。<年代up>4一个>卡尔曼滤波器包含了系统的物理约束信息,但主要使用这些信息来指导它们的状态更新方程。目前,还没有一种原则性的技术能够利用传感器维度一致性的要求来学习更紧凑的模型。
1.2.空间功能合成年代trong> 维函数综合是一种新的方法,可以有效地从物理系统的多个数据流中提取出具有已知物理维数的函数。该方法背后的深刻见解是,任何与物理量有关的方程必须遵循的原则 在第一个离线分析阶段,维函数合成形成物理参数的单项,当组合成一个单项时,其维会抵消。然后,在第二个运行阶段,利用传感器获得的物理参数数据,该方法校准由这些单体形成的维数似是而非的方程,从而获得一组预测模型。
图1一个>显示该过程的示意图。维度函数合成的输入是与所研究系统相关的已知维数的信号列表,以及与这些信号实例对应的一组数据值。结果是一个与信号相关的模型,并预测预期的物理系统输出。我们开发了维函数综合的方法,目的是创建能够适应低功耗嵌入式系统的内存、计算和能量约束的推理模型。该方法也适用于不受计算资源或能量限制,但需要在大参数空间上定义简单模型的计算系统。
量纲分析常被引入工程课程,作为一种检验物理量计算正确性的简单方法。它在工程、流体力学和电动力学中经常用于涡轮机设计中的涡轮叶片偏转等情况。<年代up>20.一个>计算系统和计算机科学的大多数研究人员所熟悉的量纲分析方法包括取一些物理量(例如,加速度),并将其表示为基本维度,如长度( 2.1.物理方程和无量纲乘积中的参数年代trong> 让 对于S<年代ub>符号年代ub>每个成员在物理上是可信的 量纲分析的数学公式的关键思想是对于集合S<年代ub>符号年代ub>例如在上面的例子中,我们经常可以安排成员 为什么寻找无量纲产品是有用的:年代trong>给定一组参数S<年代ub>符号年代ub>对于一个物理系统,每一个无量纲的乘积都可以由S的子集形成<年代ub>符号年代ub>直接给出了这些参数之间的量纲有效方程:我们可以将无量纲的乘积等同于任何无量纲的量,从而得到一个量纲正确的方程;如果我们重新排列这个方程把其中一个参数变成方程的唯一项,我们就有了一个关于这个参数的量纲有效的方程关于这个无量纲乘积中其他参数的方程。
定义1。 对于由一组参数S定义的物理系统<年代ub>符号年代ub>,我们可以根据定义1定义一个或多个无量纲产品组。由于式(2)的形式,这组无量纲乘积常被称为 例子:<我米g一个lt="cacm6407_c.gifgydF4y2Ba" src="https://dl.acm.org/cms/attachment/06a8c56c-9e5e-49bb-964f-488393cc2f01/cacm6407_c.gif">无量纲的乘积
我们可以把无量纲的乘积等同于一个常数来得到
然后我们可以得到任意的表达式 这个简单的想法可以推广到一种方法来获得一个与所有参数相关的函数, 2.2.无量纲乘积组和白金汉Π定理年代trong> 量纲分析在当代许多应用中所利用的主要洞察力<年代up>18一个>,<一个href="#R21">21一个>对于任何一个物理系统,它是由一组物理参数S表示的吗<年代ub>符号年代ub>,通常可以用较少的参数对系统进行重新参数化。这种基本的观察经常用于机械系统的工程和设计中,以减少实验中所需的参数数量。这一观察结果背后的原理就是众所周知的白金汉Π定理<年代up>6一个>:
定理1。 的 让Φ'是一个关于无量纲产品Π的函数<年代ub>我.它跟随着 当 由此得出存在一个实值常数 有多种可能的Π组:年代trong>对于相同的参数集S<年代ub>符号年代ub>的基数 从集合S<年代ub>符号年代ub>定义一个物理系统的参数,我们可以构造一个系统的矩阵表示,其中的列是S中的参数<年代ub>符号年代ub>,行是基本维度,如长度、质量或时间,由函数D返回(第2.1节),矩阵中的元素是基本维度的指数。
维度函数合成由一个编译时步骤组成,该步骤自动计算 3.1.推导无量纲产品组年代trong> 设基本维数集合为S<年代ub>基础尺寸年代ub>.我们不失一般性地假设S<年代ub>基础尺寸年代ub>= { 我们可以表示系统 定义2。 定义1和公式(2)中的产品Π将是无量纲的(即,单项中的尺寸将相互抵消)当且仅当<年代trong>正义与发展党= 0年代trong>,其中矩阵 解的物理限制年代trong>N(一):年代trong>因为我们的目标是找到物理上合理的、可高效计算的无量纲群,所以我们将零空间计算的解限制为的有理幂 维矩阵中线性无关列的个数<年代trong>一个年代trong>等于rank(<年代trong>一个年代trong>).因此,要找到所有可能的解决方案<年代trong>正义与发展党= 0年代trong>因此所有可能的无量纲生成物组,我们可以重新排列 3.2.校准:使用传感器数据将Π组转换为方程模型年代trong> 通过分析将物理系统描述成集合S的形式而得到的无量纲群<年代ub>符号年代ub>给出S中参数之间的比例关系<年代ub>符号年代ub>.在一般情况下,多个无量纲产品不是常量,那么,从公式(4),有一个函数Φ',它将一个Π产品的值与其他产品的值联系起来。我们可以使用数据驱动的方法来找到Φ'的形式,我们称之为这一步 当一个无量纲积组中只有一项时,由式(6)可知,我们可以将无量纲积等同于一个常数,得到无量纲积中各符号之间的比例关系。我们仍然需要确定比例常数的值,我们可以给出无量纲组中的一个或多个参数的值。当一个无量纲产品组包含一个以上的无量纲产品时,如果我们能够确定任何无量纲产品组中除一个产品外的所有产品对于感兴趣的参数的值范围都是有效的常数,那么我们仍然可以应用此方法。
与任何模型构建方法一样,如果维度函数合成方法的输入不能完全描述被建模的问题,它将产生不完整的结果:一个不完整的S<年代ub>符号年代ub>会导致无量纲产品的空集合。
3.3.使用Newton语言实现年代trong> 我们通过提取集合S来实现维函数合成<年代ub>符号年代ub>从牛顿对物理系统描述的中间表示,<年代up>15一个>一种用于描述物理系统的领域特定语言。我们仅仅用牛顿作为一种方便的方法来得到集合S<年代ub>符号年代ub>从人类可读的描述。
摆的例子:年代trong>图3一个>A表示摆锤,摆锤上装有测量运动的传感器。通过测量,例如,用陀螺仪测量角的运动或者用加速度计测量加速度,我们可以测量振动的周期 步骤1:构建维度矩阵。年代trong>对于系统<一个href="https://dl.acm.org/cms/attachment/be710fa2-9366-415c-a515-68da649ca4c3/f3.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=551,height=219'); return false;">图3一一个>,参数集为S<年代ub>符号年代ub>= { 步骤2:维度矩阵列排列和Π组计算。年代trong>参数总数为 由式(6)(2.2节)可知,可以将对应的单项等同于某个常数 给定传感器测量值的不同值 为了展示维函数合成的潜力,我们将其与黑盒数据驱动方法进行比较,以表征物理系统。其基本思想是,科学家组装了一个物理系统,并能够通过检查(如测量一个组件的长度)或使用传感器(如加速度计、转速计等)来测量其参数的子集。考虑到一个复杂的物理系统需要努力和专业知识来分析定义,它的数据驱动特性是一个很有前途的想法。设计师可以从物理系统中收集大量的观测数据,然后使用回归和机器学习推导出一个模型,将测量参数与预期输出相匹配。
然而,要得到一个有效的数据驱动模型,需要对物理系统的参数进行良好的采样,并对可用数据拟合模型的设计空间进行广泛的探索。在实践中,这两个要求都很难或不可能满足,特别是在复杂的多参数系统的情况下。反之,维函数合成的结果也可以 4.1.合成数据的评估年代trong> 首先,我们使用合成的理想数据将维函数合成与回归和神经网络进行比较。我们研究了FitNet曲线拟合神经网络架构家族中的几种神经网络拓扑结构,它们为方程拟合进行了优化。我们以一架无动力飞行器(滑翔机)为目标,以初始速度飞行 ψ与Φ和Φ'是无量纲乘积的函数不同,ψ是与系统参数直接相关的函数。对于滑翔机示例,我们将我们的方法与数据驱动的方法进行比较,以拟合特征向量< 滑翔机的理想轨迹方程为 采用多维函数综合的方法对系统进行选择描述,得到三个Π组,每个组有两个Π产品,即Π<年代trong>组0年代trong>={Π<年代ub>1年代ub>= 与传统方法不同,传统方法必须学习四维空间上的函数( 图5一个>显示神经网络对20个数据点进行训练后的模型逼近,其中(<一个href="https://dl.acm.org/cms/attachment/0b4a32de-301e-40c5-a6a5-74f51645aa8f/f5.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=523,height=376'); return false;">图5 b一个>)及没有(<一个href="https://dl.acm.org/cms/attachment/0b4a32de-301e-40c5-a6a5-74f51645aa8f/f5.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=523,height=376'); return false;">图5一个一个>)采用量纲函数综合的方法,从维度上减少输入参数的数量。最精确的神经网络拟合函数Φ'在四维空间( 维函数综合利用现有的物理信息,使模型简单,预测精度高。这使得用更少的数据更好地训练更简单的模型。最重要的是,这些约简不是基于特别的假设或近似,而是由物理定律决定的。来自维函数综合的模型对于资源有限的嵌入式系统来说更有效,因为它们在推理过程中需要的计算更少,训练所需的数据也更少。
4.2.物理钟摆的评价年代trong> 我们在存在非合成数据的情况下评估我们的方法,其中潜在的关系比一个简单的封闭形式的方程更复杂。我们在实验室里用一种叫做 图6 b一个>展示了一个超过1分钟摆摆动的传感器数据的例子。我们记录了钟摆摆动的时间序列数据<一个href="https://dl.acm.org/cms/attachment/ccf1251b-8419-4d25-a391-62d115592d0e/f6.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=1490,height=305'); return false;">图6 b一个>对于我们进行的90个实验中的每一个。然后,我们利用这些时间序列数据,通过其离散傅里叶变换(DFT)计算振荡周期。<一个href="https://dl.acm.org/cms/attachment/ccf1251b-8419-4d25-a391-62d115592d0e/f6.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=1490,height=305'); return false;">图6 c一个>结果显示了一个实验的DFT输出,四个不同的处理窗口的记录数据。<一个href="https://dl.acm.org/cms/attachment/ccf1251b-8419-4d25-a391-62d115592d0e/f6.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=1490,height=305'); return false;">图6 d一个>显示了一个1分钟实验的振荡周期,使用DFT估计。
图7一个>显示了我们的方法的能力,以产生一个模型,准确预测振荡周期的变量- 对于摆长小于20厘米的摆,模型中的误差由于非理想性而增加,例如摩擦,我们的技术产生的比例关系形式没有捕捉到摩擦。合成的维函数的精度受限于描述物理系统的所用参数的数量。更丰富的参数选择(例如,枢轴的摩擦和杆的质量)是一个可能的解决方案,导出更精确的尺寸函数。
并将黑匣子数据驱动技术应用于摆实验的组装数据。在这个数据集中,75%是随机抽样作为训练数据,而其余的用作测试样本。我们使用5倍交叉验证策略来训练模型。<一个href="https://dl.acm.org/cms/attachment/f7bd2184-5505-4b3f-a856-105f3f80137e/f8.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=631,height=239'); return false;">图8一个>总结了所有模型在测试数据集上的摆锤平均摆动周期的预测误差。回归模型的预测误差与我们的方法相当,但我们的方法优于回归模型在缩放区域<一个href="https://dl.acm.org/cms/attachment/789fe0b7-f1f5-4e37-b7b3-e671e5956da8/f7.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=615,height=251'); return false;">图7 b一个>.神经网络表现出广泛的预测误差分布,但简单的网络能够在与我们提出的模型相同的范围内获得非常高的精度。由于我们根据整个摆实验范围内的数据点训练黑箱模型,它们可以有效地捕捉摆动的非理想特征,从而获得较高的精度。
维函数综合利用与物理系统相关的信号的物理维数和度量单位信息,推导出一组与这些信号相关的候选方程。如现有的许多基于人工选择参数的模型构建方法,它依赖于集合S中一个有效的参数集<年代ub>符号年代ub>(在2.1节中介绍)来描述要建模的系统。当提供的一组参数不足以生成捕捉系统行为的模型时,该方法将不出所料地生成一个至多只是真实行为的近似模型。令人兴奋的进一步发展领域包括自动化识别参数的过程<年代ub>符号年代ub>而不是从人类编写的描述中提取它们,并将积分和导数合并到Φ函数的公式中。
对于不能直接测量的物理参数,维函数合成面临着与传统建模方法相同的挑战。在实践中,对于无法测量的参数,设计师测量与缺失参数相关的代理,例如,测量加速度和运行时间而不是速度。在这种情况下,维函数合成的净效应是利用有关参数的物理单元的信息,而传统的建模技术没有选择,只能尝试用越来越复杂的非线性模型拟合数据。如4.1节所述,在多个n组的情况下,维度函数合成使两种方法结合在一起。
5.1.维电路合成年代trong> 量纲电路综合是量纲函数综合的扩展,它提供了一种编译时方法来生成用于Π组计算的数字逻辑电路。我们在Newton中实现了一个Verilog寄存器传输级(RTL)合成后端,该后端利用计算得到的Π组维函数合成信息,生成硬件模块的RTL描述,每个RTL计算一个选定的Π组的Π单项(式(2))。硬件模块以传感器信号为输入,对量纲函数综合得出的标定预测模块进行预推理处理。一个设备上(传感器内)推理引擎将集成合成的尺寸电路与模块,该模块使用,例如,神经网络执行校准预测模型。这个推断模块可以是一个自定义RTL组件,也可以是一个可编程的核心。<一个href="https://dl.acm.org/cms/attachment/d2269ee3-c690-43f1-adfa-afaa9badf1df/f9.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=730,height=220'); return false;">图9一个>介绍了一种基于维函数综合和维电路综合的传感器内推理硬件系统。
我们使用Lattice Semiconductor iCE40 FPGA评估了由尺寸电路合成后端生成的硬件。iCE40是一种低功耗的微型FPGA,采用2.15 × 2.50 mm的晶圆尺寸的WLCSP封装,用于传感器接口任务和设备上的机器学习。我们使用了完全开源的FPGA设计流程,包括YoSys合成工具( 我们在iCE40移动开发工具包(MDK)上进行了测量,其中包括一个1Ω电流检测电阻,与FPGA的每个供应轨(核心、锁相环、I/O组)串联。我们通过使用Keithley DM7510(实验室7级1/2数字万用表,可以测量电压低至10nv)测量FPGA核心供电轨(1.2 V)电阻的压降来测量FPGA核心的电流。使用这些压降测量,我们计算了FPGA核心对每个配置的RTL设计的功耗。我们使用伪随机数发生器以随机输入数据为计算中的Π单体计算电路模块提供数据。
我们评估了牛顿所描述的七个不同物理系统上的维度电路合成。<一个href="https://dl.acm.org/cms/attachment/bc7a163f-c774-4b15-96a1-b9956507ad63/t3.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=1551,height=290'); return false;">表3一个>给出了所有生成的Π产品计算模块的总FPGA资源利用率,以合成它们所需的四个输入查找表(LUT4单元)的数量表示。这些资源利用率值还包括合成定点算术模块所需的资源,我们将这些模块集成到每个Π产品的计算模块中。
执行延迟列列出了完成每个生成的RTL模块的关键路径计算所需的周期。我们通过模拟RTL模块对线性反馈移位寄存器(LFSRs)产生的伪随机输入的执行来得到循环数。在每个RTL模块中,我们并行计算不同的Π产品,但每个Π产品所需的操作是串行执行的。
的最后一列<一个href="https://dl.acm.org/cms/attachment/bc7a163f-c774-4b15-96a1-b9956507ad63/t3.jpg" onclick="window.open(this.href, '', 'resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=1551,height=290'); return false;">表3一个>图中显示了在iCE40 FPGA中配置的每种设计的实测功耗。在所有情况下,功耗都小于6兆瓦,低至1兆瓦,表明我们的方法适合于小型因素,电池操作的设备上推断在边缘。
现有的为物理系统的数据构建回溯或预测模型的方法不能充分利用有关系统的物理信息。在这项工作中,我们提出了一种基于系统中信号的物理维度信息,自动生成函数族来学习模型的方法。方法,我们称之为 我们实现了维度函数合成,并与回归模型和神经网络相比,评估我们的方法生成的模型的执行成本和准确性。当使用传感器数据校准时,我们的模型在我们评估的所有情况下的推断精度都优于传统的回归和神经网络模型。此外,我们的模型在训练延迟(高达1096X改进)和推理所需的算术操作(高达34X改进)方面表现得更好。这些重大的成果很大程度上是利用迄今为止被忽视的信号物理信息的结果。
这项研究得到了艾伦·图灵研究所TU/B/000096, EPSRC EP/N510129/1,英国皇家学会RG170136和EPSRC EP/V004654/1的资助。王友超、vladd - mihai Mandric和James Rhodes对牛顿编译器中线性代数方法的实现做出了贡献。
1.艾伦,E,蔡斯,D,卢昌科,V, Maessen, j - w。,年代teele, G.L., Jr. Object-oriented units of measurement. In第19届面向对象编程,系统,语言和应用的ACM SIGPLAN年度会议的会议记录, OOPSLA'04 (2004), ACM,纽约,纽约,美国,384-403。
2.Antoniu, T., Steckler, p.a., Krishnamurthi, S., Neuwirth, E., Felleisen, M.验证电子表格程序的单位正确性。在 3.Babout, M., Sidhoum, H., Frecon, L. Ampere:一种物理编程语言。 4.理发师,D。 5.移动机器人编程中维度分析的实用方法。 6.Buckingham, E.关于物理上相似的系统;维度方程的使用说明。 7.关于物理单位、维度和度量的数学理论。 8.R.F. Cmelik, Gehani, n.h。用c++进行量纲分析。 9.关于量纲分析的一些新结果。 10.一个用于量纲分析的ada软件包。 11.Hills, d.j.a., Grütter, a.m., Hudson, J.J.一种从数据中自动发现拉格朗日量的算法。 12.陈峰,陈峰,柔峰。一种基于重写逻辑的测量单位静态校核方法。 13.维分析:百年更新。arXiv预印arXiv:1411.2798(2014)。
14.维度类型。在 15.林,J.,斯坦利-马贝尔,P.牛顿:一种描述物理的语言。 16.相似原理。 17.多态递归下的维推断。在 18.Rudy, s.h., Brunton, s.l., Proctor, j.l., Kutz, J.N.偏微分方程的数据驱动发现。 19.Schmidt, M., Lipson, H.从实验数据中提取自由形式的自然规律。 20.西蒙,V,魏根,B,戈马,H。 21.索宁,A.A.,是对 22.斯特朗,G。 本作品授权于<一个href="https://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/一个> 数字图书馆是由计算机协会出版的。版权所有©2021 ACM, Inc。
没有发现记录
图1。维函数合成利用物理维数信息来生成候选方程族。然后,它使用传感器测量来校准候选方程集。年代trong>2.数学基础
3.空间功能合成
图2。滑翔机:大量的滑翔机
图3。(a)有质量的单摆
表2。物理系统描述示例(S<年代ub>符号年代ub>)以及我们的技术为他们生成的无量纲群体。我们的实现为上一列所示的方程生成LATEX。年代trong>4.模型评价
图4。预测误差与预测滑翔机轨迹的计算要求。我们的模型使用线性回归拟合方程(11)的函数Ψ'(左下角表示为“我们的模型”)。pareto支配所有神经网络变量(891种不同的网络拓扑),用于拟合式(10)的函数Ψ。年代trong>
图5。预测误差与预测滑翔机轨迹的计算要求。子图(a)对应于(10)式中神经网络对Ψ函数拟合的直接应用。子图(b)对应于我们使用神经网络拟合方程(11)的函数Φ'的方法。我们根据20个输入数据点训练所有模型。该方法的预测误差可降低约2.5倍,达到0.17%。年代trong>
图6。(a)变量-的实验设置
图7。变量-的预测周期的百分比误差
图8。变量-的预测周期的百分比误差5.范围、限制和扩展
表3。在iCE40 FPGA上对物理系统描述生成的尺寸电路模块进行实验评估。年代trong>6.结论
致谢
参考文献