本发明涉及数据安全,更具体地,涉及一种基于零知识证明的神经网络模型可验证测试方法及系统。
背景技术:
1、卷积神经网络(convolutional neural network,cnn)是一种深度学习神经网络,其结构灵感源自人类视觉系统的工作原理。cnn在许多领域广泛应用,其中包括但不限于图像识别、计算机视觉、自然语言处理和医疗影像分析等。cnn模型的关键特征是其对图像等多维数据的处理方式。这些网络通过多层神经元和卷积层,能够自动提取和学习数据的特征,包括边缘、纹理、形状和更高级别的特征,这对于图像和数据的分类、识别和分析至关重要。
2、为提高神经网络的分类、识别和分析的准确性,尤其是应用于关键安全场景时,模型部署者需要测试cnn模型的性能,比如,在自动驾驶汽车的相机图像识别中,应确保cnn模型对扰动图像也有着高度的准确性。因此,为了提高应用安全性,神经网络模型需要进行基准性能测试,并对通过测试的神经网络模型进行部署。然而,可靠的基准测试数据集通常来说难以收集,当测试神经网络模型的测试数据来源于多方时,测试数据的隐私保护问题和正确性可验证问题变得尤为突出,例如拥有测试数据的一方不愿意提前公开测试数据,而模型持有方不愿暴露模型参数,因此测试数据隐私和模型隐私需要在测试过程中被保护。此外,对于不能获得测试数据和模型的模型使用方,需要能验证被测试模型测试后性能的真实性。
技术实现思路
1、本发明为克服上述现有技术所述的神经网络模型测试过程中难以同时保护测试数据隐私和模型隐私的缺陷,提供一种基于零知识证明的神经网络模型可验证测试方法及系统。
2、为解决上述技术问题,本发明的技术方案如下:
3、一种基于零知识证明的神经网络模型可验证测试方法,包括以下步骤:
4、s1、测试数据持有方生成关于其测试数据的基于多项式的承诺,将所述承诺上传至去中心化的区块链平台,同时将测试数据上传至公有云平台;
5、模型持有方生成关于其模型参数的基于多项式的承诺,将所述承诺上传至所述区块链平台;
6、s2、模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺,验证每一测试数据持有方的测试数据与其相应的承诺是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;
7、s3、模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
8、进一步地,本发明还提出了一种基于零知识证明的神经网络模型可验证测试系统,应用本发明提出的基于零知识证明的神经网络模型可验证测试方法。所述系统包括去中心化的区块链平台、公有云平台、测试数据持有方和模型持有方;其中:
9、测试数据持有方生成关于其测试数据的基于多项式的承诺,将所述承诺上传至去中心化的区块链平台,同时将测试数据上传至公有云平台;
10、模型持有方生成关于其模型参数的基于多项式的承诺,将所述承诺上传至所述区块链平台;
11、模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺,验证每一测试数据持有方的测试数据与其相应的承诺是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;
12、模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
13、与现有技术相比,本发明技术方案的有益效果是:本发明基于多项式的承诺进行数据验证,可以实现对批量输入数据的证明,同时对多输入数据情况下的卷积操作封装为关于模型正确运行的公开可验证证明,基于公开可验证证明进行有效性验证,提高了有效性验证的效率;本发明对模型参数和测试数据进行隐私保护,且模型测试过程正确性可验证,实现在一定数量的测试数据持有方合谋的情况下也无法获取关于数据、计算结果、计算策略和访问策略等隐私。
1.一种基于零知识证明的神经网络模型可验证测试方法,其特征在于,包括:
2.根据权利要求1所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述s1步骤中,还包括以下步骤:
3.根据权利要求2所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述s1步骤中,生成关于其测试数据的基于多项式的承诺的步骤包括:测试数据持有方从素数群随机选择随机数,并基于所述公开参数生成关于其测试数据的基于多项式的承诺,其中:
4.根据权利要求3所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述s2步骤中,所述模型持有方验证每一测试数据持有方的测试数据与其相应的承诺是否一致的步骤包括:
5.根据权利要求3所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述s2步骤中,所述模型持有方对测试过程生成关于模型正确运行的公开可验证证明的步骤包括:
6.根据权利要求5所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述s3步骤中,测试数据持有方或任意第三方对其接收的所述统计性测试结果和公开可验证证明进行有效性验证,其步骤包括:
7.根据权利要求1~5任一项所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述s3步骤中,还包括以下步骤:
8.根据权利要求7所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述模型持有方将模型在若干测试数据上运行后生成的所述公开可验证证明进行压缩,生成压缩证明,其步骤包括:
9.根据权利要求8所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述s3步骤中,测试数据持有方或任意第三方对其接收的所述统计性测试结果和经过压缩的压缩证明进行有效性验证,其步骤包括:
10.一种基于零知识证明的神经网络模型可验证测试系统,应用权利要求1~9任一项所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,包括去中心化的区块链平台、公有云平台、测试数据持有方和模型持有方;其中: