用于机器学习模型训练和部署的系统和方法与流程
未命名
07-14
阅读:73
评论:0

用于机器学习模型训练和部署的系统和方法
1.相关申请的交叉引用本公开要求2022年1月7日提交的题为“systems and methods for machine learning algorithm training and deployment”的第63/297,382号美国临时申请的权益,其公开内容通过引用整体地并入本文中。
技术领域
2.本公开涉及测试和测量系统,并且更特别地涉及用于在测试和测量应用中使用的机器学习模型的训练过程。
技术实现要素:
3.机器学习(ml)模型、算法和/或系统(这里被称为“模型”)需要大量数据用于训练和验证。这些模型包括监督学习、非监督学习、半监督以及强化学习模型。经标记的训练数据的使用典型地存在于监督和半监督学习模型中,其中该模型在具有已知结果的已知数据上被训练,并且然后当该模型接收到新数据时,该模型可以基于其训练根据该新数据来标识或预测结果、参数等。
4.在测试和测量应用(诸如测试或测量被测设备(dut)的方面)的情境下,从用户获取所需数据的量常常是不现实的。用户可以是dut的制造商。从用户获取的数据通常是不全面的,从而不足以训练鲁棒的ml模型,因为这些数据是从对dut设计、操作等的测试和验证而得到的。这通常导致具有狭窄参数范围的数据或者导致生成在范围上限制了该数据的结果的情形,这进而限制了在该数据上被训练的系统的能力。
附图说明
5.图1示出了机器学习系统的实施例。
6.图2示出了机器学习神经网络开发过程的实施例的流程图。
7.图3示出了来自现有dut数据的机器学习神经网络重新训练过程的实施例的流程图。
8.图4示出了机器学习神经网络重新训练和调整过程的实施例的流程图。
具体实施方式
9.实施例涵盖了利用波形仿真器(waveform emulator)的通用机器学习过程,诸如在2022年8月22日提交的第17/893,073号美国专利申请“digital twin with machine learning waveform generation including parameter control for device under test emulation”中所公开的。虽然下面的讨论可能将该仿真器称为属于本专利申请中描述的系统,但是也可以使用其他类型的利用机器学习来生成波形数据集的波形仿真器。
10.图1示出了波形仿真器10的系统框图,波形仿真器10包括经训练的机器学习模型。如本文中所使用的,术语“模型”指代处理数据以产生期望结果(诸如预测)的机器学习算
法/网络/模型。波形仿真器10中的机器学习模型可以基于用户输入来生成仿真波形。图1示出了操作模式中的波形仿真器,其中机器学习(ml)模型已经经受了(undergo)训练。波形仿真器生成波形或波形信号,该波形或波形信号使得任意波形生成器16生成模拟电气波形。
11.用户接口14包括dut模型参数面板,用户可以通过该面板选择参数的特定值,以生成期望波形。dut模型参数面板可以包括图形用户接口,或者可以通过编程式命令被控制。所图示的特定参数表示用于训练机器学习(ml)模型12的典型参数。ml模型12的训练典型地将把该ml模型训练成将特定波形与特定参数集相关联。在操作或运行时模式中,用户使用用户接口14来选择参数。在“数字孪生体”实施例中,ml模型12然后将生成最佳波形或指示该波形的信号,作为来自ml模型12的其输出。该输出是从用户接口14的dut模型参数面板中的精确参数设置而得到的。来自ml模型12的输出然后使得awg 16生成模拟电气波形信号。
12.在训练期间,ml模型12“学习”将特定波形与用于生成波形的参数相关联,并且将它们链接作为元数据。在运行时模式中,该ml模型反向地(in reverse)工作。它基于用于创建波形的参数来生成波形。在操作中,当用户调整用户接口14上的dut模型参数面板中的个体参数时,ml模型12生成与所选参数最紧密匹配的波形。波形仿真器及其ml模型可以采取例如在一个或多个通用或专用处理器上运行的软件应用的形式。
13.这里的实施例可以使用该类型的波形仿真器来生成大量波形,以用作用于训练和验证不同的ml模型18的一个或多个数据集。开发者将设计并扫掠(sweep)与期望测量结果相关的波形参数(诸如电压水平、噪声水平等),而不是使用该仿真器来产生满足参数标准的一个波形。该系统然后将使用这些参数作为去往波形仿真器ml模型的输入,以生成大量仿真波形,通常为数千个。
14.所设计的参数扫掠应当旨在封装(encapsulate)尽可能多的可能场景。例如,用于预测tdecq(发射器耗散和眼图闭合四相(transmitter dispersion and eye closure quaternary))值和波形的ml模型可以使用该仿真器来生成具有宽范围的tdecq值的一个或多个数据集。开发者然后可以经历通过训练和验证循环来改进该ml模型的迭代过程,直到他们得到期望的ml模型。验证检查中的失败可能导致开发者调整或重新编程该ml模型。例如,这可能使得开发者更改神经网络层中的连接和/或节点,以改进该ml模型的性能。
15.处于开发中(under development)的ml模型可以包括具有一个或多个通用或专用处理器的计算设备,开发者可以对所述处理器进行编程以体现处于开发中的ml模型,这里被称为“所开发的ml模型(developed ml model)”。所开发的ml模型和波形仿真器可以作为软件在一个或多个计算设备上操作,所述计算设备包括测试和测量仪器。波形仿真器可以驻留在分离的或相同的计算设备中。波形仿真器10与意指所开发的机器学习模型18的机器学习测试系统之间的连接17可以采取在两个或更多个处理器之间或通过端口的物理连接的形式,或者可以采取两个系统之间的以软件的连接的形式。所开发的机器学习模型可以针对特定的测试和测量过程被定制,诸如上面提到的tdecq,以及许多其他类型的所开发的机器学习模型,包括用于测试许多不同类型的dut的性能和参数的那些模型。
16.图2示出了用于训练和验证所开发的机器学习模型的过程的实施例的流程图。在任何机器学习测量算法的早期开发阶段处,获得大的或全面的训练集来训练和优化所开发的ml模型是非常困难的。在图2的实施例中,开发者将在20处通过选择波形参数的值范围和范围内的值之间的步长(step size)来设计波形参数。开发者然后“扫掠”与期望测量结果
相关的波形参数,诸如电压水平和噪声。扫掠所述参数涉及在该范围内通过每个步长来步进每个参数。典型地,一次一个参数通过其范围被扫掠。期望测量结果将取决于已经针对其开发了ml模型的dut以及该测试的性质。
17.为了生成大量波形,开发者将扫掠与每个参数的期望测量结果相关的波形参数。波形仿真器然后将在22处使用扫掠参数值来产生大的数据波形集。这导致了在24处的大量波形,通常为数千个。所设计的参数扫掠还应当尝试封装尽可能多的可能场景。例如,当针对预测tdecq值和波形的算法生成训练波形时,仿真波形应当包括具有宽范围的tdecq值的波形。
18.开发者然后可以使用这些大的数据集,以经历通过训练-验证循环来改进该ml模型的迭代过程,直到他们在30处得到期望的输出ml模型。在26处的ml模型训练将使用数据集中的一些来将该ml模型训练成将参数和波形相关联,使得当该ml模型操作时,它在运行时期间将波形与参数相关联。这种关联通常导致在28处的预测。在验证阶段中,“答案”是从数据集中已知的,因此该系统对照所预测的答案来测试ml预测以检查其准确性。准确性还可以具有与其相关联的置信度或准确性水平,使得如果ml模型预测以某个时间百分比是准确的,则准确性检查通过(pass),并且开发者已经在30处开发了准确的模型。如果准确性检查在28处失败(fail),则该模型可能需要对该模型的重新设计和/或进一步训练。
19.在一些实例中,开发者可以有权访问实际dut数据,但是典型地仅访问少量波形。图3示出了该过程可以如何调整来使用实际dut数据。提供的dut数据集经受分析,典型地是由开发者进行的分析,但是该分析可以是自动化的。该过程在32处测量和评估实际dut数据,以提取波形仿真器的必要参数。这然后将指导参数扫掠利用扫掠的范围和步长来设计扫掠。波形仿真器然后将在22处生成用于机器学习算法开发和训练-验证循环的大量训练波形。该过程的其余部分如图2中那样继续。
20.一旦该过程已经提供了最优ml模型,它就被部署以用于在运行时环境中使用。波形仿真器也可以在该环境中操作,以提供对该ml模型的持续检查和改进。图4示出了用于机器学习模型的持续改进的闭环重新训练过程。
21.如图3的实施例那样,该环路使用dut数据,使用从用户dut 40和仪器42得到的少量dut数据来提取参数以发送到波形仿真器22。该过程然后继续遵循上面描述的类似过程来开发经训练的模型。一旦网络部署到运行时环境中,该工作流程将在28处周期性地检查该测量的误差度量(error metric)。
22.如果误差检查失败,则它将自动触发该模型的重新训练。在一个实施例中,该重新训练使用从失败的数据集中选择的dut数据,并且在42处经历使用测试和测量仪器(诸如示波器)的特征参数提取,在22处经历波形仿真,以在24处产生训练集,以及在26处进行训练以得出新的网络。该过程在理论上可以无限期地继续。通过调整每个迭代中的误差容限、作为重新训练输入所需的dut的数量、以及限制所允许迭代的最大数量,用户可以具有高水平的灵活性。
23.以这种方式,开发者具有用于通过ml训练和优化自动迭代的有用过程。客户还将获得进行“免动手(hands free)”重新训练以校准用于其dut和设备的ml算法的能力。另一个优点包括:消除了获取数千个波形来开发ml模型的需要,从而为开发者和客户两者节省了大量的时间和资源。
24.由于通过波形仿真器对训练数据的更好控制,从该过程构建的ml模型将更全面且通常更适用。它还允许自动化的持续改进过程。具有分割的训练和预测模块提供了并行的开发和改进过程。
25.本公开的各方面可以在特别创建的硬件、固件、数字信号处理器、或专门编程的通用计算机(包括根据编程指令操作的处理器)上运行。如本文中使用的术语控制器或处理器旨在包括微处理器、微型计算机、专用集成电路(asic)和专用硬件控制器。本公开的一个或多个方面可以体现在计算机可用数据和计算机可执行指令中,诸如由一个或多个计算机(包括监测模块)或其他设备执行的一个或多个程序模块中。通常,程序模块包括例程、程序、对象、组件、数据结构等,它们在由计算机或其他设备中的处理器执行时实行特定的任务或实现特定的抽象数据类型。计算机可执行指令可以被存储在非暂时性计算机可读介质上,该介质诸如硬盘、光盘、可移除存储介质、固态存储器、随机存取存储器(ram)等。如本领域技术人员将领会的,程序模块的功能可以根据需要在各种方面被组合或分配。此外,该功能可以全部地或部分地体现在固件或硬件等同物(诸如集成电路、fpga等)中。特定数据结构可以用于更有效地实现本公开的一个或多个方面,并且这种数据结构被预期在本文中描述的计算机可执行指令和计算机可用数据的范围内。
26.在一些情况下,所公开的方面可以在硬件、固件、软件或其任何组合中实现。所公开的方面还可以被实现为由一个或多个或非暂时性计算机可读介质所承载或被存储在其上的指令,这些指令可以由一个或多个处理器读取和执行。这种指令可以被称为计算机程序产品。如本文中所讨论的,计算机可读介质意指可以由计算设备访问的任何介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
27.计算机存储介质意指可以用于存储计算机可读信息的任何介质。作为示例而非限制,计算机存储介质可以包括ram、rom、电可擦除可编程只读存储器(eeprom)、闪速存储器、或其他存储技术、压缩盘只读存储器(cd-rom)、数字视频盘(dvd)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备、以及以任何技术实现的任何其他易失性或非易失性、可移除或不可移除介质。计算机存储介质排除了信号本身和信号传输的暂时形式。
28.通信介质意指可以用于计算机可读信息的通信的任何介质。作为示例而非限制,通信介质可以包括同轴线缆、光纤线缆、空气、或任何其他适合于电气、光学、射频(rf)、红外、声学或其他类型信号的通信的介质。
29.附加地,本书面描述参考了特定特征。要理解的是,本说明书中的公开内容包括那些特定特征的所有可能的组合。例如,在特定方面的上下文中公开了特定特征的情况下,该特征也可以尽可能地在其他方面的上下文中被使用。
30.此外,当在本技术中参考了具有两个或更多个所定义的步骤或操作的方法时,所定义的步骤或操作可以按任何次序或同时地执行,除非上下文排除了那些可能性。
31.尽管出于说明目的已经说明并描述了本公开的特定方面,但是将理解的是,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,除了由所附权利要求进行的限制之外,本公开不应当被限制。
32.示例下面提供了所公开的技术的说明性示例。这些技术的实施例可以包括一个或多个下面描述的示例以及其任何组合。
33.示例1是一种用于开发和测试机器学习模型的系统,包括:波形仿真器机器学习系统;用户接口,用于允许用户输入所述波形仿真器机器学习系统的一个或多个设计参数;一个或多个处理器,其被配置成执行代码以使得所述一个或多个处理器:将所述一个或多个设计参数发送到所述波形仿真器机器学习系统;从所述波形仿真器机器学习系统接收一个或多个数据集,所述一个或多个数据集基于所述一个或多个设计参数;使用所述一个或多个数据集中的至少一个来训练所开发的机器学习模型,从而产生经训练的机器学习模型;使用所述一个或多个数据集中的先前未使用的一个来验证所述经训练的机器学习模型;根据需要来调整所述经训练的机器学习模型;以及重复所述训练、验证和调整,直到训练出最优机器学习模型。
34.示例2是示例1的系统,其中所述一个或多个设计参数包括从针对一个或多个期望测量结果的波形参数确定的一个或多个设计参数。
35.示例3是示例1或示例2中的任何一个的系统,其中所述一个或多个设计参数包括所述一个或多个设计参数中的每一个的值的扫掠。
36.示例4是示例1至3中任一项的系统,其中所述一个或多个设计参数包括被提取自从被测设备集合中导出的数据集的一个或多个设计参数。
37.示例5是示例1至4中任一项的系统,其中从所述被测设备集合中导出的数据集包括来自被测设备数据的参数扫掠的值的范围和步长。
38.示例6是示例1至5中任一项的系统,其中所述一个或多个处理器进一步被配置成:在运行时环境中操作所述最优机器学习模型;以及周期性地检查所述最优机器学习模型的误差度量。
39.示例7是示例6的系统,其中所述一个或多个处理器进一步被配置成:当所述误差度量失败时,根据需要来请求对所述最优机器学习模型的重新训练。
40.示例8是示例7的系统,其中所述一个或多个处理器进一步被配置成:使用来自所述误差度量在其下失败的一个或多个数据集的被测设备数据以用于重新训练或调整所述最优机器学习模型,以开发新的机器学习模型设计。
41.示例9是示例6的系统,其中所述一个或多个处理器进一步被配置成:当所述误差度量通过时,继续在所述运行时环境中操作所述最优机器学习模型。
42.示例10是一种开发和测试机器学习模型的方法,包括:向波形仿真器机器学习系统提供一个或多个设计参数;从所述波形仿真器机器学习系统接收一个或多个数据集;使用所述一个或多个数据集中的至少一个来训练所开发的机器学习模型,从而产生经训练的机器学习模型;使用所述一个或多个数据集中的先前未使用的一个来验证所述经训练的机器学习模型;根据需要来调整所述经训练的机器学习模型;以及重复所述训练、验证和调整,直到训练出最优机器学习模型。
43.示例11是示例10的方法,其中提供所述一个或多个设计参数包括提供从针对一个或多个期望测量结果的波形参数确定的一个或多个设计参数。
44.示例12是示例11的方法,其中所述一个或多个期望测量结果包括一定范围的tdecq值。
45.示例13是示例10至12中任一项的方法,其中提供所述一个或多个设计参数包括提供所述一个或多个设计参数中的每一个的值的扫掠。
46.示例14是示例10至13中任一项的方法,其中提供所述一个或多个设计参数包括接收被提取自从被测设备集合中导出的数据集的一个或多个设计参数。
47.示例15是示例14的方法,其中从所述被测设备集合中导出的数据集包括来自被测设备数据的参数扫掠的值的范围和步长。
48.示例16是示例10至15中任一项的方法,进一步包括:在运行时环境中操作所述最优机器学习模型;以及周期性地检查所述最优机器学习模型的误差度量。
49.示例17是示例16的方法,进一步包括:当所述误差度量失败时,根据需要来请求对所述最优机器学习模型的重新训练。
50.示例18是示例17的方法,进一步包括:使用来自所述误差度量在其下失败的一个或多个数据集的被测设备数据以用于重新训练或调整所述最优机器学习模型,以重新设计新的所开发的机器学习模型。
51.示例19是示例16的方法,进一步包括:当所述误差度量通过时,继续在所述运行时环境中操作所述最优机器学习模型。
52.示例20是示例10至19中任一项的方法,其中所开发的机器学习模型包括神经网络。
53.所公开的主题的前述版本具有许多优点,这些优点已被描述或者将对普通技术人员是明显的。尽管如此,这些优点或特征并不是在所公开的装置、系统或方法的所有版本中都是必需的。
54.附加地,本书面描述参考了特定特征。要理解的是,本说明书中的公开内容包括那些特定特征的所有可能的组合。在特定方面或示例的上下文中公开了特定特征的情况下,该特征也可以尽可能地在其他方面和示例的上下文中被使用。
55.此外,当在本技术中参考了具有两个或更多个所定义的步骤或操作的方法时,所定义的步骤或操作可以按任何次序或同时地执行,除非上下文排除了那些可能性。
56.尽管出于说明目的已经说明并描述了本发明的特定方面,但是将理解的是,在不脱离本发明的精神和范围的情况下,可以进行各种修改。因此,除了由所附权利要求进行的限制之外,本发明不应当被限制。
技术特征:
1.一种用于开发和测试机器学习模型的系统,包括:波形仿真器机器学习系统;用户接口,用于允许用户输入所述波形仿真器机器学习系统的一个或多个设计参数;一个或多个处理器,其被配置成执行代码以使得所述一个或多个处理器:将所述一个或多个设计参数发送到所述波形仿真器机器学习系统;从所述波形仿真器机器学习系统接收一个或多个数据集,所述一个或多个数据集基于所述一个或多个设计参数;使用所述一个或多个数据集中的至少一个来训练所开发的机器学习模型,从而产生经训练的机器学习模型;使用所述一个或多个数据集中的先前未使用的一个来验证所述经训练的机器学习模型;根据需要来调整所述经训练的机器学习模型;以及重复所述训练、验证和调整,直到训练出最优机器学习模型。2.根据权利要求1所述的系统,其中所述一个或多个设计参数包括从针对一个或多个期望测量结果的波形参数确定的一个或多个设计参数。3.根据权利要求1所述的系统,其中所述一个或多个设计参数包括所述一个或多个设计参数中的每一个的值的扫掠。4.根据权利要求1所述的系统,其中所述一个或多个设计参数包括被提取自从被测设备集合中导出的数据集的一个或多个设计参数。5.根据权利要求4所述的系统,其中从所述被测设备集合中导出的数据集包括来自被测设备数据的参数扫掠的值的范围和步长。6.根据权利要求1所述的系统,其中所述一个或多个处理器进一步被配置成:在运行时环境中操作所述最优机器学习模型;以及周期性地检查所述最优机器学习模型的误差度量。7.根据权利要求6所述的系统,其中所述一个或多个处理器进一步被配置成:当所述误差度量失败时,根据需要来请求对所述最优机器学习模型的重新训练。8.根据权利要求7所述的系统,其中所述一个或多个处理器进一步被配置成:使用来自所述误差度量在其下失败的一个或多个数据集的被测设备数据以用于重新训练或调整所述最优机器学习模型,以开发新的机器学习模型设计。9.根据权利要求6所述的系统,其中所述一个或多个处理器进一步被配置成:当所述误差度量通过时,继续在所述运行时环境中操作所述最优机器学习模型。10.一种开发和测试机器学习模型的方法,包括:向波形仿真器机器学习系统提供一个或多个设计参数;从所述波形仿真器机器学习系统接收一个或多个数据集;使用所述一个或多个数据集中的至少一个来训练所开发的机器学习模型,从而产生经训练的机器学习模型;使用所述一个或多个数据集中的先前未使用的一个来验证所述经训练的机器学习模型;根据需要来调整所述经训练的机器学习模型;以及
重复所述训练、验证和调整,直到训练出最优机器学习模型。11.根据权利要求10所述的方法,其中提供所述一个或多个设计参数包括提供从针对一个或多个期望测量结果的波形参数确定的一个或多个设计参数。12.根据权利要求11所述的方法,其中所述一个或多个期望测量结果包括一定范围的tdecq值。13.根据权利要求10所述的方法,其中提供所述一个或多个设计参数包括提供所述一个或多个设计参数中的每一个的值的扫掠。14.根据权利要求10所述的方法,其中提供所述一个或多个设计参数包括接收被提取自从被测设备集合中导出的数据集的一个或多个设计参数。15.根据权利要求14所述的方法,其中从所述被测设备集合中导出的数据集包括来自被测设备数据的参数扫掠的值的范围和步长。16.根据权利要求10所述的方法,进一步包括:在运行时环境中操作所述最优机器学习模型;以及周期性地检查所述最优机器学习模型的误差度量。17.根据权利要求16所述的方法,进一步包括:当所述误差度量失败时,根据需要来请求对所述最优机器学习模型的重新训练。18.根据权利要求17所述的方法,进一步包括:使用来自所述误差度量在其下失败的一个或多个数据集的被测设备数据以用于重新训练或调整所述最优机器学习模型,以重新设计新的所开发的机器学习模型。19.根据权利要求16所述的方法,进一步包括:当所述误差度量通过时,继续在所述运行时环境中操作所述最优机器学习模型。20.根据权利要求10所述的方法,其中所开发的机器学习模型包括神经网络。
技术总结
公开了一种用于开发和测试机器学习模型的系统和方法。所述系统包括:波形仿真器机器学习系统;用户接口,用于允许用户输入所述波形仿真器机器学习系统的设计参数;处理器,其被配置成执行代码以使得所述处理器:将所述设计参数发送到所述波形仿真器机器学习系统;从所述波形仿真器机器学习系统接收数据集,所述数据集基于所述设计参数;使用所述数据集中的至少一个来训练所开发的机器学习模型,从而产生经训练的机器学习模型;使用所述数据集中的先前未使用的一个来验证所述经训练的机器学习模型;根据需要来调整所述经训练的机器学习模型;以及重复所述训练、验证和调整,直到训练出最优机器学习模型。出最优机器学习模型。出最优机器学习模型。
技术研发人员:孙文正 X
受保护的技术使用者:特克特朗尼克公司
技术研发日:2023.01.06
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/