CN113255926A - 用于机器学习的计算机实现的方法和设备 - Google Patents
用于机器学习的计算机实现的方法和设备 Download PDFInfo
- Publication number
- CN113255926A CN113255926A CN202110174987.9A CN202110174987A CN113255926A CN 113255926 A CN113255926 A CN 113255926A CN 202110174987 A CN202110174987 A CN 202110174987A CN 113255926 A CN113255926 A CN 113255926A
- Authority
- CN
- China
- Prior art keywords
- test cases
- test
- dimensions
- options
- determined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
用于机器学习的设备和计算机实现的方法,其中提供第一输入数据(500),所述第一输入数据(500)包括关于用于机器学习的维度和选项的信息,其中根据关于用于所述机器学习的至少一个测试用例的维度和选项的信息向这些维度其中至少一个维度分配(504)这些选项其中至少一个选项,其中确定(512)在所述测试用例集合(510)中缺少的维度子集的选项组合,其中为所述组合确定测试用例。
Description
技术领域
本发明基于用于机器学习的方法和设备。
背景技术
机器学习或者说Machine Learning是人工智能(KI)的一种形式,人工智能使得系统能够从数据中学习而不是通过显式编程来学习。在机器学习的情况下,基于数据来训练模型,例如机器学习算法。经过训练的模型例如是预测模型或识别函数。如果将数据提供给所述模型,则所述系统使用所述模型来例如确定预测或识别状况。
创建足够品质(Güte)的可靠模型是巨大挑战。因此,值得期望的是,说明如下可能性,所述可能性为创建足够品质的可靠模型创造前提条件并实现创建可靠模型。
发明内容
这通过独立权利要求的主体来实现。
一种用于机器学习的计算机实现的方法规定,提供第一输入数据,所述第一输入数据包括关于用于机器学习的维度和选项的信息,其中根据关于用于机器学习的至少一个测试用例的维度和选项的信息向多个所述维度其中至少一个维度分配多个所述选项其中至少一个选项,其中确定在测试用例集合中缺少的维度子集的选项组合,其中针对所述组合确定测试用例。由针对维度和选项的所有允许组合可能性的集合定义用于机器学习的域模型的可能状态。为所有可能的状态确定测试用例是非常耗费的(aufwändig),因为这是指数级的。可以由维度及其选项构成的子集定义用于机器学习的模型。为了实际创建足够品质的模型,仅为状态的子集确定测试用例就足够了。该子集原则上可以通过从所有可能状态中随机选择来被确定。优选地,为所述状态的子集选择以下状态,利用这些状态通过所述测试用例实现k方式覆盖(k-weise Abdeckung)。如果对于维度大小为k的每个子集,分别对于这些维度的选项的每种组合存在至少一个具有该组合的被包含在所述测试用例集合中的测试用例,则得出k方式覆盖。
优选地,提供包括至少一个测试用例的第二输入数据,并且其中根据来自所述第二输入数据的至少一个测试用例确定所述测试用例集合。由此可以在已经存在的测试用例的基础上初始化所述测试用例集合。
在一个方面,根据表征针对所述机器学习的重要性的权重,从多个维度或选项中选择数个维度或选项。这使得能够在相对于使用所有维度和选项而言经减少的计算耗费(Berechnungsaufwand)的情况下创建足够品质的可靠模型。
优选地,根据至少一个辅助条件确定至少一个维度子集,所述辅助条件定义了多个维度或选项的至少一个允许的组合和/或至少一个不允许的组合。所述辅助条件将状态数量减少到对于机器学习有意义、重要或必要的状态。
优选地,确定状态的k方式覆盖或通过测试用例集合的k方式覆盖,其中k定义在维度子集中彼此组合的维度的数量。这使得能够特别有效地减少测试用例的数量。
在一个方面,在遵守所述至少一个辅助条件的情况下为所述k方式覆盖确定多个维度的至少一个组合。通过所述辅助条件减少了所述计算耗费。
优选地,检查所述测试用例集合是否针对多个维度子集中的每个子集都包括至少一个测试用例。由此能够特别好地确定所述测试用例。
优选地,确定尚未被所述测试用例集合中的测试用例覆盖的维度子集,其中针对尚未被覆盖的维度子集确定至少一个测试用例。由此覆盖了尚未被覆盖的状态。
在一个方面,通过将第一选项与第二选项组合来定义测试用例,其中所述第一选项是来自多个第一选项中的为第一维度定义的选项,其中所述第二选项是来自多个第二选项中的为所述第一维度或为第二维度定义的选项。该组合特别适合于机器学习。
在一个方面,所述测试用例集合中的多个第一测试用例通过针对第一维度和第二维度的多个选项来定义,其中确定通过针对所述第一维度、所述第二维度和第三维度的多个选项所定义的多个第二测试用例,其中为了确定所述多个第二测试用例将所述多个第一测试用例分配给针对所述第三维度的选项。由此实现了:以附加维度进行扩展,而不必重新确定这些已经已知的测试用例。
优选地,为来自所述测试用例集合中的至少一个测试用例确定用于具体测试用例集合的数个具体测试用例。由此产生可以在所述机器学习中用于测试、验证或训练的数据。
优选地,根据所述数个具体测试用例来确定权重,其中将所述具体测试用例集合划分为多个子集,其中根据所述权重将多个具体测试用例中的至少一个具体测试用例分配给所述多个子集之一或不分配给所述多个子集之一。由此避免或导致具体测试用例在所述子集中的代表性过高或代表性不足(Über- oder Unterrepräsentation)。
优选地,针对机器学习,将多个具体测试用例确定为用于训练的训练数据、用于验证的验证数据或用于测试的测试数据。所述子集在机器学习中用于不同目的。
用于机器学习的设备被构造为执行所述方法。
附图说明
从下面的描述和附图中得出其他有利的实施方式。
在附图中:
图1示出了测试环境的示意图,
图2示出了在用于机器学习的方法中的步骤,
图3示出了工具链的一部分的示意图,
图4示出了域模型的多个方面,
图5示出了用于产生测试用例的流程图。
具体实施方式
图1示意性地示出了用于机器学习的系统100。系统100包括模型102。模型102可以例如包括人工神经网络。
在一个方面,用于机器学习的系统100包括工具链104。工具链104例如可以用于机器学习。工具链104被构造为产生用于所述机器学习的训练数据和/或验证数据。工具链104可以被构造为利用所述测试数据来测试模型102和/或利用所述验证数据来验证模型102。
工具链104可以被构造为产生用于所述机器学习的训练数据。工具链104可以被构造为利用训练数据来训练模型102。
在该示例中,模型102被构造为对输入数据106进行分类。可以与工具链104无关地使用模型102。
工具链104例如被实现为用于产生所述测试数据的工具程序的系统性集合。可以设置创建式地产生训练数据的工具程序。可以设置用于训练模型102、测试模型102和/或使用模型102进行分类的工具程序。
模型102被构造为根据模型102的输入数据106确定模型102的输出数据108。输入数据106可以表示在所述人工神经网络的输入层处的输入。所述输出数据可以表示所述人工神经网络在输出层处的输出。在该示例中,所述人工神经网络包括布置在所述输入层和所述输出层之间的至少一个隐藏的(verborgen)层。
工具链104被构造为确定模型102的输入数据106。工具链104被构造为处理模型102的输出数据108。在该示例中,工具链104与模型102之间的接口110使得输入数据106能够从工具链104传输至模型102。在该示例中,接口110使得输出数据108能够从模型102传输至工具链104。
模型102可以被构造为与工具链104无关地确定输出数据108。在模型102的训练结束之后,例如由使用经过训练的模型102的系统提供输入数据106,并且由该系统进一步处理输出数据108。
在下面描述的示例中,能够由用于操控或调节的系统使用模型102。在下面描述的示例中,模型102表示识别函数(Erkennungsfunktion)。所述识别函数应当是例如针对安全性关键的应用能够使用的。所述安全性关键的应用例如被构造用于至少部分自主的驾驶,特别是机动车辆或机器人的至少部分自主的驾驶。在该示例中,所述识别函数是分类函数,利用所述分类函数能够将多个数字图像分类到多个类别。在该示例中,这些类别定义了如下状况,在所述状况中应当能够将所述系统用于操控或调节。模型102还可以表示预测函数,利用所述预测函数可以预测例如车辆、人员或其他对象的轨迹。
在该示例中,输入数据106是多个数字图像。在该示例中,输出数据108定义一个或多个类别。在示例中,所述多个数字图像通过由数字相机、LiDAR传感器、雷达传感器或超声传感器所检测的多个图像来定义。这些图像例如存储在数据库114中。
在该示例中,工具链104和数据库114能够经由接口112连接。工具链104被构造为从数据库114中提取数字图像作为训练数据或测试数据。
输入数据106可以通过如下矢量定义,所述矢量对数字图像的每个像素都具有定义该像素的内容的值。例如,将这些像素逐行(zeilenweise)连接(konkatenieren)到所述矢量中。对于具有不同颜色通道(Farbkanälen)的图像而言,可以将它们先后连接到所述矢量中。也可以使用如下张量(Tensor),所述张量具有针对各个行和/或各个颜色通道的维度。
输出数据108可以通过矢量定义,在所述矢量中每个元素被明确地分配给类别。元素的值例如说明针对如下类别的概率,其中该元素被分配到所述类别。
模型102被构造为,针对输入数据106、即在该示例中表示数字图像的矢量或张量来输出输出数据108,即在该示例中为如下矢量,所述矢量说明模型102可以将数字图像分类到所述类别中的概率。
在该示例中,数字图像表示其中包含场景的现实映射(Abbilder einerWirklichkeit)。在该示例中,应该将类别分配给这些场景。例如,响应于检测到数字图像,应当根据具有最大概率的类别来执行动作。为了训练、测试和验证这种识别函数,需要具有大量数字图像的数据集。所述数据集还必须包含具有足够多样性的不同场景的多个数字图像。
所述机器学习的一个目标是实现所述场景的足够覆盖,以便使所述识别函数也对多个未知数字图像可靠地进行分类。
在该示例中,针对所述数据集在状态空间中定义了域模型的多个状态。在该示例中,状态由所述状态空间的一个或多个维度来定义。为了评估在所述训练中、所述测试中或所述验证中利用样本(Muster)、即多个数字图像所达到的覆盖,可以确定在所述状态空间中所述数据集的多个图像的分布。特别是必须确保鉴于所述域模型的维度和所属状态方面的差异(Varianz)。
所述覆盖随着数字图像数量增加和/或随着数字图像变化增加而增大。例如,如果在所述训练或所述验证中所使用的所述多个数字图像中包含的数个场景增加,则所述变化也增加。
通过下面描述的过程实现了所述测试数据和/或所述验证数据中的特别好地适合于机器学习的变化。可以针对所述训练数据相对应地那样进行设置。
在图2中示出了其中可以使用该过程的用于机器学习的方法的步骤。
在步骤200中预给定模型102。在该示例中,模型102被实现为人工神经网络,其拓扑通过超参数(Hyperparameter)预给定。在该示例中,使用工具链104确定模型102。下面更详细地描述模型102的预给定(Vorgabe)。
在机器学习的范畴内规定,在步骤202中预给定用于所述机器学习的训练数据。在训练中对训练数据的预给定和/或针对验证而对验证数据的预给定可以如在下面基于图5所描述的那样执行,以便特别是保证所述训练数据和/或验证数据中的覆盖。所述训练数据包括样本,其在该示例中为数字图像。优选地,样本包括数字图像和描述。例如,设置元数据作为描述。在该示例中,从数据库114提取所述训练数据。在该示例中,例如随机地从数据库114中提取不同的训练数据。
可以规定,针对所述训练数据的样本在该方法期间由用于所述系统的仿真环境(Simulationsumgebung)确定。所述样本也可以来自为了检测所述训练数据而执行的现场试验(Feldversuch)。
然后在步骤204中基于所述训练数据来训练模型102。在该示例中,基于所述训练数据使用梯度下降方法、例如ADAM进行所述训练。在所述梯度下降方法中确定模型102的参数,在该示例中是所述人工神经网络的权重,所述参数针对所述训练数据最小化所述梯度下降方法的损失函数。
然后在步骤206中检查针对该模型102的训练是否结束。例如,当所有训练数据已被使用了或已达到最大训练循环次数时,所述训练被结束。当针对该模型102的训练结束时,执行步骤208。否则,执行步骤202。
然后在步骤208中确定用于所述机器学习的测试数据。所述测试数据包括样本,在该示例中是数字图像。在该示例中,所述测试数据由所述系统的仿真环境确定,特别是在所述方法期间确定。可以在所述仿真环境中或者也可以在现场试验中与所述方法无关地确定所述样本。在该示例中,利用工具链104确定或者从现有样本中选择用于所述测试数据的样本,其中通过所述样本的变化实现特别好的覆盖。测试数据的预给定可以如下面基于图5所描述的那样执行,尤其是以便保证测试数据中的覆盖。为此的行为方式(Vorgehensweise)在下面描述。
然后在步骤210中预给定用于测试模型102的测试数据。这意味着利用所述样本来测试利用训练数据所训练的模型102,其中所述样本在该示例中是来自所述测试数据的数字图像。针对验证也可以相应地来进行。
例如,根据所述测试数据为所述人工神经网络的参数确定损失函数的值。
然后在步骤212中检查模型102是否具有足够的品质。例如将根据所述测试数据确定的针对所述参数的损失函数的值用于评估模型102的品质。例如将该值与阈值进行比较。如果模型102具有足够的品质,则认为所述测试是成功的并且结束所述测试。例如,如果该值低于阈值,则品质就足够了。否则执行步骤200。
在该示例中,以彼此不同的模型迭代地重复所述训练,例如直到达到足够的品质或所有可用或可预给定的模型都被预给定了为止。在该示例中,针对模型102以彼此不同的训练数据迭代地重复所述训练。相同的训练数据可用于不同的模型。
所述方法的步骤可以以该顺序或其他顺序运行。并非在每次迭代中都必须执行所有步骤。针对一致的、足够的品质可以规定:如下面所描述的那样确定用于域模型的具体测试用例,并且将所述具体测试用例分布到所述域模型的子集。
在图3中示出了工具链104的一部分300的示意图。在图3中示出的部分300涉及:对用于测试模型102的测试用例302进行确定。可以为所述训练数据和所述验证数据设置对应的部分。
部分300包括用于域的形态分析(morphologische Analyse)的第一工具304。第一工具304被构造为基于所述域的形态分析的结果来管理和/或产生多个模型。
第一工具304可以被构造为预给定用于上述方法的模型102。在该示例中,第一工具304被构造为在该方法的不同迭代中使用不同的超参数和/或权重来预给定模型102。
例如,人工神经网络的超参数和/或权重由第一工具304确定。在该示例中,第一工具304被构造成,针对多个模型确定模型状态空间中的超参数和/或权重。
在该示例中,模型102包括域模型及其辅助条件。可以将所述辅助条件定义为固定规则。
在该示例中,所述域模型由一个或多个兹维基盒(Zwicky Box)组成。在该示例中,每个兹维基盒包括一个或多个维度。在该示例中,每个维度都能够以一个或多个选项被占用(belegbar mit…)。在该示例中,每个选项都是针对维度的值占用(Wertebelegung)。每个状态都是针对所有维度的所有选项的值占用。
在该示例中,辅助条件是边界条件,该边界条件定义了不同兹维基盒中的一个兹维基盒的选项的允许或不允许的组合。由此例如可以排除一定的状态。
第一工具304被构造为,通过所述域的形态分析来为此确定所述域模型和辅助条件。
以图4为例,描述了域模型的子模型400的示例。图4中所示的子模型400具有11520种可能状态。这些状态中的每一个状态都通过选项的可能组合之一定义。在该示例中,子模型400包括以下维度:
一天中的时间402
霾/雾404
道路状态406
天空状态408
降雨410
道路上的反射412
道路上的阴影414
主体类型(Subjekttype)416
主体姿态418
主体与背景的对比度420。
在该示例中,维度一天中的时间402包括选项:早上422,中午424,傍晚426和晚上428。
维度霾/雾404包括选项:霾/雾:是430和否432。
维度道路状态406包括以下选项:干燥434,潮湿436,结冰438,有雪覆盖440,损坏442。
维度天空状态408包括以下选项:多云444,未定义446,晴朗448。未定义446在此涉及发生在不能识别出天空是晴朗还是多云的情况下例如在夜晚出现的选项。
维度降雨410包括选项:降雨:是450和否452。
维度道路上的反射412包括选项:反射:是454和否456。
维度道路上的阴影414包括选项:阴影:是458和否460。
维度主体类型416包括选项:成人462和儿童464。
维度主体姿态418包括选项:行人466,慢跑者468和骑自行车的人470。
维度主体与背景的对比度418包括:状态低472和状态高474。
这些是交通场景的多个方面。
在该示例中,作为第一工具304使用根据M. Zimmermann,T. Bleile,F. Heiber和A. Henle,“Mastering the complexity of engine control functions”,MTZworldwide,卷76,第1号,38–41页,2015的SCODE工具。在该示例中,为此使用根据ETAS GmbH的SCODE分析仪,“SCODE-Software for describing and visualizing complex closed-loop control systems”,2019,https://www.etas.com/scode。
例如,借助于SCODE 兹维基盒或这些盒中的多个盒对所述域模型进行建模。
对于所述交通场景,可以使用子模型400针对在其上有儿童在白天穿过交叉路口数字图像通过下列内容来定义测试用例:一天中的时间402:标签422;霾/雾404:否430;道路状态406:干燥434;天空状态408:多云444;降雨410:否450;道路上的反射412:否454;道路上的阴影414:否458;主体类型414:儿童464;主体姿态416:行人466;主体与背景的对比度418:高474。
可以设置其他子模型。例如,在所述交通场景中为道路定义了子模型:道路,其具有以下维度:
道路类型
所述道路的延伸方向
所述道路的形状
所述道路的高度分布(Höhenprofil)
所述道路的长度。
为了在用测试用例进行的测试中实现完全覆盖所述域模型的所有可能状态,需要11520个测试用例。在该示例中,对于成对的测试在11520个可能的测试用例中只需要9216个测试用例以实现完全覆盖,其中所述成对的测试也即是如下测试,在所述测试中将一个测试用例用于这些维度其中两个维度彼此的每种组合。在成对测试的情况下,针对用于选择实现所述完全覆盖的测试用例的选择标准是:对于这些维度中两个维度彼此的每种可能组合使用恰好一个测试用例。这意味着从可能的测试用例中确定满足该标准的所选的测试用例。对于与所述成对测试不同的其他测试,可以定义其他标准。例如,通过k个维度的每种可能组合来定义用于k方式测试的标准。
下面参考部分300的第二工具306描述用于减少测试用例数量的过程。
在该示例中,第二工具306被构造为在考虑辅助条件的情况下将域模型的状态空间映射到组合状态空间。与不受所述辅助条件限制的状态的数量相比,通过所述辅助条件减少了可能状态的数量。例如,可以定义辅助条件,所述辅助条件预给定或排除选项的组合可能性并由此减少可能状态的数量。
对于所述交通场景的这些方面,例如可以为维度道路状态406和维度道路上的反射412定义相互关联(Zusammenhang),据此,选项潮湿436或选项438总是随着选项反射:是454而出现。
在该示例中,第二工具306被构造为确定与所有测试用例的所有维度的所有选项的组合可能性的数量相比减少了数量的测试用例。在该示例中,该数量减少了2304。
第二工具306可以被构造为根据减少了数量的测试用例来确定具体测试用例。具体测试用例例如是如下数字图像或信号,使用来自所述测试用例的选项以合成方式生成所述数字图像或信号或从已经存在的具体测试用例中选择所述数字图像或信号。如果以合成方式生成具体测试用例、例如数字图像,则存储包括所有选项在内的所属测试用例。在现有的具体测试用例的情况下,所述维度的所属选项和所属测试用例可以要么通过所述具体测试用例的现有元数据导出,要么以算法的方式从所述具体测试用例中导出,要么通过手动注释来被确定。
第一工具304可以被构造为根据已经已知的多个测试用例确定如下多个起始值,所述起始值被用于由第二工具306来对至少一个其他测试用例进行确定。通过已经已知的多个测试用例来定义用于所述确定的所述起始值。
对于所述交通场景,通过以下测试用例针对在其上有儿童在白天穿过交叉路口的数字图像定义起始值:一天中的时间402:标签422,霾/雾404:否430,道路状态406:干燥434,天空状态408:多云444,降雨410:否450,道路上的反射412:否454,道路上的阴影414:否458,主体类型414:儿童464,主体姿态416:行人466,主体与背景的对比度418:高474。
其他起始值可以由其他多个测试用例来定义。
优选地,仅确定如下多个测试用例,这些测试用例并非已经用于确定所述起始值。可以将已用于确定所述起始值的所述多个测试用例添加到所述一个或多个其他测试用例。由此这些测试用例补充了由第二工具306所确定的所述一个或多个其他测试用例。
第二工具306可以被构造为根据域模型确定测试用例集合。第二工具306可以被构造为根据由第一工具304确定的多个子模型来确定所述测试用例集合。在所述交通场景的示例中,将子模型400从第一工具304传输至第二工具306。
第二工具306可以被构造为将子模型400确定到组合状态空间中。在该示例中可以规定,在所述组合状态空间中特别是分层地(hierarchisch)组合所述子模型。例如,通过所述辅助条件可以定义哪个子模型能够与哪个其他子模型组合。
例如,子模型“道路”和子模型“行车道”能够彼此组合成测试用例。第二工具306可以被构造为通过选择两个或更多个不同维度的组合来确定所述测试用例。第二工具306在该示例中被构造为通过成对地组合两个不同维度的选项来确定测试用例。
在示例中,所述子模型“道路”包括7个维度,其具有272160个可能的选项组合。在这种情况下,为了完全覆盖,由第二工具306利用成对的组合来确定185个测试用例。在该示例中,所述子模型“行车道”包括8个维度,其具有6804000个可能的选项组合。在这种情况下,为了完全覆盖,由第二工具306利用成对的组合来确定210个测试用例。
通过组合这些子模型的15个维度的所有选项,定义大约1.85×1012个状态。在这种情况下,为了完全覆盖,由第二工具306利用成对的组合确定420个测试用例。
可以规定,附加地使用子模型“道路的摩擦系数”。在这种情况下定义新的测试用例。在该示例中,通过所述子模型“道路的摩擦系数”补充该新的测试用例。所述测试用例“道路的摩擦系数”包括具有四个选项的一个维度。
通过组合所述新子模型的所有维度的所有选项,可以实现7.407×1012个状态。这意味着域模型的状态数量增加了4倍。
可以规定,重新使用先前确定的多个测试用例。在该示例中,这意味着向第二工具306预给定先前确定的所述多个测试用例作为多个起始值。由于先前没有定义摩擦系数这个维度,因此在先前的所述多个测试用例中保持对该维度不予考虑。假设前提条件是这对应于维度“摩擦系数”的选项“正常”,则第二工具306并不为此确定新的多个测试用例。相反,为此从所述多个起始值中选择所述多个先前确定的测试用例并用作新的测试用例。在该示例中,要由子模型“道路的摩擦系数”附加地确定的测试用例的数量为63。由第二工具306预给定的测试用例的总数为420。在这种情况下,附加地确定的测试用例至少部分地代替先前确定的测试用例。由此在测试用例的数量相同的情况下,经由附加维度而实现了测试用例的变化。
第二工具306可以被构造为确定起始值覆盖。在该示例中,起始值覆盖是通过所述多个起始值覆盖减少了数量的测试用例。在该示例中,为此定义起始值与第二工具306确定的经减少的测试用例数量之比。例如,根据已被测试用例的特定起始值集合覆盖的状态的数量来确定起始值覆盖。在该示例中,所述状态的数量说明了所述覆盖的品质。
作为第二工具306,在该示例中使用在“24th Pacific Northwest SoftwareQuality Conference,卷200,2006”中根据J. Czerwonka“Pairwise testing in realworld”的组合工具PICT。
第二工具306提供关于所述组合状态空间的信息,并且使得能够提供用于完全k方式覆盖的测试用例,特别是在考虑可能的辅助条件的情况下。域模型的组合维度的数量用k表示。在上述成对测试的示例中,k=2。
在该示例中,第一工具304被构造为经由域模型接口308将所述域模型传输到第二工具306。在该示例中,第一工具304被构造为经由起始值接口310将所述一个或多个起始值传输到第二工具306。在该示例中,第二工具306被构造为经由域模型接口308接收所述域模型。在该示例中,第二工具306被构造为经由起始值接口310接收所述一个或多个起始值。
在一个方面中,第二工具306具有用于所述组合状态空间的输出接口312。在一个方面中,第二工具306具有用于所述起始值覆盖的输出接口314。
可以设置传输、即经由重新导入接口318将来自第二工具306的测试用例重新导入到第一工具304中。由此能够将已经存在的测试用例特别有效地考虑作为起始值。
下面参考图5中的流程图描述用于生成多个测试用例的多个方面。可以规定迭代重复地产生测试用例。
该示例针对可见域来描述。就此而论,“可见”特别是意味着针对人类而言可见。在至少部分自主驾驶的示例中,所述可见域包括例如能由相机检测的域知识,所述域知识例如以数字图像形式检测。如果使用其他传感器、例如雷达、LiDAR或超声波的传感器,则域也可以包括由这些传感器检测的数字图像。下面描述的过程同样能应用于这些数字图像。
在第一步骤中,提供第一输入数据500,所述第一输入数据500包括关于用于所述机器学习,特别是用于定义状态的维度和选项的信息。这可以在用户输入的范畴内通过第一工具304进行。第一输入数据500包括域知识。第一输入数据500可以包括示例性测试用例集合,例如边缘用例集合。第一输入数据可以代表专家知识或代表可能维度和所属选项的集合。第一输入数据500可以包括元数据,所述元数据具有用于描所述域模型的信息的。在该示例中,第一输入数据500包括关于所述可见域的域知识。关于所述可见域的域知识例如包括:对于所述域中的对象或主体的可见危险;或影响所述可见域中的对象或主体的行为的因素。在该示例中,所述域知识包含在为数字图像定义的维度和选项中。所述域知识可以通过针对数字图像的维度和选项来得以定义。除此之外附加地或替代于此,所述域知识还可以通过传感器特定的特征参量、例如压力或温度这些条件的时间变化过程的维度和选项来定义。所述第一输入数据还可以包括辅助条件。
还可以提供第二输入数据502。在该示例中,第二输入数据502包括已经存在的测试用例的集合。该集合可以是空集合。通过第二输入数据502添加一个测试用例或现有测试用例的集合。例如,可以对图像数据进行预给定。
在步骤504中,根据关于用于机器学习的至少一个测试用例的维度和选项的信息,向至少一个所述维度分配至少一个所述选项。在该示例中,测试用例包括选项的组合。在该示例中,测试用例包括多个维度。在该示例中,为所述测试用例的每个维度定义了选项。例如,根据第一输入数据500对域执行形态分析。在所述形态分析中,确定对域模型506的描述,所述域模型506将维度和选项分配至彼此。
用于描述域模型506的信息可以包含在针对第一输入数据500的元数据中。
在该示例中,借助于所述方法和软件SCODE执行所述形态分析。SCODE软件的操作可以手动地,即由专家执行。
域模型506定义状态空间。优选地,确定域模型506的完整状态空间。所述状态空间包括多个状态,这些状态是根据所述描述通过所有维度的选项的组合所定义的。这意味着,根据针对域模型506的描述在有效状态和无效状态之间进行区分。
在该示例中,借助于所述方法和软件SCODE根据所述域模型的描述来确定域模型506。域模型506可以例如如图4所示地包括一个兹维基盒或可以包括多个兹维基盒。每个兹维基盒都通过具体的维度选择来定义,每个维度分别具有可能的选项。给定辅助条件,即考虑可能状态的限制或子集。所述域模型中的兹维基盒定义可能的状态空间。具体的状态集合尚未被定义。
在步骤508中,根据第二输入数据502并且根据域模型506来确定测试用例集合510。测试用例集合510定义了具体的状态集合,其中每个状态是每维度的选项的具体选择。
测试用例集合510可以包括来自第二输入数据502的至少一个测试用例。
在步骤512中,为测试用例集合510中包括的维度子集确定选项的组合。
在该示例中,通过测试用例集合510分析k方式覆盖。在该示例中,通过测试用例集合510确定所述域模型的所有维度的k方式覆盖。在这种情况下,k表示所述域模型的针对维度子集所组合的维度的数量。如果设置辅助条件,则可以在考虑这些辅助条件的情况下来确定所述覆盖。在遵守至少一个辅助条件的情况下,为所述k方式覆盖例如确定多个维度的至少一种组合。
在该示例中,针对维度子集检查测试用例集合510是否包括具有所述维度子集的至少一个测试用例。如果所述子集和所述测试用例包括在所有维度中相同的选项组合,则所述子集被覆盖。检查测试用例集合510是否包括针对实现所述覆盖所需要的所有测试用例。在该示例中,检查多个子集中是否存在至少一个未被测试用例集合510覆盖的子集。
在该示例中,借助于组合工具PICT实现k方式覆盖。优选地,确定尚未被测试用例集合510中的测试用例覆盖的子集或尚未被该集合覆盖的所有子集。在示例中,由此得到报告514,所述报告514包括覆盖程度和/或仍然缺少的测试用例。在不完全覆盖的情况下,报告514包括尚未被覆盖的至少一种维度组合。
在步骤516中,为测试用例集合510中缺少的组合确定测试用例。对于如下组合根据维度和分配给这些维度的选项来确定测试用例,其中针对该组合测试用例集合510不包括在机器学习时覆盖该组合的测试用例。在该示例中,根据报告514,为至少一个尚未被覆盖的选项组合确定至少一个测试用例。例如通过第一选项与第二选项的组合来定义所述至少一个测试用例。在该示例中,所述第一选项是多个第一选项中的为第一维度定义的选项。在该示例中,所述第二选项是多个第二选项中的为所述第一维度或为第二维度定义的选项。它们被确定为,使得尚未被覆盖的组合和所述测试用例包括相同的选项组合。优选地,确定覆盖多个或所有尚未被覆盖的组合的多个测试用例。
可以规定,存储一个或多个测试用例以用于以后在测试中使用或用作第二输入数据。特别是可以规定,与上述步骤无关地执行以下步骤,特别是在分开的装置中执行以下步骤。
可以规定,如果在没有所述维度的情况下已经确定了测试用例集合510的第一测试用例,则考虑所述附加维度。例如,使用第一选项和第二选项来附加地定义附加维度。
在这种情况下,所述第一测试用例由针对第一维度和第二维度的选项来定义。基于此,可以确定由针对第一维度、第二维度和第三维度的选项所定义的多个第二测试用例。为了确定所述多个第二测试用例可以规定:将所述多个第一测试用例分配给针对第三维度的选项。优选地,为所述第三维度定义第一选项和第二选项。如果所述附加维度可以具有多个选项,则将已经已知的多个测试用例分配给这些选项之一。可以为未被现有的多个测试用例所覆盖的新出现的多个状态确定多个新的测试用例。
在步骤518中,输出测试用例集合510以用于所述机器学习。在该示例中,如果测试用例集合包括针对所述状态子集中的多个状态的测试用例,则输出所述测试用例集合。
可以规定,将所述测试用例集合中的测试用例映射到具体测试用例。优选地,将所有测试用例映射到多个具体测试用例。可以使用具体测试用例来测试模型102。在该示例中,所述具体测试用例是数字图像。对于受监视的机器学习而言,所述具体测试用例可以包括由所述测试用例定义的一个或多个标签和数字图像。对于不受监视的机器学习而言,所述具体测试用例可以包括与标签无关的数字图像。在该示例中,测试用例描述了用于确定可见域中的数字图像的参数。在该示例中,根据所述参数来确定至少一个数字图像。
例如,在仿真中产生所述数字图像,所述仿真的参数通过所述测试用例定义。还可以设置现场试验,利用所述现场试验来检测所述数字图像。在这种情况下,所述测试用例定义了所述现场试验的参数。还可以规定,所述测试用例表征来自数据库的数字图像。在这种情况下,作为具体测试用例可以从所述数据库中提取数字图像,特别是具有通过所述测试用例标识的至少一个标签的数字图像。
优选地,为多个测试用例确定具体测试用例的集合。
在步骤520中规定,将具体测试数据的集合划分为多个子集。例如,针对k倍交叉验证产生k个子集。如果设置了辅助条件,则在遵守所述辅助条件的情况下确定这些子集。优选地,将所述具体测试用例的集合划分为,使得实现经这些子集的均匀的k方式覆盖。
在步骤522中规定,为具体测试用例分配权重。例如,确定覆盖特定状态的具体测试用例的出现频率。优选地,为多个状态确定在测试用例中出现的相应频率。可以规定:将第一权重分配给第一状态。可以规定:将第二权重分配给与所述第一状态不同的第二状态。可以规定:为所述第一状态确定第一频率。可以规定:为所述第二状态确定第二频率。优选地规定:如果所述第一频率小于所述第二频率,则所述第一权重大于所述第二权重。由此对具体测试用例中很少被覆盖的状态更强地加权。
可以规定,根据所述权重将具体测试用例分到多个子集。优选地,将用于具有相对其他状态而言高的权重的多个状态的具体测试用例分类到用于训练数据的子集。在这种情况下,将用于所述其他状态的多个具体测试用例分类到用于测试数据或验证数据的子集。
在一个示例中,向每个具体测试用例分配权重,该权重说明该具体测试用例的少见程度。对于作为具体测试用例的数字图像而言,例如利用兹维基盒:
天空:昏暗,正常,明亮
人员:儿童,成人
距离:近,远
将第一测试用例定义为
天空:昏暗
人员:儿童
距离:近,
将第二测试用例定义为
天空:昏暗
人员:成人
距离:近,
将第三测试用例定义为
天空:正常
人员:儿童
距离:近。
对于每个测试用例,可以存在多个具体测试用例。在该示例中,对于第一测试用例存在20个第一具体测试用例,对于第二测试用例存在5000个第二具体测试用例,并且对于第三测试用例存在500个第三具体测试用例。
在这种情况下,可以根据针对相应测试用例存在的多个具体测试用例的数量来确定针对所述相应测试用例的权重。在该示例中,为所述多个第一具体测试用例确定第一权重w_1=1/20。在该示例中,为所述多个第二具体测试用例确定第二权重w_2=1/5000。在该示例中,为所述多个第三具体测试用例确定第三权重w_3=1/500。
例如,对于交叉验证方法规定借助于分层随机抽样(stratifizierteZufallsstichprobe)来形成多个子集,通过所述分层随机抽样,将各个测试用例分别分配给所述多个子集之一。
由此防止了子集具有偏差,即域模型的测试用例的非代表性分布。
在重新进行的分层随机抽样中,可以对在子集之一中代表性不足的来自子集的测试用例比该子集中的其他测试用例更高地加权。对在子集中代表性过高的测试用例可以比在该子集中代表性不足的其他测试用例更低地加权。
可以存储这些子集。可以将这些子集用于测试524、验证526或进一步训练528。
通过使用域的形态分析,特别是借助于所述方法和软件SCODE,以及通过使用组合测试,可以识别和/或确定弱点和尚待执行的测试用例,并为此产生测试数据。
在迭代地重复产生测试用例的情况下,可以规定:在重新迭代之前预给定迄今为止尚未考虑的附加维度。这可以基于如下计划来进行,所述计划根据缺少的、即尚未被覆盖的组合的数量或类型来加以确定。如果为所述域模型提供附加维度,则基于为没有所述附加维度的域模型定义的多个测试用例,为针对具有所述附加维度的域模型确定测试用例集合。可以规定:将所述测试用例集合中的已经已知的测试用例分配给所述附加维度的选项。在这种情况下,仅为具有所述附加维度的其他选项的组合确定新的测试用例。所述测试用例集合例如在后续迭代中是多个抽象的测试用例。
例如,为所述附加维度定义第一选项和第二选项。在这种情况下,可以将来自多个测试用例中的所有测试用例分配给所述第一状态。为所述第二状态确定附加组合。在这种情况下,用于具有第三维度的域模型的测试用例集合包括来自已经已知的多个测试用例中的所有测试用例并且附加地还包括根据所述附加组合确定的测试用例。如果所述附加维度可以具有多个选项,则将这些已经已知的测试用例分配给这些选项之一。为其他选项确定多个新的测试用例。
Claims (15)
1.用于使用测试用例集合(510)进行机器学习的计算机实现的方法,其特征在于,提供第一输入数据(500),所述第一输入数据包括关于用于所述机器学习的维度和选项的信息,其中根据关于用于所述机器学习的至少一个测试用例的维度和选项的信息向多个所述维度其中至少一个维度分配(504)多个所述选项其中至少一个选项,其中确定(512)在所述测试用例集合(510)中缺少的维度子集的选项组合,其中针对所述组合确定(516)测试用例。
2.根据权利要求1所述的方法,其特征在于,提供包括至少一个测试用例的第二输入数据(502),并且其中根据来自所述第二输入数据(502)的至少一个测试用例确定(510)所述测试用例集合。
3.根据前述权利要求中任一项所述的方法,其特征在于,根据表征(506)针对所述机器学习的重要性的权重,从多个维度或选项中选择(506)数个维度或选项。
4.根据前述权利要求中任一项所述的方法,其特征在于,根据至少一个辅助条件确定(506)至少一个维度子集,所述辅助条件定义了多个维度或选项的至少一个允许的组合和/或至少一个不允许的组合。
5.根据前述权利要求中任一项所述的方法,其特征在于,确定(512)通过所述测试用例集合的k方式覆盖,其中k定义在维度子集中彼此组合的维度的数量。
6.根据权利要求5所述的方法,其特征在于,在遵守所述至少一个辅助条件的情况下为所述k方式覆盖确定(512)多个维度的至少一个组合。
7.根据前述权利要求中任一项所述的方法,其特征在于,检查(514)所述测试用例集合是否针对多个维度子集中的每个子集都包括至少一个测试用例。
8.根据前述权利要求中任一项所述的方法,其特征在于,确定(514)尚未被所述测试用例集合中的测试用例覆盖的维度子集,其中针对尚未被覆盖的维度子集确定(516)至少一个测试用例。
9.根据前述权利要求中任一项所述的方法,其特征在于,通过将第一选项与第二选项组合来定义测试用例,其中所述第一选项是来自多个第一选项中的为第一维度定义的选项,其中所述第二选项是来自多个第二选项中的为所述第一维度或为第二维度定义的选项。
10.根据前述权利要求中任一项所述的方法,其特征在于,所述测试用例集合中的多个第一测试用例通过针对第一维度和第二维度的多个选项来定义,其中确定通过针对所述第一维度、所述第二维度和第三维度的多个选项所定义的多个第二测试用例,其中为了确定所述多个第二测试用例将所述多个第一测试用例分配(516)给针对所述第三维度的选项。
11.根据前述权利要求中任一项所述的方法,其特征在于,为来自所述测试用例集合中的至少一个测试用例确定(518)用于具体测试用例集合的数个具体测试用例。
12.根据权利要求11所述的方法,其特征在于,根据所述数个具体测试用例来确定权重,其中将所述具体测试用例集合划分(520)为多个子集,其中根据所述权重将多个所述具体测试用例中的至少一个具体测试用例分配(522)给所述多个子集之一或不分配给所述多个子集之一。
13.根据权利要求11至12中任一项所述的方法,其特征在于,针对机器学习,将多个具体测试用例确定(518)为用于训练(528)的训练数据、用于验证(526)的验证数据或用于测试(524)的测试数据。
14.用于机器学习的设备,其特征在于,所述设备被构造为,执行根据权利要求1至13中任一项所述的方法。
15.计算机程序,其特征在于,所述计算机程序包括计算机可读指令,在由计算机执行所述计算机可读指令时,运行根据权利要求1至13中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020201605.4A DE102020201605A1 (de) | 2020-02-10 | 2020-02-10 | Computerimplementiertes Verfahren und Vorrichtung für maschinelles Lernen |
DE102020201605.4 | 2020-02-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113255926A true CN113255926A (zh) | 2021-08-13 |
Family
ID=76968529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110174987.9A Pending CN113255926A (zh) | 2020-02-10 | 2021-02-09 | 用于机器学习的计算机实现的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210248464A1 (zh) |
CN (1) | CN113255926A (zh) |
DE (1) | DE102020201605A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645541B2 (en) * | 2017-11-17 | 2023-05-09 | Adobe Inc. | Machine learning model interpretation |
US11341034B2 (en) * | 2018-08-06 | 2022-05-24 | International Business Machines Corporation | Analysis of verification parameters for training reduction |
-
2020
- 2020-02-10 DE DE102020201605.4A patent/DE102020201605A1/de active Pending
-
2021
- 2021-02-03 US US17/166,532 patent/US20210248464A1/en active Pending
- 2021-02-09 CN CN202110174987.9A patent/CN113255926A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102020201605A1 (de) | 2021-08-12 |
US20210248464A1 (en) | 2021-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7075366B2 (ja) | 運転場面データを分類するための方法、装置、機器及び媒体 | |
KR102565278B1 (ko) | 영상 분할 방법, 영상 분할 장치, 및 영상 분할을 위한 학습 방법 | |
KR20200075344A (ko) | 검출기, 객체 검출 방법, 학습기 및 도메인 변환을 위한 학습 방법 | |
KR102548732B1 (ko) | 신경망 학습 방법 및 이를 적용한 장치 | |
Alam et al. | D2TFRS: An object recognition method for autonomous vehicles based on RGB and spatial values of pixels | |
KR20210002018A (ko) | 뉴럴 네트워크의 글로벌 불확실성을 추정하기 위한 방법 | |
WO2019053052A1 (en) | METHOD FOR (RE-) TRAINING MACHINE LEARNING COMPONENT | |
CN112883991A (zh) | 对象分类方法、对象分类电路、机动车辆 | |
JP2021174556A (ja) | 自動運転における機能テスト方法に基づくセマンティックな敵対的生成 | |
Chaudhary et al. | Video‐based road traffic monitoring and prediction using dynamic Bayesian networks | |
CN111874007A (zh) | 基于知识与数据驱动的无人车分层决策方法、系统、装置 | |
CN111241964A (zh) | 目标检测模型的训练方法、装置、电子设备和存储介质 | |
Malawade et al. | Roadscene2vec: A tool for extracting and embedding road scene-graphs | |
US20230230484A1 (en) | Methods for spatio-temporal scene-graph embedding for autonomous vehicle applications | |
CN115984537A (zh) | 图像处理方法、装置及相关设备 | |
US20220230418A1 (en) | Computer-implemented method for training a computer vision model | |
CN112241757A (zh) | 用于操作神经网络的设备和方法 | |
Bogdoll et al. | Perception datasets for anomaly detection in autonomous driving: a survey | |
CN114841227A (zh) | 修改表征计算机视觉模型的参数集 | |
US20220266854A1 (en) | Method for Operating a Driver Assistance System of a Vehicle and Driver Assistance System for a Vehicle | |
CN113011454A (zh) | 使用有噪声的标记和域适配来进行鲁棒的主动学习方法的系统和方法 | |
CN113095351A (zh) | 借助于初始标记的改善生成经标记的数据的方法 | |
Li | A scenario-based development framework for autonomous driving | |
CN111435457A (zh) | 对传感器获取的采集进行分类的方法 | |
US11908178B2 (en) | Verification of computer vision models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |