CN113704082A - 模型评测方法、装置、电子设备及存储介质 - Google Patents
模型评测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113704082A CN113704082A CN202110220723.2A CN202110220723A CN113704082A CN 113704082 A CN113704082 A CN 113704082A CN 202110220723 A CN202110220723 A CN 202110220723A CN 113704082 A CN113704082 A CN 113704082A
- Authority
- CN
- China
- Prior art keywords
- model
- test data
- evaluating
- data
- determining
- 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
- 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/3676—Test management for coverage analysis
-
- 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
- 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/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种模型评测方法、装置、电子设备及存储介质,涉及人工智能技术领域,可用于语言处理、图像处理、情感分类等场景。该方法包括:获取训练数据和测试数据;采用训练数据对模型进行训练;采用测试数据测试训练后的模型,并计算测试时对模型性能进行评估得到的预设指标值;基于预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。本申请方案的实施可以有效提高算法评测对模型优化改进方面的效能。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,本申请涉及一种模型评测方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的发展,越来越多的产品中融入了智能算法,而一个算法质量的优劣将影响到算法乃至程序的执行效率,因此在产品中融入合适的算法非常重要,否则可能由于算法的融入而影响了产品原本的性能。对此,需要针对算法质量进行评测。
现有技术中,针对算法评测的问题,提供了一种语言可解释性工具(LanguageInterpretability Tool,LIT),该工具可以用于评测自然语言处理(Natural LanguageProcessing,NLP)算法模型。
然而,LIT工具仅仅是针对自然语言处理领域的算法模型和各项自然语言处理任务,其无法适应于其他领域更广泛的算法模型中,导致适应性较差;另外,LIT工具中进行白盒评测时,一般是针对模型内部的特征层进行,缺乏了对数据样本等层面的评估分析,其分析结果较为单一,无法从多个层面了解算法模型的质量问题。
发明内容
本申请提供的技术方案旨在至少能解决上述的技术缺陷之一,特别是评测的分析结果单一的技术缺陷。其中,技术方案如下:
在本申请的第一方面,提供了一种模型评测方法,包括:获取训练数据和测试数据;采用训练数据对模型进行训练;采用测试数据测试训练后的模型,并计算测试时对模型性能进行评估得到的预设指标值;基于预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。
在一实施例中,基于预设指标值确定采用评测系统中至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测,包括:
若预设指标值小于或等于预设阈值,采用下述至少一种进行评测:采用评测系统中用于度量测试数据完整性的覆盖度分析模块针对模型进行评测;采用评测系统中用于度量测试数据不确定性的不确定性分析模块针对测试数据进行评测;
采用评测系统中用于分析测试数据的不同特征对模型决策的重要程度的归因分析模块、用于分析测试数据的的不同特征对模型决策的重要程度的可视化分析模块和用于分析训练数据对模型针对测试数据进行决策的重要程度的影响力分析模块中的至少一个针对异常问题进行评测。
在一实施例中,采用覆盖度分析模块针对模型进行评测包括以下至少一项:
基于训练数据确定模型中每一神经元的边界范围,基于边界范围与测试数据对模型进行评测;
构建模型网络层间的神经元对,并基于神经元对与测试数据对模型进行评测。
在一实施例中,基于训练数据确定模型中每一神经元的边界范围,基于边界范围与测试数据对模型进行评测,包括:
基于训练数据进行前向传播处理,确定模型中各神经元的边界范围;
基于测试数据进行前向传播处理,确定测试数据中各测试样本超出边界范围对应的神经元数量;
基于神经元数量确定模型对各测试样本进行决策的置信度;
基于置信度确定针对模型进行评测的结果。
在一实施例中,构建神经元对,并基于神经元对与测试数据对模型进行评测,包括:
在模型的不同层神经元中抽取神经元构建多个神经元对;
确定测试数据触发神经元对中所有激活状态的神经元对数量与所有神经元对数量的比值;
基于比值确定针对模型进行评测的结果。
在一实施例中,基于比值确定针对模型进行评测的结果,还包括:
基于神经元对未被测试数据激活的状态信息,构建攻击样本数据;
基于攻击样本数据,确定模型的边界漏洞信息。
在一实施例中,采用不确定性分析模块针对测试数据进行评测,包括:
基于测试数据进行前向传播处理,确定测试数据的预测结果;
基于预测结果的方差、熵和互信息中的至少一种,确定测试数据的不确定度值;
基于不确定度值确定针对测试数据进行评测的结果。
在一实施例中,采用归因分析模块针对异常问题进行评测,包括:
采用梯度积分算法确定测试数据中各测试样本对应的贡献程度在样本特征中的分布信息;
基于分布信息确定针对异常问题进行评测的结果。
在一实施例中,采用可视化分析模块针对异常问题进行评测包括以下至少一项:
采用卷积热力图算法针对测试数据中的每一测试样本图片与该测试样本图片相应的标注信息,确定该测试样本图片对应的热力图;基于热力图确定针对异常问题进行评测的结果;热力图中的聚焦位置表征模型针对标注信息对应类别下分类任务的关注区域;
采用降维算法在模型测试的过程中,监控测试数据的分布变化信息;基于测试数据的分布变化信息确定针对异常问题进行评测的结果。
在一实施例中,采用影响力分析模块针对异常问题进行评测包括:
基于训练数据与测试数据确定训练数据中各训练样本相对于测试数据的重要性分值;
基于重要性分值确定针对异常问题进行评测的结果。
在一实施例中,采用训练数据对模型进行训练,还包括:
采用降维算法在模型训练的过程中,监控训练数据的分布变化信息;
基于训练数据的分布变化信息确定针对模型进行评测的结果。
在本申请的第二方面,提供了一种模型评测装置,包括:获取模块,用于获取训练数据和测试数据;训练模块,用于采用训练数据对模型进行训练;测试模块,用于采用测试数据测试训练后的模型,并计算在测试数据上的预设指标值;评测模块,用于基于预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。
在本申请的第三方面,提供了一种电子设备,电子设备包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行第一方面提供的方法。
在本申请的第四方面,提供了一种计算机可读存储介质,计算机存储介质用于存储计算机指令,当计算机指令在计算机上运行时,使得计算机可以执行第一方面提供的方法。
本申请提供的技术方案带来的有益效果是:
在本申请中设置有评测系统,并采用该评测系统在模型评测时基于模型训练和测试的整个过程进行;在实施时,获取训练数据和测试数据,采用训练数据对模型进行训练后,采用测试数据对训练后的模型进行测试,并计算测试时对模型性能进行评估的得到的预设指标值,进而基于该预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。本申请的实施可以适应应用于各类模型中,不限定模型的领域,提高了模型评测在各个领域中的适应性;另一方面,本申请还可以实现针对训练数据、测试数据和模型的各个维度进行评测,提供多维度的分析结果,提升模型优化改进的效能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为相关技术中模型评测的流程图;
图2为本申请实施例提供的一种模型评测方法的流程图;
图3为本申请实施例提供的一种模型评测方法的流程框图;
图4为本申请实施例提供的一种模型评测方法中采用梯度积分算法进行评测的示意图;
图5为本申请实施例中一种模型评测方法中采用梯度积分算法进行评测的可视化结果的示意图;
图6为本申请实施例中一种模型评测方法中采用卷积热力图算法进行评测的示意图;
图7a为本申请实施例中一种模型评测方法中采用卷积热力图算法进行评测的可视化结果的示意图;
图7b为本申请实施例中一种模型评测方法中采用卷积热力图算法进行评测的可视化结果的示意图;
图8为本申请实施例中一种模型评测方法中采用影响力分析模块进行评测的示意图;
图9a为本申请实施例中一种模型评测方法中模型训练的第一个时期的示意图;
图9b为本申请实施例中一种模型评测方法中模型训练的第二个时期的示意图;
图10为本申请实施例提供的一种模型评测装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请涉及的技术和名词进行说明:
AI(Artificial Intelligence,人工智能)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
在本申请中,主要涉及自然语言处理、机器学习/深度学习等方向。其中,NLP(Nature Language processing,自然语言处理)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。ML(Machine Learning,机器学习)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
在相关技术中,为有效评测人工智能算法模型的质量,选择合适的算法模型融入到相应领域的产品中或提高已经融入到产品中算法模型的性能,提出了一种语言可解释性工具LIT,该工具可以用于评测自然语言处理算法模型,然而也仅仅适用于针对自然语言处理领域的算法模型和各项自然语言处理任务,无法适应于其他领域更广泛的算法模型中,该工具的适应性较差。且,LIT工具中进行白盒评测时,一般是针对模型内部的特征层(例如注意力Attention、特征图Salience Maps、以及嵌入Embeddings)进行,缺乏了对数据样本等层面的评估分析,其分析结果较为单一,无法从多个层面了解算法模型的质量问题。
另外,在相关技术中所提供的评测体系仅在测试环节接入(如图1所示,在测试阶段通过单一标准的质量红线把控算法模型的质量,无法给定算法性能不达标的可能原因以及大致的优化方向),且评价方式较为单一,可以反馈给算法模型的内容非常有限,导致算法模型优化改进的效能低下。
为解决上述至少一个问题,本申请提供一种模型评测方法、装置、电子设备和计算机可读存储介质;具体地,在常规质量红线评价的基础上,充分利用AI-DL(ArtificialIntelligence-Deep learning,人工智能-深度学习)工具箱中的白盒评测能力进行多维度评测,当将该工具箱应用在算法评测的自动化链路中时,拓展了反馈给算法一方内容的深度和广度。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供了一种模型评测方法,如图2所示,图2示出了本申请实施例提供的一种模型评测方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是用户终端,也可以是服务器,用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,但本申请并不局限于此。作为一可选实施方式,该方法可以由用户终端执行,为了描述方便,在下文的一些可选实施例的描述中,将以用户终端作为该方法执行主体为例进行说明。具体地,该方法包括下述步骤S101-S104:
步骤S101:获取训练数据和测试数据。
具体地,训练数据(Train Data)是指用于构建模型的样本数据(可以用于训练模型或确定模型参数,如确定ANN(Artificial Neural Network,人工神经网)中的权值,测试数据(Test Data)是指用于检验模型的样本数据,如测试已经训练好的模型的推广能力。
其中,训练数据和测试数据可以根据模型当前应用的领域进行采集,如针对图片分类时,训练数据和测试数据可以是包括图像数据和该图像数据相应标注信息的样本数据;如针对语言处理时,训练数据和测试数据可以是包括语音数据或文本数据和相应标注信息的样本数据。
可选地,在获取训练数据和测试数据时,可以是先获取一系列的样本数据,进而基于预设比例进行划分,如将样本数据的80%作为训练数据,20%作为样本数据,通过预设比例划分训练数据和测试数据,在结合训练阶段和测试阶段对模型参数的调整,有利于提高模型对新鲜样本的适应能力,提高模型的泛化能力(generalization ability)和在学习时提高在各个样本中的覆盖度。
步骤S102:采用训练数据对模型进行训练。
具体地,在本申请实施例中,采用训练数据对模型进行训练时,不仅仅可以用于训练模型,还可以同步调整构建模型所涉及的各项参数;其中涉及到超参数的,可以通过经验值设定。
其中,可以理解的是,机器学习中训练模型表示通过标签样本来学习所有权重weights和偏差bias的理想值;在机器学习算法的训练过程中,执行的是学习多个样本的信息并尝试找出可最大限度地减少损失的模型,训练的目标是将损失loss最小化,实际上,模型训练过程是一个不断试错的过程。
步骤S103:采用测试数据测试训练后的模型,并计算测试时对模型性能进行评估得到的预设指标值。
具体地,模型测试的过程可以理解为通过一系列带标注信息的测试数据考量模型的处理结果是否符合预期的准确率或误差,进而评估模型的质量优劣。其中,在步骤S103中,在模型训练完成后,会采用测试数据验证模型,通过预设指标值来评估模型性能的好坏,例如:准确率越高模型性能越好。可选地,在实际应用中,预设指标值可以是综合多个指标值得到的,也可以是单一的指标值;如对于分类算法模型而言,评价指标可以是准确率precision、召回率recall、F1分数F1-score、ROC(Receiver Operating Characteristic,接收器工作特性)和AUC(Area Under Curve,ROC曲线下与坐标轴围成的面积)中的一种。
可选地,在本申请实施例中,预设指标值可以采用ROC和AUC中的至少一项确定。其中,AUC是机器学习领域中一种模型评估指标,是ROC曲线下的面积。
下面针对本申请实施例可能采用的ROC曲线和AUC指标进行说明。
以二分类(0,1)模型为例,模型最后的输出是一个概率值,表示结果是1的概率,因此在确定输入X是属于0或1时,一般通过设置阈值进行表示,如超过阈值则将X归类为1,低于该阈值则将X归类为0;因此,设置的阈值不同,将导致分类的结果不同,也即对应的混淆矩阵不同,当阈值从0开始逐渐演变为1时,将形成很多对分类结果的值,若将值表示在坐标系上,则可以得到相应的ROC曲线。而ROC曲线下的面积对应为AUC的值,可以用于评估模型的性能。其中,AUC指标可以用于表示将样本预测为正的概率值比预测为负的概率值还要大的可能性;AUC值可以直观评价模型的质量,一般而言,AUC值越大表征模型的质量越好。
步骤S104:基于预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。
具体地,评测系统可以由至少一个分析模块构成,各个分析模块可以是由各种神经网络构建,且分析模块之间可以通过数学逻辑进行连接(如将多个分析模块的输出进行综合计算分析得到评测系统反馈给模型的优化改进信息或评测信息等),形成评测系统的整体框架。
可选地,步骤S104中,采用评测系统中的至少一个分析模块对训练数据、测试数据、模型中的至少一项进行评测;可以理解的是,可以采用一个分析模块单独针对训练数据、测试数据或模型进行评测,也可以采用一个分析模块同时针对训练数据、测试数据和模型中的至少两个进行评测。
其中,基于预设指标值确定采用评测系统中的哪一分析模块针对哪一对象进行评测可以包括以下两种情况,以AUC值为预设指标值进行说明:
第一种:假设设定阈值为0.8(该阈值可以根据实际情况进行调整,本申请对此不作限定),则在AUC值小于或等于0.8时(表征模型的质量较差),可以采用评测系统中的分析模块对模型、训练数据和测试数据进行全局维度的分析。
第二种:假设设定阈值0.8(该阈值可以根据实际情况进行调整,本申请对此不作限定),则在AUC值大于0.8时(表征模型的质量基本达标,但仍需要针对部分异常问题badcase进行分析),可以采用评测系统中的分析模块对模型、训练数据和测试数据针对异常问题进行分析。
在本申请实施例中,将提供的AI-DL工具箱在所提供的模型评测方法中称为评测系统,方法步骤S101-S104的执行过程体现了AI-DL工具箱在应用时进行算法模型自动化评测的内容。
在本申请实施时,获取训练数据和测试数据,采用训练数据对模型进行训练后,采用测试数据对训练后的模型进行测试,并计算测试时对模型性能进行评估的得到的预设指标值,进而基于该预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。本申请的实施可以适应应用于各类模型中,不限定模型的领域,提高了模型评测在各个领域中的适应性;另一方面,本申请还可以实现针对训练数据、测试数据和模型的各个维度进行评测,提供多维度的分析结果,提升模型优化改进的效能。
下面,结合图3,针对如何对训练数据、测试数据和模型中的至少一项进行评测的处理过程进行说明。
在一实施例中,步骤S104中基于预设指标值确定采用评测系统中至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测,包括下述步骤S1041-S1042:
步骤S1041:若预设指标值小于或等于预设阈值,采用下述至少一种进行评测:采用评测系统中用于度量测试数据完整性的覆盖度分析模块针对模型进行评测;采用评测系统中用于度量测试数据不确定性的不确定性分析模块针对测试数据进行评测。
其中,覆盖度分析模块采用覆盖度算法,覆盖度(coverage)可以用于度量样本数据的完整性,在本申请实施例中,可以基于度量训练数据和测试数据完整性的覆盖度针对模型进行评测。
其中,考虑到针对于一般的深度学习模型而言,模型一般是直接输出一个高置信度的预测结果,然而模型无法确定该预测结果的确信程度,但模型对自身预测结果的确信程度却与预测的准确率是相互制约的。因此,本申请实施例提供一种基于不确定性度量来评估模型对于样本预测不确定性的算法,该算可以称为不确定性算法,具体应用在评测系统的不确定性分析模块中。具体地,不确定性算法可以应用MC-dropout(Monte-CarloDropout,蒙特卡罗)算法,也可以应用Deep-Ensemble算法。
步骤S1042:采用评测系统中用于分析测试数据的不同特征对模型决策的重要程度的归因分析模块、用于分析测试数据的的不同特征对模型决策的重要程度的可视化分析模块和用于分析训练数据对模型针对测试数据进行决策的重要程度的影响力分析模块中的至少一个针对异常问题进行评测。
可选地,步骤S1042的实施如图3所示,可以理解的是不管当前指标是否过质量红线,本申请实施例均针对异常问题bad case进行分析。
其中,归因分析模块在本申请涉及的机器学习领域中,用于分析样本(测试数据)的不同特征对于模型决策的重要程度。在评测系统中,可以采用梯度计分算法进行归因分析,由于梯度计分算法的适用性较广,采用梯度计分算法可以使得归因分析模块可以应用于计算机视觉和自然语言处理领域中的模型评测中。
相对于可视化分析模块和归因分析模块对应的可视化算法(从单一样本的角度观察模型是否可以关注到正确的区域),本实施例中采用的影响力分析模块中采用的影响力函数算法是从整个训练集的维度进行考虑,挖掘训练数据中对模型决策有重要影响的子集(训练数据中的训练样本)。可视化分析模块和归因分析模块对应的可视化算法可以定位模型自身的问题,帮助在算法一侧优化改进模型;而影响力函数算法则是通过给算法那模型使用的训练数据进行打分,帮助在算法一侧发现并改进训练数据中存在的问题。
其中,可视化分析模块在本申请实施例中可以采用卷积热力图grad-cam或grad-cam++的特征可视化算法,也可以采用UMAP(uniformmanifold approximation andprojection,流形学习降维算法)或t-SNE(t-distributed Stochastic NeighborEmbedding,数据降维)算法。采用卷积热力图的特征可视化算法可以从样本数据的特征层面分析模型行为,从模型对于某类标注和某输入X的关注区域(关注位置)来推断模型作出分类决策的影响因素(或推断模型是如何作出分类决策的)。采用降维算法可以关注到数据的局部结构,进而通过了解数据分布变化情况,通过可视化的方式了解算法模型的动态变化过程。
其中,影响力分析模块具体采用的是影响力函数算法,其具体是通过梯度的反向传播来挖掘模型对每一个测试样本作出决策时哪些训练样本对该决策的影响较大。
下面针对采用覆盖度分析模块针对模型进行评测的具体过程进行说明。
可选地,采用覆盖度分析模块针对模型进行评测包括以下步骤A1-A2中的至少一项:
步骤A1:基于训练数据确定模型中每一神经元的边界范围,基于边界范围与测试数据对模型进行评测。
具体地,步骤A1对应于覆盖度分析模块中采用的边缘覆盖度分析方法,其中,边缘覆盖度的定义可以理解为:针对模型中的每一个神经元,训练数据中的所有训练样本通过前向网络后可以得到该神经元的输出值范围(边界范围,由上边界和下边界构成),测试数据中的某一测试样本在该神经元上的输出值如果落在边界范围内,则可以确定测试样本与训练样本同属于一种分布情况,在该情况下,训练得到的模型大概率可以做出正确的判断,即模型的质量较好;反之,测试样本与训练样本不同属于一种分布情况,在该情况下,训练得到的模型可能无法做出正确的判断,即模型的质量较差。
可选地,步骤A1中基于训练数据确定模型中每一神经元的边界范围,基于边界范围与测试数据对模型进行评测,包括下述步骤A11-A14:
步骤A11:基于训练数据进行前向传播处理,确定模型中各神经元的边界范围。
具体地,采用边缘覆盖度算法在训练数据的所有训练样本上执行前向传播操作,可以得到模型中每个神经元激活对应的上边界和下边界,基于上边界和下边界可以确定出每个神经元对应的边界范围。
步骤A12:基于测试数据进行前向传播处理,确定测试数据中各测试样本超出边界范围对应的神经元数量。
具体地,针对测试数据中的任一测试样本执行前向传播操作,可以计算得到该测试样本在多少个神经元中存在越界的情况,即,在进行前向传播操作时,可以确定测试样本在各个神经元中是否存在所对应的输出值超过步骤A11确定的边界范围,进而最终可以确定出各测试样本超出边界范围对应的神经元数量。
举例说明,假设当前包括N个神经元,而基于测试样本A执行前向传播操作时对应N个输出值中,有3个输出值超出对应的神经元在步骤A11中确定的边界范围,则步骤A12可以确定该测试样本A超出边界范围对应的神经元数量为3。
步骤A13:基于神经元数量确定模型对各测试样本进行决策的置信度。
具体地,经步骤A12确定的测试样本超出边界范围的神经元数量越大,表明模型对该测试样本的决策置信度越低,相应出现异常问题bad case的可能性越大。
可选地,考虑到减轻评测系统的计算复杂度,可以通过设置神经元数量与置信度的映射关系,确定经步骤A12确定的神经元数量对应的置信度。如,设置神经元数量在第一区间范围(数值小)内时,置信度为1;在第二区间范围(数值大)内时,置信度为0.5;可选地,还可以相应设置更多的区间范围与对应的置信度,以提高步骤A13所确定置信度的准确率。
步骤A14:基于置信度确定针对模型进行评测的结果。
具体地,可以通过覆盖度分析模块确定出来的置信度,反馈模型、训练数据或测试数据相应的问题,并针对相应出现问题的内容给出模型优化改进的方向。
在本申请实施例中,覆盖度越高的样本数据相应对模型进行训练和测试的准确率越高。另,通过上述步骤A11-A14的实施,可以期待针对于采用训练数据训练充分的算法模型,在采用边缘覆盖度算法时可以在不提供标注信息ground-truth的情况下,确定出采用测试数据对模型进行测试时相应的异常问题bad-case。本申请实施例提供的边缘覆盖度算法有利于减少测试数据的标注成本。
步骤A2:构建模型网络层间的神经元对,并基于神经元对与测试数据对模型进行评测。
具体地,相对于步骤A1提供的边缘覆盖度算法,步骤A2采用神经元对覆盖度算法,该神经元对覆盖度算法中涉及到神经元对覆盖率,相对于步骤A1采用的边缘覆盖度算法中从单一神经元角度进行覆盖率计算而言,步骤A2提供的神经元对覆盖度算法中从网络层间的神经元对角度进行覆盖率计算。在步骤A2中,适应评测需求,基于当前评测的模型构建由不同网络层间的神经元对,此时构建的神经元对可以具有多种激活状态,进而基于测试数据通过网络后所能激活神经元对的情况,确定神经元对覆盖度,进而基于该神经元对覆盖度作为覆盖度算法中衡量测试样本数量是否足够评价算法模型能力的指标,作为一种度量测试样本充分性的手段。
可选地,以DNN(Deep Neural Networks,深度神经网络)为例针对步骤A2提供的神经元对覆盖度算法的具体实施过程进行说明,但本申请实施例不局限于DNN网络,还可以应用于其他神经网络中。具体地,步骤A2中构建神经元对,并基于神经元对于测试数据对模型进行评测,包括下述步骤A21-A23:
步骤A21:在模型的不同层神经元中抽取神经元构建多个神经元对。
具体地,下面基于DNN网络举例说明步骤A21的具体实施过程:在DNN网络的同层神经元中随机采样两个不同神经元,并在该层的下一层中随机采样一个神经元构建一个神经元三元组,即神经元对;依次类推可以构建出多个神经元对。其中,随机采样得到的神经元处于网络的相邻层间,而不同层之间随机采样的神经元数量可以根据实际情况进行调整,本申请对此不作限定。
步骤A22:确定测试数据触发神经元对中所有激活状态的神经元对数量与所有神经元对数量的比值。
具体地,继续以步骤A21中的例子为例针对步骤A22进行说明:由于每个神经元对应两种状态,因此一个神经元三元组可以对应有八种不同的激活状态,而每一个测试数据中的测试样本可以触发一个三元组中的一种激活状态。假设包括9个神经元对,而在测试数据中所有测试样本经DNN网络处理后,仅有3个神经元对中的所有八种状态全部被触发,此时即测试数据触发神经元对中所有激活状态的神经元对数量为3,所有神经元对数量为9,两者的比值为3/9=1/3;该比值即为神经元对覆盖度。
步骤A23:基于比值确定针对模型进行评测的结果。
具体地,步骤A22中确定的比值(神经元对覆盖度)可以用作覆盖度分析模块中用于衡量测试数据数量是否足够评价算法模型能力的指标,作为一种度量测试样本充分性的手段。
在一实施例中,步骤A23中基于比值确定针对模型进行评测的结果,还包括下述步骤A231-A232:
步骤A231:基于神经元对未被测试数据激活的状态信息,构建攻击样本数据。
具体地,神经元对中可能对应有多种激活状态,当神经元对中存在未激活状态时,获取触发该未激活状态的神经元对应的测试样本作为构建攻击样本数据的基础。可选地,将所有触发神经元但未能激活该神经元的测试样本作为攻击样本数据。
步骤A232:基于攻击样本数据,确定模型的边界漏洞信息。
可选地,通过攻击样本数据测试模型,可以有效把控模型性能的弱点,确定出模型的边界漏洞信息,利于确定模型优化改进的方向。其中,边界漏洞信息可以理解为使得模型进行决策时产生异常问题bad case的信息。
下面针对采用不确定性分析模块针对测试数据进行评测的具体过程进行说明。
在一实施例中,以不确定性分析模块采用MC-dropout算法为例,针对采用不确定性分析模块针对测试数据进行评测的具体过程进行说明。具体地,步骤S1041中采用不确定性分析模块针对测试数据进行评测,包括以下步骤B1-B3:
步骤B1:基于测试数据进行前向传播处理,确定测试数据的预测结果。
具体地,在应用MC-dropout算法时,需要模型中设置dropout层,并在模型的测试阶段中开启;在dropout的一定条件下可以视为在模型中加入高斯噪声。其中,对测试数据进行前向传播处理,得到输出层的结果作为测试数据的预测结果;举例说明:假设测试数据为待分类图片,当前分别对应有3中类型,则预测结果可以为图片分类为类别1、2、和3对应的概率值。
步骤B2:基于预测结果的方差、熵和互信息中的至少一种,确定测试数据的不确定度值。
其中,针对方差而言,以数学运算逻辑考虑,方法是各个数据与平均数之差的平方的和的平均数,因此可以直接采用预测结果进行方差运算,确定出测试数据的不确定度值。预测结果的方差越大,表示模型对该测试样本的预测准确率越低。其中,预测结果的方差越大说明在模型中加入的高斯噪声对预测结果的影响越大,相应地,表明当前模型的输入数据X应该处于模型的某个边界上,经一点噪声影响有可能就导致输入X越界。
其中,熵(entropy)泛指某些物质系统状态的一种量度,某些物质系统状态可能出现的程度,在本申请实施例中可以用于表征模型对测试数据进行预测的不确定性。
其中,互信息(Mutual Information)是一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
步骤B3:基于不确定度值确定针对测试数据进行评测的结果。
具体地,通过采用不确定性算法确定出的不确定度值,可以对测试数据进行预筛选,选出模型不确定性较高的测试样本(如不确定度值在测试数据中的降序排序在前N名)作为“困难”评测集(即确定出hard-target),以基于该“困难”评测集确定后续模型的定制化评估内容和边界样本。
在一实施例中,以不确定性分析模块采用Deep-Ensemble算法为例,针对采用不确定性分析模块针对测试数据进行评测的具体过程进行说明。具体地,采用Deep-Ensemble算法可以理解为在测试模型时,取模型针对测试数据的预测结果的均值作为不确定度值。与上述采用MC-dropout算法相同的是,也可以采用不确定度值对测试数据进行预筛选,并确定出“困难”评测集(hard-target),进而确定后续模型的定制化评估内容和边界样本。
下面针对采用归因分析模块针对异常问题进行评测的具体过程进行说明。
可选地,采用归因分析模块针对异常问题进行评测包括以下步骤C1-C2:
步骤C1:采用梯度积分算法确定测试数据中各测试样本对应的贡献程度在样本特征中的分布信息。
其中,梯度积分算法(Integrated Gradient)的原理是通过对梯度沿不同路径积分,期望得到非饱和区非零梯度对决策重要性的贡献(贡献程度)。
在本申请实施例中,当针对不同领域的模型进行评测时,进行归因分析的样本特征不同;如在图像领域,样本的特征是图片中的各像素点;在自然语言处理领域中,样本的特征是句子分词后的各词向量token。具体地,梯度积分算法的输入为单一的待评估样本数据(测试数据中的测试样本),输出的是该样本数据对应的贡献程度在样本特征中的分布。
下面结合图4进行说明:以输入图片为相机示例,在梯度积分算法输出的分布图中,贡献程度较大的像素点均集中在图中的相机区域。
步骤C2:基于分布信息确定针对异常问题进行评测的结果。
具体地,归因分析也可以是属于一种可视化的分析方式,可以从样本层面提供模型决策关注区域的可视化结果(如图4所示的梯度积分算法的输出图片),为优化算法模型提供有力的依据。
下面结合图5针对本申请实施例归因分析模块中梯度积分可视化评测结果进行说明。
以针对BERT(Bidirectional Encoder Representation from Transformers,情感分类模型)进行评测而言,采用梯度计分算法对模型中产生的异常问题bad case进行归因分析。
其中,当前存在异常问题bad case对于的测试样本为:这是一部很不安妮宝贝的书。虽然拗口,但感觉只有这样才足够形容。安妮宝贝一贯给我的印象是一位心情复杂而沉重的沉默女子,习惯用笔代替语言,独身在一个角落静静刻读阴沉的文字。所以当我看到一本来自于伊的散文集时,下意识的忽略掉。我猜,这肯定又是那些一成不变文字的翻版,阴冷的充满凉意。但不妨打开第一页,先看看目录。这本书是一个跨越,一个改变,这是我从目录中觅得的。该测试样本对应的标签为:正向情感。
模型的预测是直接对文本进行截断,从图5(可视化图)中可以分析得到,上述异常问题对应的测试样本(上述句子)中前半部分(图5所示对应的内容)充斥着大量负面情感词使得模型判断其整体具有负向情感,而没有关注到被舍弃掉的后半部分的转折内容(上述句子中被舍弃的转折内容包括:替语言,独身在一个角落静静刻读阴沉的文字。所以当我看到一本来自于伊的散文集时,下意识的忽略掉。我猜,这肯定又是那些一成不变文字的翻版,阴冷的充满凉意。但不妨打开第一页,先看看目录。这本书是一个跨越,一个改变,这是我从目录中觅得的),然后被舍弃掉的转折内容才表征了这个测试样本的真正情感取向。
从上述针对异常问题进行评测的结果可以发现,文本的直接截断操作让模型在某些样本数据上作出正确判断是较为困难的,因此,可以反馈一种改进文本直接截断操作的模型的改进优化方法。
下面针对采用可视化分析模块针对异常问题进行评测的具体过程进行说明。
可选地,采用可视化分析模块针对异常问题进行评测时可以采用下述步骤D1-D2所示的至少一项:
步骤D1:采用卷积热力图算法针对测试数据中的每一测试样本图片与该测试样本图片的标注信息,确定该测试样本图片对应的热力图;基于该热力图确定针对异常问题进行评测的结果;其中,热力图中的聚焦位置表征模型针对标注信息对应类别下分类任务的关注区域。
具体地,如图6所示,当可视化分析模块采用卷积热力图算法时,其输入包括待评估的样本图片和针对该样本图片的目标类别(通过类别标签进行标注),其输出是一张热力图,热力图中的聚焦位置表征模型执行在该目标类别下的分类任务时关注的区域。其中,如图6中图(a)所示,输入图片中包括狗和猫,而与图(a)相应的类别标签(标注信息)为猫,则卷积热力图算法可以将模型分类决策的重点区域聚焦于图片中猫的位置,从图(c)可见,模型对该类别(猫)具有较好的分辨处理能力。另,如图6中图(g)所示,输入图片中包括狗和猫,而与图(g)相应的类别标签为狗,则卷积热力图算法可以将模型分类决策的重点区域聚焦于图片中狗的位置,从图(i)可见,模型对该类别(狗)具有较好的分辨处理能力。也即,卷积热力图算法可以用以分析模型行为,从模型对于某类别和某输入的关注区域来推断模型作出分类决策的情况,进而可以研究当前产生异常问题bad case的原因以及模型在该类别样本上无法作出准确判断的原因。
下面结合图7a和图7b对采用卷积热力图grad-cam算法的可视化评测结果进行说明。
下面以在不适图片分类模型的吃播垂类下采用卷积热力图算法进行可视化分析为例进行说明。具体地,给定负类(正常图片,如图7a所示)作为目标类别,可以发现模型对该负类图片进行处理时对应输出的热力图可以聚焦在食物上,也即模型的分类处理与认为操作分类时的关注区域一致。然而,当给定正类(不适图片,如图7b所示)作为目标类别时,可以发现模型对该正类图片进行处理时对应输出的热力图聚焦在无意义的像素点上,则可以推测出在吃播垂类下,模型作出判定为正样本的决策是具有缺陷的,此时可以反馈建议增加更多正样本或者构建垂类小模型的结果。
步骤D2:采用降维算法在模型测试的过程中,监控测试数据的分布变化信息;基于测试数据的分布变化信息确定针对异常问题进行评测的结果。
具体地,可以采用流形学习降维算法UMAP,也可以采用数据降维算法t-SNE进行。其中,t-SNE算法的原理为将数据点之间的相似度转换为概率,并通过将算法结果投影在二维或三维的空间中进行观察(可视化过程)。其中,在模型的测试过程中,可以从可视化的角度观察测试样本随着模型测试过程的数据分布变化情况,有助于基于测试情况优化模型。
下面针对采用影响力分析模块针对异常问题进行评测的具体过程进行说明。
在一实施例中,采用影响力分析模块针对异常问题进行评测包括以下步骤E1-E2:
步骤E1:基于训练数据与测试数据确定训练数据中各训练样本相对于测试数据的重要性分值。
步骤E2:基于重要性分值确定针对异常问题进行评测的结果。
具体地,影响力分析模块中采用的影响力函数算法的输入是待评估的测试数据以及训练数据,输出是针对于测试数据中的测试样本,每一个训练数据中的训练样本相对于测试数据的重要性分值。在获取到算法计算得到的重要性分值后,在算法一侧,一方面可以找出对于异常问题bad case最重要的训练样本子集,并检查出其中是否存在标注错误的信息;另一方面,可以挖掘出重要性较高的训练样本子集中的共性问题,进而推断模型作出决策的模式。
下面结合图8对本申请实施例中采用影响力分析模块进行评测的评测结果进行举例说明。
具体地,对不适图片分类模型的训练数据以及测试数据进行影响力分析,可以得到如图8所示的分析结果。其中图8中有害训练样本harmful表示这类训练样本在用于评估测试样本时具有负面影响,有助训练样本helpful表示这类训练样本在用于评估测试样本时具有正面影响。
其中,如图8所示,在测试样本图片中,该图片经模型处理被判定为负样本,但其实际为正样本。计算该测试样本所对应的训练样本的影响力分值时,对其帮助最大的训练样本(helpful样本)大部分是正样本且与吃播领域相关,但是在harmful样本中同样对其影响大的也是吃播领域相关的数据,在图片中人物正在进食的内容也与测试样本中相同的部分,但相应实际的标注信息(标签)是负样本,由此,可以推断出相关的训练样本可能存在错误标注的情况。
在一可行的实施例中,步骤S102中采用训练数据对模型进行训练,还包括步骤S1021-S1022:
步骤S1021:采用降维算法在模型训练的过程中,监控训练数据的分布变化信息。
步骤S1022:基于训练数据的分布变化信息确定针对模型进行评测的结果。
在本申请实施例中,在评测系统中引入的可视化模块具体可以为模型迭代可视化模块,可以用于对训练过程进行监控,从而使得算法那在训练过程中,不仅仅只关注损失loss指标,还从可视化的角度观察训练数据中的训练样本随着训练过程的数据分布变化过程,该算法的实施有利于改进模型的训练。
具体地,与上述实施例所示的降维算法相同,在步骤S1021中也可以采用流形学习降维算法UMAP和数据降维算法t-SNE。下面以采用UMAP算法为例进行说明,在训练数据量较大的场景下,UMAP算法具有可以保留训练数据的局部结果和整体结构,并且运行速度快,内存占用小的特性。当在评测系统中集成UMAP算法后,可以采用该算法在模型训练阶段,实施监控训练过程中训练数据分布变化情况,并采用可视化方式呈现算法训练的动态过程。
为了进一步说明本申请实施例提供的可视化分析模块应用在模型训练迭代过程的评测结果,下面结合图9a和图9b,以情感分类模型BERT的训练过程进行举例说明。图9a是模型训练过程中得到的第一个时期epoch图,图9b是模型训练过程中得到的第二个时期epoch图。通过比对图9a和图9b可以发现,随着模型训练的深入,模型对于两个类别的区分展现出了更好的区分能力。
在上述实施例提供的多种算法的基础上,本申请实施例可以采用计算机编程语言包PYTHON package的方式将各种算法进行集成形成评测系统(AI-DL工具箱),以在算法模型的训练和测试评估部分进行调用。
本申请实施例中提供的AI-DL工具箱在算法白盒评测的自动化链路中,在常规质量红线评价的基准上,可以充分利用AI-DL工具箱中的白盒评测能力进行多维度评测:当质量红线不达标(预设指标值小于或等于预设阈值),可以从模型维度进行模型的覆盖度分析,考察样本数据对于模型内部神经元的覆盖情况,反馈模型问题;也可以从数据维度出发,通过对测试数据进行不确定性分析来构造特定的“困难”评测数据集,以观察模型在该类评测集上的表现,从而可以得到导致算法失效的某些共性问题。另一方面,AI-DL工具箱也可以从异常问题bad case出发(预设指标值大于预设阈值),进行多维度分析。例如,对bad case进行归因分析,分析测试样本中的不同特征对模型决策的贡献程度,挖掘算法模型分类的潜在模式;将bad case输入的中间特征可视化,通过热力图等信息判断模型的关注点(或关注区域、关注位置);对训练样本进行影响力分析,找出训练样本中对于bad case的产生影响力最大的样本数据,以期待从中发现错误。可见,将本申请实施例提供的AI-DL工具箱应用在算法评测的自动化链路中,反馈给算法方的内容在深度和广度上都有所拓展。
本申请实施例提供了一种模型评测装置,如图10所示,该模型评测装置100可以包括:获取模块101、训练模块102、测试模块103和评测模块104。其中,获取模块101,用于获取训练数据和测试数据;训练模块102,用于采用训练数据对模型进行训练;测试模块103,用于采用测试数据测试训练后的模型,并计算在测试数据上的预设指标值;评测模块104,用于基于预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。
在一实施例中,评测模块104用于执行基于预设指标值确定采用评测系统中至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测的步骤时,还用于执行以下步骤:
若预设指标值小于或等于预设阈值,采用下述至少一种进行评测:采用评测系统中用于度量测试数据完整性的覆盖度分析模块针对模型进行评测;采用评测系统中用于度量测试数据不确定性的不确定性分析模块针对测试数据进行评测;
采用评测系统中用于分析测试数据的不同特征对模型决策的重要程度的归因分析模块、用于分析测试数据的的不同特征对模型决策的重要程度的可视化分析模块和用于分析训练数据对模型针对测试数据进行决策的重要程度的影响力分析模块中的至少一个针对异常问题进行评测。
在一实施例中,评测模块104用于执行采用覆盖度分析模块针对模型进行评测的步骤时,包括执行以下至少一项:
基于训练数据确定模型中每一神经元的边界范围,基于边界范围与测试数据对模型进行评测;
构建模型网络层间的神经元对,并基于神经元对与测试数据对模型进行评测。
在一实施例中,评测模块104用于执行基于训练数据确定模型中每一神经元的边界范围,基于边界范围与测试数据对模型进行评测的步骤时,还用于执行下述步骤:
基于训练数据进行前向传播处理,确定模型中各神经元的边界范围;
基于测试数据进行前向传播处理,确定测试数据中各测试样本超出边界范围对应的神经元数量;
基于神经元数量确定模型对各测试样本进行决策的置信度;
基于置信度确定针对模型进行评测的结果。
在一实施例中,评测模块104用于执行构建神经元对,并基于神经元对与测试数据对模型进行评测的步骤时,还用于执行以下步骤:
在模型的不同层神经元中抽取神经元构建多个神经元对;
确定测试数据触发神经元对中所有激活状态的神经元对数量与所有神经元对数量的比值;
基于比值确定针对模型进行评测的结果。
在一实施例中,评测模块104用于执行基于比值确定针对模型进行评测的结果的步骤时,还用于执行以下步骤:
基于神经元对未被测试数据激活的状态信息,构建攻击样本数据;
基于攻击样本数据,确定模型的边界漏洞信息。
在一实施例中,评测模块104用于执行采用不确定性分析模块针对测试数据进行评测的步骤时,还用于执行以下步骤:
基于测试数据进行前向传播处理,确定测试数据的预测结果;
基于预测结果的方差、熵和互信息中的至少一种,确定测试数据的不确定度值;
基于不确定度值确定针对测试数据进行评测的结果。
在一实施例中,评测模块104用于执行采用归因分析模块针对异常问题进行评测的步骤时,话用于执行以下步骤:
采用梯度积分算法确定测试数据中各测试样本对应的贡献程度在样本特征中的分布信息;
基于分布信息确定针对异常问题进行评测的结果。
在一实施例中,评测模块104用于执行采用可视化分析模块针对异常问题进行评测的步骤时,还用于执行以下至少一项:
采用卷积热力图算法针对测试数据中的每一测试样本图片与该测试样本图片相应的标注信息,确定该测试样本图片对应的热力图;基于热力图确定针对异常问题进行评测的结果;热力图中的聚焦位置表征模型针对标注信息对应类别下分类任务的关注区域;
采用降维算法在模型测试的过程中,监控测试数据的分布变化信息;基于测试数据的分布变化信息确定针对异常问题进行评测的结果。
在一实施例中,评测模块104用于执行采用影响力分析模块针对异常问题进行评测的步骤时,还用于执行:
基于训练数据与测试数据确定训练数据中各训练样本相对于测试数据的重要性分值;
基于重要性分值确定针对异常问题进行评测的结果。
在一实施例中,训练模块102用于执行采用训练数据对模型进行训练的步骤时,还用于执行以下步骤:
采用降维算法在模型训练的过程中,监控训练数据的分布变化信息;
基于训练数据的分布变化信息确定针对模型进行评测的结果。
本申请实施例的装置可执行本申请的实施例所提供的方法,其实现原理相类似,本申请各实施例中的装置中的各模块所执行的动作是与本申请各实施例中的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应的方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:在本申请中设置有评测系统,并采用该评测系统在模型评测时基于模型训练和测试的整个过程进行;在实施时,获取训练数据和测试数据,采用训练数据对模型进行训练后,采用测试数据对训练后的模型进行测试,并计算测试时对模型性能进行评估的得到的预设指标值,进而基于该预设指标值确定采用评测系统中的至少一个分析模块针对训练数据、测试数据和模型中的至少一项进行评测。本申请的实施可以适应应用于各类模型中,不限定模型的领域,提高了模型评测在各个领域中的适应性;另一方面,本申请还可以实现针对训练数据、测试数据和模型的各个维度进行评测,提供多维度的分析结果,提升模型优化改进的效能。
在一个可选实施例中提供了一种电子设备,如图11所示,图11所示的电子设备1100包括:处理器1101和存储器1103。其中,处理器1101和存储器1103相连,如通过总线1102相连。可选地,电子设备1100还可以包括收发器1104,收发器1104可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器1104不限于一个,该电子设备1100的结构并不构成对本申请实施例的限定。
处理器1101可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1102可包括一通路,在上述组件之间传送信息。总线1102可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1102可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1103可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1103用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器1101来控制执行。处理器1101用于执行存储器1103中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:智能手机、平板电脑、笔记本电脑、智能音箱、智能手表、车载设备等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的模型评测方法。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种模型评测方法,其特征在于,包括:
获取训练数据和测试数据;
采用所述训练数据对模型进行训练;
采用所述测试数据测试训练后的模型,并计算测试时对所述模型性能进行评估得到的预设指标值;
基于所述预设指标值确定采用评测系统中的至少一个分析模块针对所述训练数据、测试数据和模型中的至少一项进行评测。
2.根据权利要求1所述的方法,其特征在于,所述基于所述预设指标值确定采用评测系统中至少一个分析模块针对所述训练数据、测试数据和模型中的至少一项进行评测,包括:
若所述预设指标值小于或等于预设阈值,采用下述至少一种进行评测:采用评测系统中用于度量所述测试数据完整性的覆盖度分析模块针对模型进行评测;采用评测系统中用于度量所述测试数据不确定性的不确定性分析模块针对测试数据进行评测;
采用评测系统中用于分析测试数据的不同特征对模型决策的重要程度的归因分析模块、用于分析测试数据的的不同特征对模型决策的重要程度的可视化分析模块和用于分析训练数据对模型针对测试数据进行决策的重要程度的影响力分析模块中的至少一个针对异常问题进行评测。
3.根据权利要求2所述的方法,其特征在于,采用覆盖度分析模块针对模型进行评测包括以下至少一项:
基于所述训练数据确定所述模型中每一神经元的边界范围,基于所述边界范围与测试数据对所述模型进行评测;
构建所述模型网络层间的神经元对,并基于所述神经元对与所述测试数据对所述模型进行评测。
4.根据权利要求3所述的方法,其特征在于,所述基于所述训练数据确定所述模型中每一神经元的边界范围,基于所述边界范围与测试数据对所述模型进行评测,包括:
基于所述训练数据进行前向传播处理,确定所述模型中各神经元的边界范围;
基于所述测试数据进行前向传播处理,确定所述测试数据中各测试样本超出边界范围对应的神经元数量;
基于所述神经元数量确定所述模型对各测试样本进行决策的置信度;
基于所述置信度确定针对模型进行评测的结果。
5.根据权利要求3所述的方法,其特征在于,所述构建神经元对,并基于所述神经元对与所述测试数据对所述模型进行评测,包括:
在所述模型的不同层神经元中抽取神经元构建多个神经元对;
确定所述测试数据触发神经元对中所有激活状态的神经元对数量与所有神经元对数量的比值;
基于所述比值确定针对所述模型进行评测的结果。
6.根据权利要求5所述的方法,其特征在于,所述基于所述比值确定针对所述模型进行评测的结果,还包括:
基于所述神经元对未被所述测试数据激活的状态信息,构建攻击样本数据;
基于所述攻击样本数据,确定所述模型的边界漏洞信息。
7.根据权利要求2所述的方法,其特征在于,采用不确定性分析模块针对测试数据进行评测,包括:
基于所述测试数据进行前向传播处理,确定所述测试数据的预测结果;
基于所述预测结果的方差、熵和互信息中的至少一种,确定所述测试数据的不确定度值;
基于所述不确定度值确定针对测试数据进行评测的结果。
8.根据权利要求2所述的方法,其特征在于,采用归因分析模块针对异常问题进行评测,包括:
采用梯度积分算法确定所述测试数据中各测试样本对应的贡献程度在样本特征中的分布信息;
基于所述分布信息确定针对异常问题进行评测的结果。
9.根据权利要求2所述的方法,其特征在于,采用可视化分析模块针对异常问题进行评测包括以下至少一项:
采用卷积热力图算法针对所述测试数据中的每一测试样本图片与该测试样本图片相应的标注信息,确定该测试样本图片对应的热力图;基于所述热力图确定针对异常问题进行评测的结果;所述热力图中的聚焦位置表征所述模型针对标注信息对应类别下分类任务的关注区域;
采用降维算法在模型测试的过程中,监控测试数据的分布变化信息;基于所述测试数据的分布变化信息确定针对异常问题进行评测的结果。
10.根据权利要求2所述的方法,其特征在于,采用影响力分析模块针对异常问题进行评测包括:
基于所述训练数据与测试数据确定所述训练数据中各训练样本相对于所述测试数据的重要性分值;
基于所述重要性分值确定针对异常问题进行评测的结果。
11.根据权利要求1所述的方法,其特征在于,采用所述训练数据对模型进行训练,还包括:
采用降维算法在模型训练的过程中,监控训练数据的分布变化信息;
基于所述训练数据的分布变化信息确定针对模型进行评测的结果。
12.一种模型评测装置,其特征在于,包括:
获取模块,用于获取训练数据和测试数据;
训练模块,用于采用所述训练数据对模型进行训练;
测试模块,用于采用所述测试数据测试训练后的模型,并计算在所述测试数据上的预设指标值;
评测模块,用于基于所述预设指标值确定采用评测系统中的至少一个分析模块针对所述训练数据、测试数据和模型中的至少一项进行评测。
13.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机可以执行上述权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110220723.2A CN113704082A (zh) | 2021-02-26 | 2021-02-26 | 模型评测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110220723.2A CN113704082A (zh) | 2021-02-26 | 2021-02-26 | 模型评测方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113704082A true CN113704082A (zh) | 2021-11-26 |
Family
ID=78647792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110220723.2A Pending CN113704082A (zh) | 2021-02-26 | 2021-02-26 | 模型评测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704082A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003511A (zh) * | 2021-12-24 | 2022-02-01 | 支付宝(杭州)信息技术有限公司 | 针对模型解释工具的评测方法和装置 |
CN114168446A (zh) * | 2022-02-10 | 2022-03-11 | 浙江大学 | 一种面向移动端运行算法模型的模拟评测方法及设备 |
CN115423485A (zh) * | 2022-11-03 | 2022-12-02 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置及设备 |
CN117933428A (zh) * | 2024-03-20 | 2024-04-26 | 清华大学 | 数据偏移应对策略评测方法、装置及设备 |
WO2024087000A1 (en) * | 2022-10-25 | 2024-05-02 | Huawei Technologies Co., Ltd. | Methods and apparatuses for articifical intelligence or machine learning training |
-
2021
- 2021-02-26 CN CN202110220723.2A patent/CN113704082A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003511A (zh) * | 2021-12-24 | 2022-02-01 | 支付宝(杭州)信息技术有限公司 | 针对模型解释工具的评测方法和装置 |
CN114168446A (zh) * | 2022-02-10 | 2022-03-11 | 浙江大学 | 一种面向移动端运行算法模型的模拟评测方法及设备 |
WO2024087000A1 (en) * | 2022-10-25 | 2024-05-02 | Huawei Technologies Co., Ltd. | Methods and apparatuses for articifical intelligence or machine learning training |
CN115423485A (zh) * | 2022-11-03 | 2022-12-02 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置及设备 |
CN117933428A (zh) * | 2024-03-20 | 2024-04-26 | 清华大学 | 数据偏移应对策略评测方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113704082A (zh) | 模型评测方法、装置、电子设备及存储介质 | |
CN111753985B (zh) | 基于神经元覆盖率的图像深度学习模型测试方法与装置 | |
CN112434721A (zh) | 一种基于小样本学习的图像分类方法、系统、存储介质及终端 | |
CN112966074A (zh) | 一种情感分析方法、装置、电子设备以及存储介质 | |
CN111027576B (zh) | 基于协同显著性生成式对抗网络的协同显著性检测方法 | |
Nunes et al. | A null biogeographical test for assessing ecological niche evolution | |
CN109635010B (zh) | 一种用户特征及特征因子抽取、查询方法和系统 | |
CN111325237B (zh) | 一种基于注意力交互机制的图像识别方法 | |
CN113761259A (zh) | 一种图像处理方法、装置以及计算机设备 | |
CN114048468A (zh) | 入侵检测的方法、入侵检测模型训练的方法、装置及介质 | |
CN113032525A (zh) | 虚假新闻检测方法、装置、电子设备以及存储介质 | |
CN116596095B (zh) | 基于机器学习的碳排放量预测模型的训练方法及装置 | |
CN110633711A (zh) | 训练特征点检测器的计算机装置、方法及特征点检测方法 | |
CN114241587B (zh) | 人脸活体检测对抗鲁棒性的评估方法及装置 | |
CN109685104B (zh) | 一种识别模型的确定方法和装置 | |
CN117197591B (zh) | 一种基于机器学习的数据分类方法 | |
Huang et al. | testrnn: Coverage-guided testing on recurrent neural networks | |
CN112989932A (zh) | 基于改进原型网络的少样本森林火灾烟雾识别方法及装置 | |
CN117011274A (zh) | 自动化玻璃瓶检测系统及其方法 | |
CN113610080B (zh) | 基于跨模态感知的敏感图像识别方法、装置、设备及介质 | |
CN112231615A (zh) | 一种文章的敏感信息检测方法及装置 | |
CN112861689A (zh) | 一种基于nas技术的坐标识别模型的搜索方法及装置 | |
CN117611580B (zh) | 瑕疵检测方法、装置、计算机设备和存储介质 | |
CN113791429B (zh) | 一种基于svm的卫星接收机故障分析方法 | |
CN109740671B (zh) | 一种图像识别方法及装置 |
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 |