[发明专利]一种基于安全多方计算协议的可扩展机器学习系统有效
申请号: | 202010050857.X | 申请日: | 2020-01-16 |
公开(公告)号: | CN113128697B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 韩伟力;汤定一;吴豪奇 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06N3/04;G06N3/08 |
代理公司: | 上海德昭知识产权代理有限公司 31204 | 代理人: | 卢泓宇 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 安全 多方 计算 协议 扩展 机器 学习 系统 | ||
1.一种基于安全多方计算协议的可扩展机器学习系统,用于使用户在具有三个及以上参与方时构建并训练机器学习模型,其特征在于,包括:
通信模块,用于在所述三个及以上参与方中提供通信服务;
机器学习模型表示模块,用于让用户定义机器学习模型的结构;以及
机器学习驱动模块,与所述通信模块连接并调用通信,同时与所述机器学习模型表示模块连接,接收或发送矩阵,用于训练在所述机器学习模型表示模块中预定义的机器学习模型,
其中,在所述通信模块中,各个参与方将本地计算结果乘以降次矩阵后发送给相应参与方,所述相应参与方累加接收到的值作为秘密,
各个参与方随机生成一个常数项为0且系数随机的多项式发送给其他参与方,然后各个参与方累加接收到的值使得秘密共享多项式的系数随机,
所述机器学习模型表示模块采用数据流图表示,所述数据流图由节点和边组成,
所述节点表示输入矩阵或基于矩阵的运算,包括输入节点,权重节点和算子节点,
采用所述输入节点表示输入矩阵,所述输入矩阵为用于训练机器学习模型的训练数据,
采用所述权重节点表示机器学习模型中的权重矩阵,所述权重矩阵为机器学习模型训练的参数,在训练之前进行初始化,并在每轮训练之后进行更新,
采用所述算子节点表示包括矩阵加法和矩阵乘法在内的运算符,对所述运算符定义Forward方法和Grad方法分别表示所述运算符在正向传播和反向传播期间需要执行的操作,
所述边代表训练过程的数据流,具有单向性,从而构成一个有向无环图,
所述机器学习驱动模块利用预定义的所述有向无环图,根据拓扑序执行前向传播,根据逆拓扑序执行反向传播。
2.根据权利要求1所述的基于安全多方计算协议的可扩展机器学习系统,其特征在于:
其中,在所述通信模块中,定义加法以及乘法运算,
若2个共享的秘密相加[a]+[b]或常数乘以秘密c·[a],则不需要进行通信,所述参与方仅在本地对共享的秘密进行运算,
若2个共享的秘密相乘[a]·[b],则需要通过在所述参与方之间使用套接字进行通信得到计算结果。
3.根据权利要求1所述的基于安全多方计算协议的可扩展机器学习系统,其特征在于:
其中,在需要生成秘密共享随机数时,各个参与方随机生成一个常数项随机的多项式发送给其他参与方,各个参与方累加接收到的值使得每个参与方持有一个随机共享的秘密且任何其他参与方均不知道秘密。
4.根据权利要求1所述的基于安全多方计算协议的可扩展机器学习系统,其特征在于:
其中,所述机器学习驱动模块包括如下计算过程:
拓扑排序,根据所述有向无环图中所述边计算拓扑顺序,
前向传播,根据所述拓扑顺序调用所述算子节点的所述Forward方法,
反向传播,根据逆拓扑序调用所述算子节点的所述Grad方法,
更新权重网络,根据所述权重节点的梯度和学习率更新所述权重矩阵。
5.根据权利要求1所述的基于安全多方计算协议的可扩展机器学习系统,其特征在于:
其中,在所述机器学习驱动模块中,所述发送矩阵操作完成后,程序继续运行,而不会阻塞直到接收矩阵操作完成。
6.根据权利要求1所述的基于安全多方计算协议的可扩展机器学习系统,其特征在于:
其中,所述机器学习驱动模块能够并行发送多个矩阵。
7.根据权利要求1所述的基于安全多方计算协议的可扩展机器学习系统,其特征在于:
其中,所述用户通过使用定义有向无环图的方式对所述机器学习模型表示模块进行配置,包括机器学习模型的结构以及参数的初始化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010050857.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种旱优香1号的育种方法
- 下一篇:显示装置