Habr, hola!
Este artĂculo trata sobre el aprendizaje automático con privacidad preservada. Discutiremos por quĂ© y cĂłmo garantizar la privacidad de los usuarios al entrenar, por ejemplo, redes neuronales.
La mayor parte del artĂculo es un recuento de los discursos y conferencias de Andrew Trask. Es el lĂder de la comunidad OpenMined . Estas son personas unidas por el tema de la privacidad en el aprendizaje automático. En particular, OpenMined está trabajando en la biblioteca PySyft . Este es un contenedor sobre PyTorch, Tensorflow o Keras para el aprendizaje automático privado. Conoceremos PySyft durante este artĂculo.
MotivaciĂłn
Queremos hacer un clasificador de tumores humanos. Si podemos hacer tal clasificador, ayudaremos a millones de personas. Entonces, nuestro primer paso es encontrar un conjunto de datos adecuado. Tenga en cuenta que estos datos son privados, es difĂcil acceder a ellos. La mayorĂa de las personas no quieren hablar pĂşblicamente sobre sus enfermedades.
AclararĂ© por quĂ© el anonimato de datos no es suficiente. En 2007, Netflix publicĂł 10 millones de clasificaciones de pelĂculas de 500,000 usuarios. Este conjunto de datos fue parte de una competencia para crear el mejor sistema de recomendaciones. En Ă©l, los nombres de las personas y los nombres de las pelĂculas fueron reemplazados por identificadores. Sin embargo, los investigadores pudieron identificar a los individuos utilizando datos abiertos con IMDb. Más detalles en el artĂculo original .
Entonces, necesitas algo más que anonimato. Además, convenzo de que es posible entrenar redes neuronales en datos a los que no tenemos acceso. Entonces se garantizará la privacidad y podremos construir un clasificador de tumores. Además, podremos trabajar en otras enfermedades, como la demencia o la depresión. Si aprendemos a trabajar con datos privados en el aprendizaje automático, podemos resolver problemas mundiales importantes.
Remote Execution/Federated Learning
, Apple. . , . , : . , . !

, . . , . 'Remote Execution' , .. .
PySyft — python- . , . . , Torch-, .
import torch as th
import syft as sy
hook = sy.TorchHook(th)
bob = sy.VirtualWorker(hook, id="bob")
x = th.tensor([1,2,3,4,5]).send(bob)
y = th.tensor([1,1,1,1,1]).send(bob)
z = x + y
bob._objects
z = z.get()
z
bob._objects
tensor.get()
. . , - ?
Differential Privacy
, , . , bag-of-words, , {"": " "}. . Differential Privacy — , .
.
. — . , . , , , . . , , . , . .

, - , 50/50. , . . , 60% ''. , . : 35% '', 25% '', 15% '' 25% ''. , 70% '' 30% ''. .
, . , , . , , .
. , . . , ( ).
. 'Remote Execution' , . , . .
. . , Secure multi-party computation Homomorphic Encryption. ?
:
- Apple , . .
- — "Differential Privacy". , . .
: