AI测试:蜕变测试在模型算法测试中的实践
myzbx 2025-01-04 21:54 16 浏览
一、引言
这一篇,主要介绍模型算法测试之模型蜕变测试。说到模型蜕变测试,我相信会有很多一部分测试人没有接触过,也有很多一部分测试人没有听说过。什么是模型蜕变测试呢? 这一篇,我们就来揭开它的面纱。
二、概述
模型蜕变测试(Metamorphic Testing, MT)是一种特殊的测试方法,最早用于解决传统测试方法难以应对的复杂软件系统,特别是那些没有明确预期输出的系统。
在模型算法方面,主要利用模型算法内含属性的测试方法,
蜕变测试的核心思想是利用已知的、可验证的输入输出关系(蜕变关系)来推断未知的输出结果,从而验证程序的正确性,
换句话说:修改了与属性相关的输入,在给定原始输入和输出的情况下预测新的输出。
说到蜕变测试,不得不提的一个词“蜕变关系”, 什么是蜕变关系呢?
蜕变关系(Metamorphic Relations, MR)是一组预期的输入输出间的关系,即:一组与模型算法中多对输入和输出相关的属性,在多次执行目标程序时,输入与输出之间期望遵循的关系,常用来验证模型的稳定性和一致性。
三、蜕变关系
我们了解了蜕变测试的流程,接下来就了解蜕变的关系。这也是蜕变测试的难点和核心的关键点。
这里我就以我的工作(目标检测,计算机视觉)为例,常见的蜕变关系,如下:
1.旋转不变形
输入:原始图像、旋转(90度、180度、270度)后的图像
预期输出关系:旋转前后的分类结果应保持一致。
2.缩放不变性
输入:不同尺度缩放后的图像(放大或缩小)
预期输出关系:缩放前后的分类结果应保持一致。
3.翻转不变性
输入:水平翻转或垂直翻转后的图像
预期输出关系:翻转前后的分类结果应保持一致。
4.亮度不变性
输入:变化亮度后的图像(增加或减少亮度)
预期输出关系:亮度变化前后的分类结果应保持一致。
5.对比度不变性
输入:调整对比度后的图像(增加或减少对比度)
预期输出关系:对比度变化前后的分类结果应保持一致。
6.噪声鲁棒性
输入:添加随机噪声后的图像
预期输出关系:噪声前后的分类结果应保持一致。
7.颜色空间转换不变性
输入:转换为不同颜色空间(如灰度、HSV)的图像
预期输出关系:转换前后的分类结果应保持一致。
当然,除了目标检测/计算机视觉领域之外, NLP领域常见的蜕变关系如下:
1.同义词替换不变性
输入:用同义词替换部分词语后的文本
预期输出关系:同义词替换前后的分类结果应保持一致。
2.拼写错误鲁棒性
输入:文本中包含少量拼写错误
预期输出关系:拼写错误前后的分类结果应保持一致或相近。
3.句子重组不变性
输入:重组句子内词语顺序但不改变句子语义后的文本
预期输出关系:重组前后的分类结果应保持一致。
4.文本形式变换不变性
输入:文本大小写变换或加标点符号后的文本
预期输出关系:变换前后的分类结果应保持一致。
5.负载增强不变性
输入:添加或去除文本中的冗余信息(如插入无实质意义的词语)
预期输出关系:冗余信息前后的分类结果应保持一致。
关于蜕变关系,我就说到这里了,关于其他(数据增强和改进生成、抽象层次等)蜕变关系,大家可以在留言区进行补充。
四、测试流程
模型蜕变测试可应用于机器学习模型的黑盒测试。蜕变测试流程涉及到:
1.定义蜕变关系:选择一组输入以及这些输入的变体,确定这些输入变体与原始输入之间的关系,以及改变前后模型输出结果应该满足的关系
2.构建测试案例:利用某些变换(如添加噪声、改变特征值等)生成多个输入变体,
3.执行测试案例:将原始输入和变体输入分别输入模型,获得输出结果,并检查这些输出结果是否满足定义的蜕变关系。
4.分析结果:分析模型输出,判断是否存在不符合蜕变关系的情况,如果有不符合的情况,进一步分析可能的原因,如数据分布、模型训练不足、特征工程问题等。
同样,为了便于更好的对蜕变测试的理解, 我这里以流程图与实例结合。
例子:假设年龄与薪资收入关系模型,输入的年龄与模型算法系统的输出相关。
模型算法输出Y 是薪资收入可行性估计。随着年龄的增长,薪资收入可能性也会增加。
所以,这里的就建立了蜕变关系,即:X与Y之间的蜕变关系,如下图:
假设X1 = 28,输出Y1 = 0.4 ,基于这已知模型预测结果,我们设计测试案例:
1、X2 = 20 , Y2 的值应该小于Y1;
2、X3 = 45 ,Y3的值应该大于Y1 ;
3、X4 = 33,Y4 的值应该大于Y1 小于Y3 ;
4、X5 = 120 ,Y5 的值,理论上应该是异常值;
通过上述这例子,我们就能更好的理解蜕变测试,也能更好的理解蜕变关系了。
(当然,这个例子,是相对值,咱也不用特意的转牛角尖,说这例子没有考虑一些特殊情况,特殊情况不在这个例子中。)
五、总结
在这篇,我详细的介绍了蜕变关系的概念、蜕变测试流程及实例展示。目的就是为了让我们更容易理解蜕变关系。
在模型算法测试中,蜕变测试是一种有效验证模型稳定性和鲁棒性的测试方法。
基于各类常见的蜕变关系保证了在真实场景中,模型能适应数据的变化和噪声,是提升模型质量的有效方法。
当然,构建与定义蜕变关系构成了测试过程中的最大挑战与核心环节,这一过程不仅需要专业知识做支撑,更依赖于项目实践中不断积累的经验总结与持续优化。
文末了,我邀请你进入我们的软件测试学习交流群,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,了解测试行业的最新趋势,助你快速进阶Python自动化测试/测试开发,稳住当前职位同时走向高薪之路。
最后:
1)关注+私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!
2)关注+私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~
相关推荐
- 为什么钟表的指针是从左向右顺时针转?
-
所有的钟表指针都是从左向右转的,所以我们就用它来表示旋转方向了。那么,为什么钟表都是从左向右转呢?正着转也好,反着转也好,一圈不都是12小时吗?这就要从钟表的前身说起了。在钟表出现之前,人们使用过一种...
- 牛人将电子钟改造高精度时钟,日误差0.26秒!解决走时不准通病
-
家里有好多个电子钟,精度各种参差不齐,然后走时就是各种混乱,是可忍孰不可忍……自打发现8025这个好玩意儿之后,就决定不忍了。第一个上场的聪明钟,为啥叫聪明钟然后还走的不准。三节电池供电,其中3V给主...
- 篮球裁判手势图解之计时钟、得分替换和暂停手势
-
▋篮球裁判手势图解之计时钟手势停止计时钟手势,伸开手掌,垂直举过头部。犯规停止计时钟手势,一拳握紧,垂直举过头部。计时开始手势,用手做劈柴动作,将垂直举过头部的手放下。▋篮球裁判手势图解之得分手势1...
- 罗马数字的起源与用途
-
一、罗马数字的诞生与进化罗马数字起源于古罗马帝国,拥有一个漫长而复杂的历史,始于公元前8世纪至9世纪,与古罗马帝国在帕兰丁山(PalantineHill)周围建立的时间大致相同。不过,罗马数...
- 基于 Arduino Nano R3 的红外遥控数字时钟
-
由于在ArduinoNano上没有足够的引脚来编写代码,该项目只有有限的功能(即使没有设置时间的设施)。通过添加红外线遥控器,我可以灵活地整合所有需要的功能(如果需要,可能会更多),不需要额外的...
- 大班必备33首数字歌,轻松学数学
-
适合大班宝贝的33首数学歌,让孩子们在玩中学,通过好玩、好记的的儿歌来了解数学的知识点,轻松学数学!以上所有有关数学概念的知识点,其中包含了钟表、点数、分解组成、加减、单双数、倒数正数、凑十、方位...
- 11的寓意和象征
-
在数字的王国里,每个数字都有其独特的内涵和象征意义。今天,我们将一起探索数字11的奥秘和象征意义。这个奇特的数字,不仅在我们的日常生活中扮演着重要的角色,而且在神秘主义和宗教中也占有的一席之地。首先,...
- 基于TM1637的数字时钟
-
方案介绍这个项目是一个原型,我将在我正在进行的其他数字时钟项目中使用。这是我计划在我的下一个数字时钟项目中使用的时间和闹钟设置机制的原型。我希望能给你提供到帮助。如果你想到任何改进,请告诉我。我会更乐...
- 【金龟子讲睡前故事】数字不见啦
-
“快做数学题!”妈妈大声吼邦邦。“啊,好烦呀!”邦邦回到屋里,对着数学练习册大声嚷嚷。考拉熊博士在邦邦的屋外听到邦邦的声音,自言自语说:“好像又在发脾气,我得去看看他。”考拉熊博士推门进去,只见邦邦大...
- SE 最终幻想 35 周年,《FF7 重制版》破坏剑数字时钟 9 月发售
-
IT之家3月9日消息,SE今日正式开设了《最终幻想》35周年纪念网站,天野喜孝绘制官方LOGO公布!值得一提的是,索尼PlayStation游戏发布会即将于北京时间3月10...
- 谁说数字钟就是黑白状?他们让你改变看法
-
如果我们没有了钟表,你会用什么衡量时间?是利用太阳的变化还是凭猜测?之前设计癖也介绍一些有趣的钟表,像是Edelkrone设计的无表针的Oqloq钟表,也有淡化了表针概念的轨道钟表,今天再给大...
- 杭州元宵游玩大赏|“人体时钟”亮相文三数字生活街区,还有元宵巡游活动等你嗨
-
钱江晚报·小时新闻记者方力通讯员冯晨晨刘静滴答滴答,在这个时钟里面有一位虚拟的“小姐姐”。她的工作内容就是不断地把分针擦掉,然后再画上新的分针,她每画一次分针擦干净后,再画上一条新的分针,就刚...
- 来用PPT做一只数字时钟动画
-
“什么是可见性?“可见性”即指PPT动画元素中的一种。在我们之前的图文教程《动画基础扫盲课,必修!》中提到过一些常用的PPT动画元素。分别为可见性,X,Y坐标,旋转,高度和宽度。而其中所谓的“可见性”...
- 苹果手机桌面时钟怎么显示 苹果手机桌面时钟显示操作
-
苹果手机系统流畅,系统使用起来很舒适,是很多人的首选。苹果时钟可以在桌面上显示数字时钟,如果在编辑主屏幕时,不小心把时钟删掉了,要怎么恢复呢?或者想要设置时钟显示,操作是什么样的呢?苹果手机桌面时钟怎...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 选择器 (30)
- CSS 轮廓 (30)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 中级教程 (30)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)