Performing computations while maintaining privacy is an important problem in todays distributed machine learning solutions. Consider the following two set ups between a client and a server, where in setup i) the client has a public data vector $\mathbf{x}$, the server has a large private database of data vectors $\mathcal{B}$ and the client wants to find the inner products $\langle \mathbf{x,y_k} \rangle, \forall \mathbf{y_k} \in \mathcal{B}$. The client does not want the server to learn $\mathbf{x}$ while the server does not want the client to learn the records in its database. This is in contrast to another setup ii) where the client would like to perform an operation solely on its data, such as computation of a matrix inverse on its data matrix $\mathbf{M}$, but would like to use the superior computing ability of the server to do so without having to leak $\mathbf{M}$ to the server. \par We present a stochastic scheme for splitting the client data into privatized shares that are transmitted to the server in such settings. The server performs the requested operations on these shares instead of on the raw client data at the server. The obtained intermediate results are sent back to the client where they are assembled by the client to obtain the final result.
翻译:维护隐私的同时进行计算是当今分布式机器学习解决方案中的一个重要问题。 考虑客户端和服务器之间的以下两个设置, 在设置 i) 客户端有一个公共数据矢量 $\ mathbf{x} $, 服务器有一个庞大的私人数据矢量数据库 $\ mathcal{B}$, 客户端想要找到内部产品 $\ langle \ mathbf{x, y_k}\ rangle,\ forall\mathbf{y_ k}\ in\ mathal{B}$。 客户端不希望服务器学习 $\ mathbf{x} $, 而服务器不想让客户端学习数据库中的记录 $\ m} 。 这与另一个设置不同, 客户端希望只用数据来进行操作, 例如计算数据矩阵反向 $\mathbff{M} $,, 但是想要使用服务器的高级计算能力来这样做, 而无需将 $\ mathb 客户端客户端客户端的客户端 正在将服务器的服务器发送到 smax 数据。