Encrypted ReLU
encrypted-relu · spec v0.1.0 · 0 implementations · 6 runners
DESCRIPTION
Evaluates the rectified linear unit
ReLU(x) = max(0, x)
on an encrypted value, or on many at once.
ReLU is piecewise linear, which sounds easy and is not: the kink at zero is a discontinuity in the derivative, and encrypted arithmetic reaches it only through approximation. A realization that is accurate away from zero and wrong near it has solved the easy half of the problem, so the region around zero is where the accuracy requirement bites.
Because a network applies ReLU repeatedly, depth consumed per call matters as much as accuracy. Both are reported.
INTERFACE
encrypted_relu( in ct : Ciphertext // an encrypted value — a single number or many out ct : Ciphertext // the encrypted result, ReLU of each input value ... // anything else the realization needs — keys, context, encoding — is its own concern )
PARAMETER SCHEMA
The schema belongs to the kernel. Each implementation declares which part of it it supports.
CORRECTNESS
SECURITY PROPERTIES
No secrecy requirement beyond that of the scheme in use. The sign of the input must not be observable from the evaluation.
ASSUMPTIONS
Inputs are encrypted under parameters leaving enough depth for the approximation.