CN114968788A - 人工智能算法编程能力自动评估方法、装置、介质及设备 - Google Patents
人工智能算法编程能力自动评估方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN114968788A CN114968788A CN202210594679.6A CN202210594679A CN114968788A CN 114968788 A CN114968788 A CN 114968788A CN 202210594679 A CN202210594679 A CN 202210594679A CN 114968788 A CN114968788 A CN 114968788A
- Authority
- CN
- China
- Prior art keywords
- artificial intelligence
- model
- algorithm
- intelligence algorithm
- user
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种人工智能算法编程能力自动评估方法、装置、介质及设备,属于人工智能领域。本发明提供了一种自动化代码评测流程,可针对用户提交的代码进行自动评估,并在评估后针对模型表现和可解释性结果得出的评分和模型优化建议,便于用户在学习过程中快速上手人工智能算法。同时,本发明提供了智能化的数据预处理流程,可让用户专注于构建模型算法本身,而不需要关注模型算法之外其他的处理流程,从而使用户能够聚焦于学习人工智能算法中的核心内容。本发明能够提供多维度的结果分析,且模型中不同超参数、输入特征的设置效果一目了然,以便于用户对模型进行有效改进。
Description
技术领域
本发明属于人工智能领域,具体涉及一种人工智能算法编程能力自动评估方法、装置、介质及设备。
背景技术
随着人工智能的飞速发展,涌现了许多网络教程和的书籍。这些内容参差不齐,且存在一个巨大的局限性,那就是读者或用户缺乏便捷的实践手段,因而无法完全掌握某些算法。如果他们自行去网络搜索相关内容,数据处理、数据封装、模型定义等整个流程十分复杂,有时还需要考虑计算资源的限制。此外,对于人工智能相关人才的培养,很大程度上依靠个人自学水平。一个高效的人工智能算法编程能力评测方法有助于人们更好掌握并实践人工智能算法,同时也提供了一种培养和判断人工智能水平的思路。
现有技术中提供了几种不同的解决方案:
方案1:目前测评平台主要是OJ(Online Judge),如POJ、ZOJ等,其主要考察传统算法如动态规划、数据结构等。一个题目有描述、标准输入输出。用户可提交平台支持的语言的代码,然后系统运行代码,将得到的结果和标准答案进行比较,判断是否正确以及代码运行时间是否超时。
方案2:对于深度学习能力测试,很多都是基于知识的形式考虑,即设置选择题和简答题,让用户完成这些题目,系统再进行评判。
然而,上述现有解决方案分别存在相应的缺点,具体而言,:
方案1:标准输入输出的形式存在一定的局限性,即当数据量较大时,会消耗大量的资源用于读取数据。此外,不同深度学习框架对于数据读取的方式也有所不同。方案1无法处理人工智能能力测评的需要。
方案2:该方案存在两个不足。第一,题目需要人为设计,因此构建一个全面的人工智能题库是一项巨大且耗费大量人力物力财力的工程;第二,答题的形式无法很好反应一个人对于某个人工智能算法的掌握程度。
因此,有待于对人工智能算法编程能力自动评估方法进行进一步的优化。
发明内容
本发明的目的在于解决现有技术中存在的问题,并提供一种人工智能算法编程能力自动评估方法、装置、介质及设备。
本发明所采用的具体技术方案如下:
第一方面,本发明提供了一种人工智能算法编程能力自动评估方法,其包括:
S1、获取用户在平台上针对人工智能算法编程的目标题目所提交的代码,并对其进行扫描分析,根据目标题目对应的目标人工智能算法以及用户选择的机器学习框架在平台上构建相应的运行环境,以及加载运行所述代码需要的库;
S2、针对所述代码中由用户构建的人工智能模型,通过生成模型封装器(ModelWrapper)类对其进行封装,并构建得到一个实例对象;
S3、加载所述目标题目中的数据集,并调用目标人工智能算法所需的预处理方法对数据集进行预处理;其中每一种人工智能算法所需的预处理方法预先内置于平台上;
S4、利用经过预处理后的数据集对所述实例对象进行训练,并记录训练过程中的关键指标变化,在训练完毕后对模型性能进行测试,获得第一测试结果;获取目标人工智能算法对应的基线模型在相同数据集上测试的第二测试结果;其中每一个目标人工智能算对应的基线模型预先内置于平台上;
S5、基于S4中的训练和测试结果,将模型训练过程中记录的关键指标变化进行可视化显示得到关键指标可视化结果,同时对模型进行可解释性分析得到可解释性分析结果;
S6、针对所提交的代码,基于所述第一测试结果和第二测试结果按照预设的评分规则生成人工智能算法编程能力评分,同时根据关键指标可视化结果和可解释性分析结果按照预设的建议生成规则给出算法优化建议。
作为上述第一方面的优选,所述的机器学习框架类型包括Pytorch、sklearn。
作为上述第一方面的优选,所述预处理方法需针对每一种人工智能算法所面对的数据类型分别设计,使预处理后的数据集满足算法模型的输入要求;优选的,若所述数据类型为图像、视频或音频数据,所述预处理方法为数据归一化;若所述数据类型为文本数据,则所述预处理方法为构建词典及词元化。
作为上述第一方面的优选,所述对模型进行可解释性分析包括归因分析,使用SHAP和/或Integrated Gradient算法对模型的输入特征进行归因分析。
作为上述第一方面的优选,若用户构建的人工智能模型为注意力模型,则所述对模型进行可解释性分析时还包括使用Attention Flow算法对模型中的注意力结构网络进行分析,通过设置起始节点和结束结点,构建网络流模型,并使用最大流算法求得两节点之间的权重得分,并对分析结果进行可视化展示。
作为上述第一方面的优选,所述的关键指标包括损失函数值和学习率。
作为上述第一方面的优选,所述第一测试结果和第二测试结果中的测试指标包括ROUGE、BLEU、BertScore、准确率、召回率中的一种或多种,根据对应的模型进行选择。
第二方面,本发明提供了一种人工智能算法编程能力自动评估装置,其包括:
初始化模型,用于获取用户在平台上针对人工智能算法编程的目标题目所提交的代码,并对其进行扫描分析,根据目标题目对应的目标人工智能算法以及用户选择的机器学习框架在平台上构建相应的运行环境,以及加载运行所述代码需要的库;
实例化模块,用于针对所述代码中由用户构建的人工智能模型,通过生成模型封装器(ModelWrapper)类对其进行封装,并构建得到一个实例对象;
预处理模块,用于加载所述目标题目中的数据集,并调用目标人工智能算法所需的预处理方法对数据集进行预处理;其中每一种人工智能算法所需的预处理方法预先内置于平台上;
训练测试模块,用于利用经过预处理后的数据集对所述实例对象进行训练,并记录训练过程中的关键指标变化,在训练完毕后对模型性能进行测试,获得第一测试结果;获取目标人工智能算法对应的基线模型在相同数据集上测试的第二测试结果;其中每一个目标人工智能算对应的基线模型预先内置于平台上;
分析模块,用于基于训练测试模块中的训练和测试结果,将模型训练过程中记录的关键指标变化进行可视化显示得到关键指标可视化结果,同时对模型进行可解释性分析得到可解释性分析结果;
评分建议模块,用于针对所提交的代码,基于所述第一测试结果和第二测试结果按照预设的评分规则生成人工智能算法编程能力评分,同时根据关键指标可视化结果和可解释性分析结果按照预设的建议生成规则给出算法优化建议。
第三方面,本发明提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,能实现如上述第一方面中任一方案所述的人工智能算法编程能力自动评估方法。
第四方面,本发明提供了一种电子设备,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如上述第一方面中任一方案所述的人工智能算法编程能力自动评估方法。
本发明相对于现有技术而言,具有以下有益效果:
1)本发明提供了一种自动化代码评测流程,可针对用户提交的代码进行自动评估,并在评估后针对模型表现和可解释性结果得出的评分和模型优化建议,便于用户在学习过程中快速上手人工智能算法。
2)本发明提供了智能化的数据预处理流程,可让用户专注于构建模型算法本身,而不需要关注模型算法之外其他的处理流程,从而使用户能够聚焦于学习人工智能算法中的核心内容。
3)本发明能够提供多维度的结果分析,且模型中不同超参数、输入特征的设置效果一目了然,以便于用户对模型进行有效改进。
附图说明
图1为人工智能算法编程能力自动评估方法的步骤示意图;
图2为人工智能算法编程能力自动评估方法的流程图;
图3为机器翻译任务中的人工智能算法编程能力自动评估方法流程图;
图4为人工智能算法编程能力自动评估装置的模块组成示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步阐述和说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。本发明各个实施例中的技术特征在没有相互冲突的前提下,均可进行相应组合。
在本发明的描述中,需要理解的是,当一个元件被认为是“连接”另一个元件,可以是直接连接到另一个元件或者是间接连接即存在中间元件。相反,当元件为称作“直接”与另一元件连接时,不存在中间元件。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于区分描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
本发明中,提供了一种人工智能算法编程能力自动评估方法,该方法可用于在线评测平台(Online Judge,OJ)中,对用户针对某一题目提交的代码进行评估,给出其评分和优化建议。一般而言,平台上的题目中会带有描述所需编写的人工智能算法的问题描述(Description)、输入(Input)、输出(Output)、数据集,用户需要针对题目选择合适的机器学习框架来设计网络模型,并进行人工智能算法的编程实现,最后提交包含模型的代码供平台进行自动评估。
由于人工智能领域十分广泛,不同的算法其数据集、表示形式、评价指标等都有很大的不同。因此本发明中,对于某个人工智能算法,平台会在题目中提供问题描述、对应数据集的形式、以及部分代码,这部分代码的作用是执行一些核心算法框架之外的数据处理步骤,从而帮助用户专注于算法本身,而不用关注算法本身之外的内容,提高在平台上的学习效率。另外,由于目前人工智能的主要工具是Python语言编写的各种工具包,因此对于可能出现的版本不兼容问题,本发明可以通过定义不同虚环境来解决。
如图1所示,在本发明的一个较佳实施例中,提供了一种人工智能算法编程能力自动评估方法,其包括:
S1、获取用户在平台上针对人工智能算法编程的目标题目所提交的代码,并对其进行扫描分析,根据目标题目对应的目标人工智能算法以及用户选择的机器学习框架在平台上构建相应的运行环境,以及加载运行所述代码需要的库。
需要说明的是,平台上的每一道题目都分别具有对应的人工智能算法,但用户选择的机器学习框架以及运行代码所需的环境和库是不同的,因此需要事先分析代码开头部分所写的代码运行所需要的包,根据代码的特点在平台上构建相应的虚拟运行环境,并加载相应的库。
为了便于构建运行环境,在平台上需要预先根据用户可能会选择的各种机器学习框架(如Pytorch,sklearn等)定义相应的虚拟运行环境。一般而言,大部分机器学习算法都可以使用sklearn框架实现,但是概率图模型如隐马尔科夫模型,条件随机场等需要另外的Pyhton包实现。因此,具体的虚拟运行环境可根据平台上的题目所对应的各种机器学习框架进行调整。
S2、针对所述代码中由用户构建的人工智能模型,通过生成模型封装器(ModelWrapper)类对其进行封装,并构建得到一个实例对象。
需要说明的是,通过ModelWrapper类封装的得到的实例modelWrapper,可用于后续的具体运行,进而对其性能进行评估。一般而言,ModelWrapper类包含了Init(),Train(),Eval()等方法。
S3、加载所述目标题目中的数据集,并调用目标人工智能算法所需的预处理方法对数据集进行预处理;其中每一种人工智能算法所需的预处理方法预先内置于平台上。
需要说明的是,对于深度学习而言,不同任务差异巨大,且有些任务(如机器翻译)需要对数据进行复杂的预处理,因此前期数据处理过程尤为关键但也尤为耗时。而本发明中的预处理方法是平台内置的,可以直接调用平台上对应的预处理相关代码实现,无需用户单独进行代码编写,因此用户在答题时可专注于算法本身,而不用关注算法本身之外的数据预处理部分,提高在平台上的学习效率。
需要说明的是,上述步骤中调用的预处理方法需要根据具体的数据集情况以及相应的人工智能算法而定。作为本发明实施例的一种较佳实现形式,上述预处理方法需针对每一种人工智能算法所面对的数据类型分别设计,使预处理后的数据集满足算法模型的输入要求。例如,如果数据类型为图像、视频或音频等数据,则采用的预处理方法可以为数据归一化操作;如果数据类型为文本数据,则采用的预处理方法可以为构建词典及词元化等操作。需要注意的是,这仅仅是部分举例,每一种数据集和人工智能算法的特定情况,均可事先在平台上设置相应的预处理方法,其可以代码形式提供于题目中,亦可以其他形式在用户答题时提供给用户作为参考。
当然,用户在编写代码时,也可以对平台中提供的预处理方法进行改进,写入自行设计的预处理方法。因此假如用户提交的代码中存在自行设计的预处理方法,则优先采用用户自行设计的预处理方法对数据集进行预处理。
S4、利用经过预处理后的数据集对所述实例对象进行训练,并记录训练过程中的关键指标变化,在训练完毕后对模型性能进行测试,获得第一测试结果;获取目标人工智能算法对应的基线模型在相同数据集上测试的第二测试结果;其中每一个目标人工智能算对应的基线模型预先内置于平台上。
需要说明的是,模型的训练过程属于现有技术,经过S3预处理后的数据集可分为训练集和测试集,对此不再赘述。其中,训练过程中记录的关键指标可以可根据相应的模型进行选择。作为本发明实施例的一种较佳实现形式,训练过程中记录的关键指标包括损失函数值和学习率,以便于掌握训练过程中模型的收敛情况。
同样的,第一测试结果和第二测试结果中的评价指标也需要根据实际的模型进行调整。由于不同任务的评价指标存在较大的不同,比如自然语言处理生产式任务通常使用ROUGE或BLEU指标,或者近年来诞生的BertScore等;而分类任务往往使用准确率、召回率等指标。这些记录的评价指标,可通过统一的接口进行保存,以便于后续对用户进行反馈和优化。本发明中的目标人工智能算法对应的基线模型是预先设置的,每一个题目中的相应人工智能算法都设置了基线模型,可利用基线模型的测试结果与用户编写的模型的测试结果进行对比,判断用户对于该人工智能算法的编程能力水平。
S5、基于S4中的训练和测试结果,将模型训练过程中记录的关键指标变化进行可视化显示得到关键指标可视化结果,同时对模型进行可解释性分析得到可解释性分析结果。
需要说明的是,对模型的可解释性(Interpretation)进行分析的目的是解决神经网络的“黑箱模型”问题,使得用户能够理解在模型决策产生的过程中哪些输入特征起到了显著的作用。可解释性分析可采用现有技术中的相关技术手段来实现。作为本发明实施例的一种较佳实现形式,对模型进行可解释性分析时,可采用使用SHAP和IntegratedGradient算法对模型的输入特征进行归因分析,以便于了解各输入特征对于模型输出结果的影响程序,进而为用户优化模型提供建议。另外,加入用户构建的人工智能模型为注意力模型,则所述对模型进行可解释性分析时还包括使用Attention Flow算法对模型中的注意力结构网络进行分析,可以通过设置起始节点和结束结点,构建网络流模型,并使用最大流算法求得两节点之间的权重得分,并对权重得分之类的分析结果进行可视化展示。
当然,上述归因分析和Attention Flow分析仅仅是模型可解释性分析的部分可行方案,在平台上亦可设置更多的可解释性分析方式供用户进行选择。
S6、针对所提交的代码,基于所述第一测试结果和第二测试结果按照预设的评分规则生成人工智能算法编程能力评分,同时根据关键指标可视化结果和可解释性分析结果按照预设的建议生成规则给出算法优化建议。
需要说明的是,上述步骤中的评分规则以及建议生成规则都可以根据实际进行优化调整。其中,评分规则的作用是以基线模型得到的第二测试结果为基准对第一测试结果的表现进行打分,从而量化用户对于该人工智能算法的编程能力。评分规则的具体形式可以根据实际调整。举例而言,对于分类模型而言,在一优选方式中,第一测试结果和第二测试结果中的评价指标分别为准确度,可以先给予基线模型一个基准得分,例如基线模型得分是80分,其准确度ac=93%,而第一测试结果中的准确度ac=94%,那么用户的人工智能算法编程能力评分为=(80/93%)*94%。如果第一测试结果和第二测试结果中的评价指标有多个,则可以按照相同的规则进行评分然后取均值或者加权均值。
进一步的,本发明中的建议生成规则用于根据关键指标可视化结果和可解释性分析结果生成相应的算法优化建议即对于模型的修改意见,在实际应用时刻预先在不同的关键指标可视化结果和可解释性分析结果与不同的算法优化建议之间建立映射规则,后续按照该映射规则向用户反馈相应的算法优化建议。作为本发明实施例的一种较佳实现形式,本发明中的建议生成规则中包括以下三条算法优化建议:(1)当训练过程中损失函数值一直震荡,则给出降低学习率的优化建议;(2)当模型出现过拟合现象时,则给出加入批归一化层(Batch Normalizaion) 的优化建议;(3)若SHAP算法得到模型对输入数据中各特征的权重基本一致,则给出加深神经网络层数的优化建议。
因此,上述S1~S6所示的人工智能算法编程能力自动评方法,其整体运行流程可参见图2所示。
为了更好地理解本发明的具体应用和实现,下面将上述S1~S6所示的人工智能算法编程能力自动评方法应用于一个具体的实例中。在该实例中,对应的题目为机器翻译,其数据集为机器翻译的经典数据集WMT。因此,如图3所示,其流程如下:当平台获取到用户提交的包含机器翻译模型的代码后,通过扫描分析其模型框架和所需的包,构建相应的运行环境并加载库。然后,对于原始WMT 数据集,平台将根据实际需求(如英汉或英法双语数据集)提取出需要的数据构成原始数据集,接着对数据集进行分词等预处理,将数据集分为训练集和测试集。然后对代码中的机器学习模型通过包含Init(),Train(),Eval()等方法的 ModelWrapper类进行实例化,构建模型model,设置损失函数形式为:
其中,CE(·)表示交叉熵损失函数,targeti表示训练集中的第ii个样本标签。使用统一的train(model,args)函数训练模型;最后将用户模型在测试集上运行,计算BLEU1,BLEU2,BLEUL指标。其中,BLEUn-gram(output,target)表示用户模型输出和参考翻译的BLEU分数。与此同时,平台利用tensorboard记录模型训练过程的信息,如损失函数值Loss和学习率LR的变换等。最后,获取机器翻译基准模型,在同一数据集上获取其BLEU分数,与用户模型的BLEU 分数进行对比,计算其人工智能算法编程能力评分,同时根据损失函数值Loss和学习率LR的指标可视化结果,以及SHAP和Integrated Gradient等算法的可解释性分析结果,进一步给出算法优化建议。
另外,基于同一发明构思,本发明的另一较佳实施例中还提供了与上述实施例提供的人工智能算法编程能力自动评估方法对应的人工智能算法编程能力自动评估装置。如图4所示,在该人工智能算法编程能力自动评估装置中包括六个基本的模块,分别为:
初始化模型,用于获取用户在平台上针对人工智能算法编程的目标题目所提交的代码,并对其进行扫描分析,根据目标题目对应的目标人工智能算法以及用户选择的机器学习框架在平台上构建相应的运行环境,以及加载运行所述代码需要的库;
实例化模块,用于针对所述代码中由用户构建的人工智能模型,通过生成模型封装器(ModelWrapper)类对其进行封装,并构建得到一个实例对象;
预处理模块,用于加载所述目标题目中的数据集,并调用目标人工智能算法所需的预处理方法对数据集进行预处理;其中每一种人工智能算法所需的预处理方法预先内置于平台上;
训练测试模块,用于利用经过预处理后的数据集对所述实例对象进行训练,并记录训练过程中的关键指标变化,在训练完毕后对模型性能进行测试,获得第一测试结果;获取目标人工智能算法对应的基线模型在相同数据集上测试的第二测试结果;其中每一个目标人工智能算对应的基线模型预先内置于平台上;
分析模块,用于基于训练测试模块中的训练和测试结果,将模型训练过程中记录的关键指标变化进行可视化显示得到关键指标可视化结果,同时对模型进行可解释性分析得到可解释性分析结果;
评分建议模块,用于针对所提交的代码,基于所述第一测试结果和第二测试结果按照预设的评分规则生成人工智能算法编程能力评分,同时根据关键指标可视化结果和可解释性分析结果按照预设的建议生成规则给出算法优化建议。
由于本发明实施例中的人工智能算法编程能力自动评估装置解决问题的原理与本发明上述实施例的人工智能算法编程能力自动评估方法相似,因此该实施例中装置的各模块具体实现形式未尽之处亦可可以参见上述方法的具体实现形式,重复之处不再赘述。
同样的,基于同一发明构思,本发明的另一较佳实施例中还提供了与上述实施例提供的人工智能算法编程能力自动评估方法对应的一种电子设备,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如前所述的人工智能算法编程能力自动评估方法。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储装置中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
由此,基于同一发明构思,本发明的另一较佳实施例中还提供了与上述实施例提供的人工智能算法编程能力自动评估方法对应的一种计算机可读存储介质,该所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,能实现如前所述的人工智能算法编程能力自动评估方法。
可以理解的是,上述存储介质或存储器均可以包括随机存取存储器(RandomAccess Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。同时存储装置还可以是U盘、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可以理解的是,上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的各实施例中,所述的装置和方法中对于步骤或者模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或步骤可以结合或者可以集成到一起,一个模块或者步骤亦可进行拆分。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
Claims (10)
1.一种人工智能算法编程能力自动评估方法,其特征在于,包括:
S1、获取用户在平台上针对人工智能算法编程的目标题目所提交的代码,并对其进行扫描分析,根据目标题目对应的目标人工智能算法以及用户选择的机器学习框架在平台上构建相应的运行环境,以及加载运行所述代码需要的库;
S2、针对所述代码中由用户构建的人工智能模型,通过生成模型封装器(ModelWrapper)类对其进行封装,并构建得到一个实例对象;
S3、加载所述目标题目中的数据集,并调用目标人工智能算法所需的预处理方法对数据集进行预处理;其中每一种人工智能算法所需的预处理方法预先内置于平台上;
S4、利用经过预处理后的数据集对所述实例对象进行训练,并记录训练过程中的关键指标变化,在训练完毕后对模型性能进行测试,获得第一测试结果;获取目标人工智能算法对应的基线模型在相同数据集上测试的第二测试结果;其中每一个目标人工智能算对应的基线模型预先内置于平台上;
S5、基于S4中的训练和测试结果,将模型训练过程中记录的关键指标变化进行可视化显示得到关键指标可视化结果,同时对模型进行可解释性分析得到可解释性分析结果;
S6、针对所提交的代码,基于所述第一测试结果和第二测试结果按照预设的评分规则生成人工智能算法编程能力评分,同时根据关键指标可视化结果和可解释性分析结果按照预设的建议生成规则给出算法优化建议。
2.如权利要求1所述的人工智能算法编程能力自动评估方法,其特征在于,所述的机器学习框架类型包括Pytorch、sklearn。
3.如权利要求1所述的人工智能算法编程能力自动评估方法,其特征在于,所述预处理方法需针对每一种人工智能算法所面对的数据类型分别设计,使预处理后的数据集满足算法模型的输入要求;优选的,若所述数据类型为图像、视频或音频数据,所述预处理方法为数据归一化;若所述数据类型为文本数据,则所述预处理方法为构建词典及词元化。
4.如权利要求1所述的人工智能算法编程能力自动评估方法,其特征在于,所述对模型进行可解释性分析包括归因分析,使用SHAP和/或Integrated Gradient 算法对模型的输入特征进行归因分析。
5.如权利要求4所述的人工智能算法编程能力自动评估方法,其特征在于,若用户构建的人工智能模型为注意力模型,则所述对模型进行可解释性分析时还包括使用AttentionFlow算法对模型中的注意力结构网络进行分析,通过设置起始节点和结束结点,构建网络流模型,并使用最大流算法求得两节点之间的权重得分,并对分析结果进行可视化展示。
6.如权利要求1所述的人工智能算法编程能力自动评估方法,其特征在于,所述的关键指标包括损失函数值和学习率。
7.如权利要求1所述的人工智能算法编程能力自动评估方法,其特征在于,所述第一测试结果和第二测试结果中的测试指标包括ROUGE、BLEU、BertScore、准确率、召回率中的一种或多种,根据对应的模型进行选择。
8.一种人工智能算法编程能力自动评估装置,其特征在于,包括:
初始化模块,用于获取用户在平台上针对人工智能算法编程的目标题目所提交的代码,并对其进行扫描分析,根据目标题目对应的目标人工智能算法以及用户选择的机器学习框架在平台上构建相应的运行环境,以及加载运行所述代码需要的库;
实例化模块,用于针对所述代码中由用户构建的人工智能模型,通过生成模型封装器(ModelWrapper)类对其进行封装,并构建得到一个实例对象;
预处理模块,用于加载所述目标题目中的数据集,并调用目标人工智能算法所需的预处理方法对数据集进行预处理;其中每一种人工智能算法所需的预处理方法预先内置于平台上;
训练测试模块,用于利用经过预处理后的数据集对所述实例对象进行训练,并记录训练过程中的关键指标变化,在训练完毕后对模型性能进行测试,获得第一测试结果;获取目标人工智能算法对应的基线模型在相同数据集上测试的第二测试结果;其中每一个目标人工智能算对应的基线模型预先内置于平台上;
可视化分析模块,用于基于训练测试模块中的训练和测试结果,将模型训练过程中记录的关键指标变化进行可视化显示得到关键指标可视化结果,同时对模型进行可解释性分析得到可解释性分析结果;
评分建议模块,用于针对所提交的代码,基于所述第一测试结果和第二测试结果按照预设的评分规则生成人工智能算法编程能力评分,同时根据关键指标可视化结果和可解释性分析结果按照预设的建议生成规则给出算法优化建议。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,能实现如权利要求1~8任一所述的人工智能算法编程能力自动评估方法。
10.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如权利要求1~8任一所述的人工智能算法编程能力自动评估方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594679.6A CN114968788A (zh) | 2022-05-27 | 2022-05-27 | 人工智能算法编程能力自动评估方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594679.6A CN114968788A (zh) | 2022-05-27 | 2022-05-27 | 人工智能算法编程能力自动评估方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968788A true CN114968788A (zh) | 2022-08-30 |
Family
ID=82958579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210594679.6A Pending CN114968788A (zh) | 2022-05-27 | 2022-05-27 | 人工智能算法编程能力自动评估方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968788A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495568A (zh) * | 2022-11-17 | 2022-12-20 | 苏州浪潮智能科技有限公司 | 一种对话模型的训练方法及装置、对话响应方法及装置 |
CN115810137A (zh) * | 2023-02-09 | 2023-03-17 | 数据堂(北京)科技股份有限公司 | 一种交互式人工智能技术评测方案的构建方法 |
CN115830419A (zh) * | 2023-02-09 | 2023-03-21 | 数据堂(北京)科技股份有限公司 | 一种数据驱动式人工智能技术评测系统及方法 |
CN116701923A (zh) * | 2022-10-13 | 2023-09-05 | 荣耀终端有限公司 | 算子性能的评估方法和评估装置 |
CN116910449A (zh) * | 2023-07-12 | 2023-10-20 | 上海虹港数据信息有限公司 | 一种人工智能算力的运算应用平台 |
CN117331836A (zh) * | 2023-10-16 | 2024-01-02 | 中教畅享(北京)科技有限公司 | 一种基于代码语法树分析的评测方法 |
CN116910449B (zh) * | 2023-07-12 | 2024-07-05 | 上海虹港数据信息有限公司 | 一种人工智能算力的运算应用平台 |
-
2022
- 2022-05-27 CN CN202210594679.6A patent/CN114968788A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701923A (zh) * | 2022-10-13 | 2023-09-05 | 荣耀终端有限公司 | 算子性能的评估方法和评估装置 |
CN116701923B (zh) * | 2022-10-13 | 2024-05-17 | 荣耀终端有限公司 | 算子性能的评估方法和评估装置 |
CN115495568A (zh) * | 2022-11-17 | 2022-12-20 | 苏州浪潮智能科技有限公司 | 一种对话模型的训练方法及装置、对话响应方法及装置 |
CN115495568B (zh) * | 2022-11-17 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种对话模型的训练方法及装置、对话响应方法及装置 |
WO2024103609A1 (zh) * | 2022-11-17 | 2024-05-23 | 苏州元脑智能科技有限公司 | 一种对话模型的训练方法及装置、对话响应方法及装置 |
CN115810137A (zh) * | 2023-02-09 | 2023-03-17 | 数据堂(北京)科技股份有限公司 | 一种交互式人工智能技术评测方案的构建方法 |
CN115830419A (zh) * | 2023-02-09 | 2023-03-21 | 数据堂(北京)科技股份有限公司 | 一种数据驱动式人工智能技术评测系统及方法 |
CN116910449A (zh) * | 2023-07-12 | 2023-10-20 | 上海虹港数据信息有限公司 | 一种人工智能算力的运算应用平台 |
CN116910449B (zh) * | 2023-07-12 | 2024-07-05 | 上海虹港数据信息有限公司 | 一种人工智能算力的运算应用平台 |
CN117331836A (zh) * | 2023-10-16 | 2024-01-02 | 中教畅享(北京)科技有限公司 | 一种基于代码语法树分析的评测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114968788A (zh) | 人工智能算法编程能力自动评估方法、装置、介质及设备 | |
Amar et al. | Knowledge precepts for design and evaluation of information visualizations | |
Ratner | Statistical modeling and analysis for database marketing: effective techniques for mining big data | |
US11995573B2 (en) | Artificial intelligence system providing interactive model interpretation and enhancement tools | |
Gezici et al. | Systematic literature review on software quality for AI-based software | |
CN113742488A (zh) | 基于多任务学习的嵌入式知识图谱补全方法和装置 | |
CN116306863A (zh) | 基于对比学习的协同知识追踪建模方法及系统 | |
CN114722169A (zh) | 一种企业智能问答系统、控制方法、介质、设备及终端 | |
Zhang et al. | An interpretable online learner's performance prediction model based on learning analytics | |
CN113592017A (zh) | 一种深度学习模型标准化训练方法、管理系统、处理终端 | |
CN111753554A (zh) | 一种意图知识库的生成方法及装置 | |
CN112102062A (zh) | 一种基于弱监督学习的风险评估方法、装置及电子设备 | |
CN110765872A (zh) | 一种基于视觉特征的在线数学教育资源分类方法 | |
Klosterman | Data Science Projects with Python: A case study approach to gaining valuable insights from real data with machine learning | |
Tharmaseelan et al. | Revisit of automated marking techniques for programming assignments | |
Wang et al. | Intelligent Crowdsourced Testing | |
US20220300836A1 (en) | Machine Learning Techniques for Generating Visualization Recommendations | |
KR102211075B1 (ko) | 교육 자료를 수집하는 방법 및 장치 | |
Zhang et al. | [Retracted] Research on the Hierarchical Teaching Method of University English Based on Artificial Intelligence Wireless Network | |
Bueff et al. | Explainability in machine learning: a pedagogical perspective | |
Wang | Construction of Data Mining Analysis Model in English Teaching Based on Apriori Association Rule Algorithm | |
CN113657097B (zh) | 一种摘要事实一致性的评估验证方法及其系统 | |
Hiwarker et al. | Machine learning and big data-driven decision making to improve higher education institution performance from the perspective of industry 5.0 | |
Adu | Understanding the Use, Strengths and Limitations of Automated Text Analysis | |
Kirschstein Schäfer | Could you please ClAIrify?: A clustering based framework for machine learning model evaluation |
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 |