本发明专利技术提供一种基于安全多方计算协议的可扩展机器学习系统,用于使用户在具有三个及以上参与方时构建有效的机器学习模型训练,其特征在于,包括:用于在=三个及以上参与方中提供通信服务的通信模块;用于让用户定义机器学习模型的结构的机器学习模型表示模块;与通信模块连接并调用通信,同时与机器学习模型表示模块连接,用于训练在机器学习模型表示模块中预定义的机器学习模型的机器学习驱动模块。本发明专利技术的基于安全多方计算协议的可扩展机器学习系统将安全多方计算协议与机器学习系统结合,采用秘密共享的方法,对机器学习模型提供隐私保护的支持,使得各数据拥有方可以在其共同的数据上训练模型,而不会泄露结果之外的信息。信息。信息。
A scalable machine learning system based on secure multiparty computing protocol
【技术实现步骤摘要】
一种基于安全多方计算协议的可扩展机器学习系统
[0001]本专利技术属于网络空间安全领域,涉及一种机器学习方法,具体涉及一种基于安全多方计算协议的可扩展机器学习系统。
技术介绍
[0002]机器学习(ML)在各种商业实践中被广泛应用,其中最著名的包括图像分类,模式识别和语音识别。迄今为止,训练数据已成为预测模型和分类任务中影响模型准确率的关键。现在的互联网企业利用大量可能包含个人信息的数据来获取更好的模型,以提供更好的服务,例如推荐产品和评估个人信用。但是,小型但有创新能力的公司通常处于数据共享的孤立状态。也就是说,数据分布在包括个人在内的多个参与方中。因此,隐私保护框架是研究领域的热点,该框架可以使用分布在多个源中的数据来训练具有良好性能的ML模型。
[0003]基于安全多方计算(MPC)的隐私保护机器学习提供了一种有效的解决方案,它允许各方在其共同的数据上训练模型,而不会泄露除结果之外的信息。
[0004]早期研究工作提出了基于安全多方计算的预测或训练模型,该模型公开训练数据的输入或共享模型的参数。例如,ABY框架,通过在算术、二进制和混淆电路之间切换实现两方计算;两方安全机器学习系统,通过推导梯度公式实现了随机梯度下降版线性回归和逻辑回归等方法;三方计算框架ABY3,通过在三种协议间高效切换实现了机器学习的性能提高。另外有工作介绍了面向安全多方计算的编译器,用于将目标函数转换为加密函数或电路,如布尔电路和算术电路。但是,很少提供包含用户友好的应用程式界面和统一的计算组件的通用框架,以将安全多方计算应用于机器学习训练。此外,现有的框架,例如两方安全机器学习系统或ABY3,仅分别支持两个或三个参与方而不能扩展到三台以上的服务器。
技术实现思路
[0005]为解决上述问题,本专利技术采用了如下技术方案:
[0006]本专利技术提供了一种基于安全多方计算协议的可扩展机器学习系统,用于使用户在具有三个及以上参与方时构建并训练机器学习模型,其特征在于,包括:通信模块,用于在三个及以上参与方中提供通信服务;机器学习模型表示模块,用于让用户定义机器学习模型的结构;以及机器学习驱动模块,与通信模块连接并调用通信,同时与机器学习模型表示模块连接,可以接收或发送矩阵,用于训练在机器学习模型表示模块中预定义的机器学习模型,其中,在通信模块中,各个参与方将本地计算结果乘以降次(Degree Reduction)矩阵后发送给相应参与方,相应参与方累加接收到的值作为秘密。各个参与方随机生成一个常数项为0且系数随机的多项式发送给其他参与方,然后各个参与方累加接收到的值使得秘密共享多项式系数随机。机器学习模型表示模块采用数据流图表示,数据流图由节点和边组成,节点表示输入矩阵或基于矩阵的运算,包括输入节点,权重节点和算子节点。采用输入节点表示输入矩阵,输入矩阵为用于训练机器学习模型的训练数据,采用权重节点表示机器学习模型中的权重矩阵,权重矩阵为机器学习模型训练的参数,在训练之前进行初始
化,并在每轮训练之后进行更新,采用算子节点表示包括矩阵加法和矩阵乘法在内的运算符,对运算符定义Forward方法和Grad方法分别表示运算符在正向传播和反向传播期间需要执行的操作。边代表训练过程的数据流,具有单向性,从而构成一个有向无环图。机器学习驱动模块利用预定义的有向无环图,根据拓扑序执行前向传播,根据逆拓扑序执行反向传播。
[0007]本专利技术提供的基于安全多方计算协议的可扩展机器学习系统,还可以具有这样的特征,其中,在通信模块中,定义加法以及乘法运算,若2个共享的秘密相加[a]+[b]或常数乘以秘密c
·
[a],则不需要进行通信,参与方仅在本地对共享的秘密进行运算,若2个共享的秘密相乘[a]·
[b],则需要通过在参与方之间使用套接字进行通信得到计算结果。
[0008]本专利技术提供的基于安全多方计算协议的可扩展机器学习系统,还可以具有这样的特征,其中,在需要生成秘密共享随机数时,各个参与方随机生成一个常数项随机的多项式发送给各参与方,各参与方累加接收到的值使得每方持有一个随机共享的秘密且任何一方均不知道秘密。
[0009]本专利技术提供的基于安全多方计算协议的可扩展机器学习系统,还可以具有这样的特征,其中,机器学习驱动模块包括如下计算过程:拓扑排序,根据有向无环图中边计算拓扑顺序,前向传播,根据拓扑顺序调用算子节点的Forward方法,反向传播,根据逆拓扑序调用算子节点的Grad方法,更新权重网络,根据权重节点的梯度和学习率更新权重矩阵。
[0010]本专利技术提供的基于安全多方计算协议的可扩展机器学习系统,还可以具有这样的特征,其中,在机器学习驱动模块中,发送矩阵操作完成后,程序可以继续运行,而不会阻塞直到接收矩阵操作完成。
[0011]本专利技术提供的基于安全多方计算协议的可扩展机器学习系统,还可以具有这样的特征,其中,在机器学习驱动模块中,可以并行发送多个矩阵。
[0012]本专利技术提供的基于安全多方计算协议的可扩展机器学习系统,还可以具有这样的特征,其中,用户通过使用定义有向无环图的方式对机器学习模型表示模块进行配置,包括机器学习模型的结构以及参数的初始化。
[0013]专利技术作用与效果
[0014]根据本专利技术的提供的基于安全多方计算协议的可扩展机器学习系统,将安全多方计算协议与机器学习系统结合,采用秘密共享的方法,对机器学习模型提供隐私保护的支持,使得各数据拥有方可以在其共同的数据上训练模型,而不会泄露结果之外的信息。因此本系统可以向云服务提供商提供不泄露数据明文和模型中间过程参数的机器学习模型训练服务。根据用户的定义本系统可以被配置为相应的训练代码,并自动结合底层的安全多方计算协议,在有向无环图上根据拓扑排序进行前向传播和后向链式法则求导,免除了用户手动调整代码的困难。另外,系统中的通信模块可以用于在三个及以上参与方中提供通信服务,提高了系统的适应性。
附图说明
[0015]图1是本专利技术实施例的基于安全多方计算协议的可扩展机器学习系统的总体架构图;
[0016]图2是本专利技术实施例的降次(Degree Reduction)交互机制图;
[0017]图3是本专利技术实施例的数据流图定义;
[0018]图4是本专利技术实施例的反向传播神经网络模型的有向无环图。
具体实施方式
[0019]以下结合附图和实施例来说明本专利技术的具体实施方式。
[0020]<实施例>
[0021]图1是本专利技术实施例的基于安全多方计算协议的可扩展机器学习系统的总体架构图。
[0022]如图1所示,本实施例的基于安全多方计算协议的可扩展机器学习系统包括三个模块:通信模块、机器学习模型表示模块以及机器学习驱动模块。
[0023]本实施例中,每个参与方都拥有一个插口,绑定到配置好的IP地址和端口,每个参与方都与其他各参与方通过套接字(Socket)建立连接。
[0024]通信模块用于在三个及以上参本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于安全多方计算协议的可扩展机器学习系统,用于使用户在具有三个及以上参与方时构建并训练机器学习模型,其特征在于,包括:通信模块,用于在所述三个及以上参与方中提供通信服务;机器学习模型表示模块,用于让用户定义机器学习模型的结构;以及机器学习驱动模块,与所述通信模块连接并调用通信,同时与所述机器学习模型表示模块连接,可以接收或发送矩阵,用于训练在所述机器学习模型表示模块中预定义的机器学习模型,其中,在所述通信模块中,各个参与方将本地计算结果乘以降次矩阵后发送给相应参与方,所述相应参与方累加接收到的值作为秘密,各个参与方随机生成一个常数项为0且系数随机的多项式发送给其他参与方,然后各个参与方累加接收到的值使得秘密共享多项式系数随机,所述机器学习模型表示模块采用数据流图表示,所述数据流图由节点和边组成,所述节点表示输入矩阵或基于矩阵的运算,包括输入节点,权重节点和算子节点,采用所述输入节点表示输入矩阵,所述输入矩阵为用于训练机器学习模型的训练数据,采用所述权重节点表示机器学习模型中的权重矩阵,所述权重矩阵为机器学习模型训练的参数,在训练之前进行初始化,并在每轮训练之后进行更新,采用所述算子节点表示包括矩阵加法和矩阵乘法在内的运算符,对所述运算符定义Forward方法和Grad方法分别表示所述运算符在正向传播和反向传播期间需要执行的操作,所述边代表训练过程的数据流,具有单向性,从而构成一个有向无环图,所述机器学习驱动模块利用预定义的所述有向无环图,根据拓扑序执行前向传播,根据逆拓扑序执行反向传播。2.根据权利要求1所述的基于安全多方计算协议的可扩展机器学习系统,其特征在于:其中,在所述通信模块中,定义加法以及乘法...
【专利技术属性】
技术研发人员:韩伟力,汤定一,吴豪奇,
申请(专利权)人:复旦大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。