一种面向模型质量优化的AI系统测试数据生成方法技术方案

技术编号:29934026 阅读:19 留言:0更新日期:2021-09-04 19:07
本发明专利技术涉及一种面向模型质量优化的AI系统测试数据生成方法,针对原始测试集和由领域专家制定的变异算子库,首先计算原始测试集中数据之间的欧式距离,再以此为基础算得每个数据的平均距离,并将此作为该数据所在区域的数据稀疏程度指标。其次,选取平均距离最大的数据,使用变异算子库中的所有变异算子对其进行迭代变异。最后,对扩增后的测试集进行评估,在符合要求时,作为最终测试集来输出。本发明专利技术目的在于解决目前存在的AI系统测试数据少,测试集质量不高的问题。进而提高AI系统中软件测试的充分性,最终实现提高AI系统测试效率、保障AI系统质量的目标。AI系统质量的目标。AI系统质量的目标。

【技术实现步骤摘要】
一种面向模型质量优化的AI系统测试数据生成方法


[0001]本专利技术属于智能软件测试领域,尤其适用于智能软件测试中DNN模型的测试数据生成领域,其目的在于优化测试集质量,是一种提高测试充分性方法。

技术介绍

[0002]在AI系统开发领域中,模型测试是一项重要的工作。模型测试将一些符合真实世界的数据作为测试集输入模型当中,通过对输出结果进行验证来评估模型的性能和发现模型的缺陷。进行充分的模型测试可以更好地帮助开发人员发现模型的缺陷,从而进行参数调整等其他改善模型质量的操作。要对模型进行充分的测试,所使用的测试集必须有数据量多、数据分布多样性高、数据分布均匀的特点。
[0003]目前,针对测试数据获取困难、成本高的挑战,国内外研究人员相继提出了应用于测试数据的数据扩增方法,如对于图像数据作随机线性变换(旋转、平移等),对于文字数据作随机选取近义词替换等。这些方法在低成本的同时做到了让测试集的数据量有可观的提升,为测试人员开展测试工作提供了一定的帮助。然而,由于上述方法都是对原始测试集中每个数据随机选取扩增方法和扩增参数进行扩增,所以这些方法都很难处理原始测试集分布多样性不高和分布不均匀的问题。但是,在测试过程中,往往是一些边角案例可以使模型的缺陷暴露。所以,若是使用多样性不高或是分布不均匀的测试集进行测试,得到的测试结果与实际情况会有偏差,参考性不强。
[0004]对此,本专利技术提出一种面向模型质量优化的AI系统测试数据生成方法。本专利技术的基本思想为:应多对分布稀疏的区域进行变异生成新的数据,这样可以让数据分布得更加均匀,也能提高数据的分布多样性。即数据所在区域的稀疏程度可以作为指导信息,来提高新数据的质量和价值,改进测试集的测试质量。要实现该思想,本专利技术针对原始测试集和由领域专家制定的变异算子库,首先计算原始测试集中数据之间的欧式距离,再以此为基础来算得每个数据的平均距离,并将此作为该数据所在区域的数据稀疏程度指标。其次,选取平均距离最大的数据,使用变异算子库中的所有变异算子对其进行迭代变异。最后,对扩增后的测试集进行评估,若符合要求,则作为最终测试集来输出。
[0005]通过该方法,可以通过有效的指导生成质量更高的数据,从而对测试集进行质量优化,让测试人员可以对模型做更充分的测试。

技术实现思路

[0006]本专利技术通过提供一种面向模型质量优化的AI系统测试数据生成方法,来解决目前存在的AI系统测试数据少,测试集质量不高的问题,进而大幅度提高AI系统中软件测试的充分性,最终实现提高AI系统测试效率、保障AI系统质量的目标。
[0007]为达成上述目标,本专利技术提出一种面向模型质量优化的AI系统测试数据生成方法。该方法针对原测试集和领域专家制定的变异算子库,计算出原测试集中所有数据之间的欧式距离,并进一步计算出每个数据的平均距离,以此作为该数据所在区域的数据稀疏
程度的指标。再基于贪心思想,从测试集中选取平均距离最大的数据,使用变异算子库中的变异算子对其进行变异,每次变异后对生成的数据进行评价,若符合要求则进行迭代变异,若不符合要求则寻找下一个变异算子,一直到所有变异算子都已被使用,则寻找下一个平均距离最大的数据重复这些操作。具体而言,该方法包括下列步骤。
[0008]1)计算平均距离。给定原始测试集T={t1,t2,...,t
m
},首先根据数据的特征,定义一个特征空间Ω。使用线性归一化的方法对所有特征进行归一化处理。其次计算T中每一个数据t
i
在Ω中对应的特征向量t
i
=(x
i,1
,x
i,2
,...,x
i,n
)。再次,新建一个m*m的距离矩阵matrix_dist,用于记录T中所有数据两两之间的距离。然后开始遍历T中每对数据,计算其欧式距离并填写为matrix_dist对应的元,其计算公式如下:
[0009]dist(t
i
,t
j
)=[(x
i,1

x
j,1
)2+(x
i,2

x
j,2
)2+...+(x
i,n

x
j,n
)2]1/2
[0010]matrix_dist
i,j
=dist(t
i
,t
j
)
[0011]接着,基于得到的matrix_dist,计算T中每个数据t
i
对应的平均距离w
i
,其计算公式如下:
[0012]w
i
=∑matrix_dict
i
,*/[size(T)

1][0013]最后,生成平均距离集合W={w1,w2,...,w
m
}
[0014]2)测试数据生成。给定原始测试集T={t1,t2,...,t
m
},变异算子库Mulib={m1,m2,...,m
n
},平均距离集合W,阈值α、β。首先,通过W,选取T中平均距离最大的数据t。其次,对Mulib进行遍历,对于遍历到的每一个变异算子,将其注入t中,得到新数据t

。再次,计算t

的贡献值cont(t

),其计算公式为:
[0015]cont(t

)=Ncov(T∪{t

})

Ncov(T),其中Ncov为神经元覆盖率。
[0016]若cont(t

)>α,则认为t

是可以提高数据集质量的数据,将t

加入测试集T中,计算t

的平均距离并更新平均距离集合W。否则继续对Mulib进行遍历,并重复进行以上操作。遍历完所有变异算子后,计算T的质量评分Score(T),其计算公式为:
[0017]Score(T)=Ncov(T)*Dentropy(T),其中Dentropy为距离熵。
[0018]若Score(T)>β,则认为T已经满足最终要求,将T作为最终的测试集输出。否则,通过W,选取T中平均距离最大的数据t,重复上述所有操作。
[0019]进一步,其中上述步骤1)的具体步骤如下:
[0020]步骤1)

1:起始状态;
[0021]步骤1)

2:输入原始测试集T={t1,t2,...,t
m
};
[0022]步骤1)

3:根据数据的特征,定义一个特征空间Ω:
[0023]步骤1)

4:使用线性归一化的方法对所有特征进行归一化处理;
[0024]步骤1)

5:计算T中每一个数据t
i
在Ω本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向模型质量优化的AI系统测试数据生成方法;该方法针对原测试集和领域专家制定的变异算子库,计算出原测试集中所有数据之间的欧式距离,并进一步计算出每个数据的平均距离,以此作为该数据所在区域的数据稀疏程度的指标;再基于贪心思想,从测试集中选取平均距离最大的数据,使用变异算子库中的变异算子对其进行变异,每次变异后对生成的数据进行评价,若符合要求则进行迭代变异,若不符合要求则寻找下一个变异算子,一直到所有变异算子都已被使用,则寻找下一个平均距离最大的数据重复这些操作;具体而言,该方法包括下列步骤:1)计算平均距离;给定原始测试集T={t1,t2,...,t
m
},首先根据数据的特征,定义一个特征空间Ω;使用线性归一化的方法对所有特征进行归一化处理;其次计算T中每一个数据t
i
在Ω中对应的特征向量t
i
=(x
i1
,x
i2
,...,x
in
);再次,新建一个m*m的距离矩阵matrix_dist,用于记录T中所有数据两两之间的距离;然后开始遍历T中每对数据,计算其欧式距离并填写为matrix_dist对应的元,其计算公式如下:dist(t
i
,t
j
)=[(x
i,1

x
j,1
)2+(x
i,2

x
j,2
)2+...+(x
i,n

x
j,n
)2]
1/2
matrix_dist
i,j
=dist(t
i
,t
j
)接着,基于得到的matrix_dist,计算T中每个数据ti对应的平均距离wi,其计算公式如下:w
i
=∑...

【专利技术属性】
技术研发人员:王兴亚侯忠昊徐剑锋师玉星赵志宏
申请(专利权)人:南京慕测信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1