# S++: A Fast and Deployable Secure-Computation Framework for Privacy-Preserving Neural Network Training

arXiv: https://arxiv.org/abs/2101.12078 · HTML: https://mlsanity.com/paper/2101.12078/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Builds on 8 of its 31 references that are in the map.
- First posted on arXiv 28 Jan 2021.

## Builds on (most cited first, 8 of 8)

- [Gazelle: A Low Latency Framework for Secure Neural Network Inference](https://mlsanity.com/paper/1801.05507/) (2018)
- [A Simple Way to Initialize Recurrent Networks of Rectified Linear Units](https://mlsanity.com/paper/1504.00941/) (2015)
- [Chameleon: A Hybrid Secure Computation Framework for Machine Learning Applications](https://mlsanity.com/paper/1801.03239/) (2018)
- [Chiron: Privacy-preserving Machine Learning as a Service](https://mlsanity.com/paper/1803.05961/) (2018)
- [BLAZE: Blazing Fast Privacy-Preserving Machine Learning](https://mlsanity.com/paper/2005.09042/) (2020)
- [Revise Saturated Activation Functions](https://mlsanity.com/paper/1602.05980/) (2016)
- [On Approximation Capabilities of ReLU Activation and Softmax Output Layer in Neural Networks](https://mlsanity.com/paper/2002.04060/) (2020)
- [Performance of Three Slim Variants of The Long Short-Term Memory (LSTM) Layer](https://mlsanity.com/paper/1901.00525/) (2019)

## Built on by (most cited first, 1 of 1)

- [SCOTCH: An Efficient Secure Computation Framework for Secure Aggregation](https://mlsanity.com/paper/2201.07730/) (2022)

## Abstract (arXiv)

We introduce S++, a simple, robust, and deployable framework for training a neural network (NN) using private data from multiple sources, using secret-shared secure function evaluation. In short, consider a virtual third party to whom every data-holder sends their inputs, and which computes the neural network: in our case, this virtual third party is actually a set of servers which individually learn nothing, even with a malicious (but non-colluding) adversary. Previous work in this area has been limited to just one specific activation function: ReLU, rendering the approach impractical for many use-cases. For the first time, we provide fast and verifiable protocols for all common activation functions and optimize them for running in a secret-shared manner. The ability to quickly, verifiably, and robustly compute exponentiation, softmax, sigmoid, etc., allows us to use previously written NNs without modification, vastly reducing developer effort and complexity of code. In recent times, ReLU has been found to converge much faster and be more computationally efficient as compared to non-linear functions like sigmoid or tanh. However, we argue that it would be remiss not to extend the mechanism to non-linear functions such as the logistic sigmoid, tanh, and softmax that are fundamental due to their ability to express outputs as probabilities and their universal approximation property. Their contribution in RNNs and a few recent advancements also makes them more relevant.
