技术领域
本发明属于机器学习的测试领域,特别是应用了大量的数值计算的算法模型的精度稳定性评估,从输入精度和模型参数精度两个角度衡量模型的运行表现,给定多维指标,评估了在精度误差方面机器学习模型的稳定性。
背景技术
近年来人工智能领域发展迅速,作为其核心的机器学习被广泛应用于智能软件系统中,通常为系统提供决策功能。机器学习是一类从数据中自动分析获取规律,并利用规律对未知数据进行预测的算法,具体的算法有支持向量机,决策树,贝叶斯分类器,人工神经网络等,其中以人工神经网络以其强大的表征能力、复杂的非线性运算和出色的性能,成为机器学习中研究的热门领域。
机器学习模型是典型的数值计算程序,运行时内部会进行大量的浮点运算。由于受到计算机硬件存储空间和字长的限制,绝大部分计算机在IEEE的浮点运算标准下执行科学计算,舍入误差是不可避免的,而误差的累计效应可能会给软件的运行结果带来严重影响。对于决策由内部的模型执行的智能软件来说,精度误差威胁着系统的可靠性。
为解决浮点精度问题,领域专家们也相继提出了一些解决方案,如尾数映射、随机变换等优化算法,但往往会导致计算效率的低下以及耗费更多的计算资源,这对资源受限的运行环境来说是无法接受的。此外,硬件的优化也成为研究的一个热门方向,但随着摩尔定律逐渐地减速,该方向也达到一个瓶颈状态。本发明重点关注在机器学习模型的精度误差稳定性的评估,为开发人员和测试人员评估模型的可靠性提供精度稳定性方面的评价标准。
发明内容
本发明要解决的问题是:当前机器学习测试中,缺少对模型的浮点计算误差进行系统的评估方案。本发明结合机器学习的特征,关注内部的计算精度问题,从输入和模型参数两个角度提出系统的评估模型浮点误差的稳定,帮助测试者更好地理解机器学习浮点误差稳定性并用于测试评估。
为达成上述目的,本发明提出了一个评估机器学习模型精度稳定性的方法,从模型自身的参数数据和输入的数据两个方面考虑,利用数据驱动的思想,综合地评估模型精度的稳定性,用于评估和测试模型,增强模型自身的可靠性以及对扰动数据的适应性。该方法的细分步骤如下:
1.基于原始模型和测试数据集,计算模型在指定数据集上的精度误差。
(1)在共有n个样本的测试数据集T中的每条数据t
(2)对于本测试集合T在模型上的精度误差,我们提出了平均误差
一般来说,可以通过以上两类指标评估模型在特定测试数据集合上的精度稳定性,二者之间是负相关的,可以以此为指标为模型选取合适的测试集合。
2.基于测试数据的误差目标优化求解,评估模型的精度边界。
(1)机器学习模型从本质上来看,是一个复杂的高维非线性的运算集合函数F,给定一个输入数据x,可得到输出y=F(x),由于浮点精度的舍入误差是在F(x)的运算过程中累计产生的,因此可与精度误差的获取之间存在映射关系,不妨将该关系设为G,因此精度误差的求解可用复合关系表示:D
(2)由以上复合关系和输入数据构成约束最优化求解问题,将精度误差逐渐向增大趋势逼近,目标函数为D
(3)对输入集合数据批量约束求解,扩大样本空间,取其中最大的精度误差D
3.基于模型参数精度干扰的模型迁移稳定性评估。
(1)对模型的精度稳定性评估,除了从输入数据的角度来衡量外,我们还从模型自身的参数精度来进行评估,人工智能应用的领域广泛,模型部署的硬件环境的计算资源条件不一,服务端部署资源环境相对好一些,可利用GPU等计算资源加速提高效率,而如手机或其他的智能式嵌入设备等,浮点存储的位数比服务器的浮点位数少,存储精度低,算力差。为了保证模型在资源有限的环境中的执行效率,通常会对模型的参数进行稀疏量化,精度截断操作,我们依据此提出了基于模型参数精度干扰的评估方法。
(2)以32位的浮点运算系统运行的模型F
(3)统计不同量化版本的机器学习模型在测试集合T上的准确率a,量化版本的模型与标准模型的精度之间的距离(距离函数可根据实际情况决定)Δa:
Δa=|(a
该距离Δa表征了测试的机器学习模型在不同浮点运算系统中的适用性,通常来讲,该值越小,表明模型自身参数的稳定性越高。
本发明的特点在于:从浮点精度的角度来衡量机器学习模型的稳定性,为评估模型的鲁棒性提供了新的评价指标,为模型的测试和优化提供了新的启发性思路。统计测试集合数据在模型运行中的误差累计,利用平均误差,最大误差,误差均方差来评估模型对测试数据的敏感性。通过精度截断疏量化的手段进行模型参数的精度调整,来评估模型迁移量化的精度稳定性。
附图说明
图1为本发明机器学习模型精度误差稳定性评估的实施流程图。
图2为模型在数据集上的精度误差统计评估过程示意图。
图3为模型的精度误差边界评估过程示意图。
图4为模型参数精度稳定评估过程示意图。
具体实施方式
为了更清晰地了解本发明的技术内容,配合所附图式,从细节方面来阐述评估模型精度稳定性的具体实施方式。
如图1所示,该发明方法是数据驱动的,评估方法均是基于测试集合来进行的。对于特定数据集的误差统计分析,提供了多种统计学的指标,用于表征模型在给定数据集合的精度特征。精度边界的求解能够反映模型的精度波动范围,表征模型对极端精度扰动数据的抵御能力。对模型在不同硬件资源下的迁移性和适应性,则通过比较不同量化版本的准确率距离来评估模型参数的精度更改,对其可靠性的影响。
对模型M在指定数据集T上的精度评估方法来说,为提高误差统计的效率,如图2所示,我们会对模型进行计算单元的拆分,这里需要指出,该拆分并不是原子性的拆分,这样会导致越复杂的模型其拆分的计算单元越多,不利于误差计算的效率,而且模型的计算误差是有传递性的,这里我们利用等价类划分的机制对同类计算单元进行组合,减少拆分的数量,并通过并行计算、核计算等策略在硬件资源允许的条件下进一步加速。统计计算出每个样本的累计误差,即可以此为集合求取统计学上的各类指标,本发明给出了平均值,均方差两类,仅做代表,并不仅限于此。除能够反映给定测试集在固定模型上的精度稳定性,该评估方法在评估不同测试集时,也会有一定的参考价值。
如图3所示,模型精度边界的约束求解方案,目标是求取模型在样本整体空间上的精度误差边界,由于样本空间的无限性,因此在有限的测试样本集合或其随机抽样集合中进行求解,尽可能逼近真实边界。对于每个选中样本x在给定扰动空间R中进行优化求解,优化的目标函数为D
对模型参数的精度稳定性评估方法,主要是为了评估模型在不同硬件资源环境中的适应性,由于不同的硬件资源浮点位数的不同,模型通常在部署应用时产生精度损失的问题,如图4所示,我们提出了准确率距离Δa的概念,对模型进行稀疏量化,精度截断获取模型的量化版本,利用不同量化版本准确率a之间的距离差异,来进行评估模型迁移到浮点存储机制不同的硬件设备中的稳定性。
机译: 基于移动设备的位置误差评估方法和基于评估结果的运动精度改进方法
机译: 基于移动设备的位置误差评估方法和基于评估结果的运动精度改进方法
机译: 基于移动设备的位置误差评估方法和基于评估结果的运动精度改进方法