Aprendizado de Máquina de maneira colaborativa e segura

Lukas Iepsen
Mar 1 · 5 min read
Photo by Kai Brame on Unsplash

O objetivo desse artigo é falar superficialmente, com o intuito de apresentar aspectos presentes na metodologia usada pela Google em produtos como o Gboard, que diferem da estrutura tradicional de treinamento de modelos de Machine Learning (ML) e Deep Learning (DL).


FEDERATED LEARNING

Alguns poucos anos atrás, mais precisamente em 2016/2017, o time de pesquisadores da Google apresentou um modelo que altera os paradigmas tradicionais no modo de treinamento de modelos de ML e DL, o qual foi denominado Federated Learning (FL). Essa abordagem estrutura o modo de treinamento para que ele seja colaborativo, seguro e privado. Desde sua criação, muitos estudos sobre sua estrutura e possíveis contribuições estão sendo estudadas, seja na estruturação do modelo colaborativo, segurança da rede, entre outros.

Ilustração presente no artigo feito publicado pela google.

Em treinamentos de modelos de ML o principal objetivo é minimizar o resultado de uma função de perda L(θ), chamada de Loss, onde L é a função que calcula a incompatibilidade dos dados preditos com os valores que pretendemos atingir, e θ os parâmetros do modelo. A perda L(θ) nos parâmetros θ é a média da perda ao longo do treinamento nos exemplos, então:

O treinamento consiste em encontrar θ que produz uma perda aceitavelmente pequena. Para redes complexas, a função de perda L é geralmente não-convexa e difícil de ser minimizada. Na prática, a minimização é feita frequentemente pelo algoritmo SGD em batches. Nesse algoritmo, a cada passo forma-se um batch B de exemplos aleatórios e calcula a estimativa para o gradiente. Então θ é atualizado seguindo o gradiente em direção para um mínimo local. Federated Learning usa de uma técnica para fazer o cálculo da função de loss, onde ele escolhe uma amostra de clientes e faz o cálculo em cima dos pesos desses clientes. Essa técnica é denominada Federated Averaging.

Algoritmo Federated Averaging, que é comentado nessa postagem que comenta o artigo publicado.

O custo de computação é definido por 3 chaves principais: C, número de clientes na amostra que computa o gradiente em cada etapa; E, o número de passos de treinamento que cada cliente faz sobre seu conjunto de dados local em cada rodada; e B, o tamanho de batch local usado para as atualizações do cliente.

A principal diferença em relação ao modelo tradicional se dá ao fato de não haver mais a necessidade da cópia de um conjunto de treinamento ser compartilhada entre os modelos, ou seja, a descentralização do conjunto de treinamento. Com essa nova abordagem, onde não há a necessidade da transferência de um conjunto de dados, muitas empresas tem a possibilidade de colaborarem entre si sem o comprometimento da privacidade dos dados presentes no conjunto. Apesar de ser uma técnica que mantém o anonimato em um certo nível alguns tipos de ataques podem ser efetuados no momento da atualização dos pesos, que não estão envolvidas globalmente nos dados, mas sim a um cliente predefinido, e vários estudos atualmente apresentam abordagens que asseguram ainda mais a garantia de privacidade dos usuários durante o treinamento.

Federated Learning não garante a privacidade totalmente apenas com a sua estruturação, e para isso é usado técnicas que garantem uma camada adicional de privacidade nos dados. Existem diversas formas de garantir a anonimização dos dados de forma segura, e a mais utilizada é a differential privacy (DP).

DIFFERENTIAL PRIVACY

A DP é um método que visa, através de artifícios matemáticos, garantir a privacidade dos dados em um determinado dataset, isto é, garantir que os dados estejam protegidos de ataques maliciosos que tentam buscar padrões que quebram a privacidade. Este tópico tem sido abordado no contexto de ML, principalmente em datasets usados em treinamento dos modelos, onde a principal preocupação é evitar que outro modelo malicioso que usa de artifícios de engenharia reversa efetue ataques.

Para garantir a privacidade dos dados de um conjunto, a DP através de artifícios probabilísticos insere uma espécie de ruido nos dados, garantindo que eles não sejam facilmente descobertos e também mantenham seus valores com um mesmo significado. Para os dados estarem mais perto do seu valor verdadeiro é necessário abrir mão de uma parte desse ruido inserido nos dados, ou seja, uma troca em respeito a quantidade de privacidade e qualidade do conjunto dos dados. Uma função aleatória K fornece privacidade ε-diferencial se para todos os conjuntos de dados D e D′ diferirem em no máximo uma linha, e todos S ⊆ Intervalo(K).

Isso significa que o risco para a privacidade de uma pessoa não deve aumentar substancialmente (conforme limitado por ε) como resultado da participação em um banco de dados estatístico. Dessa forma, um atacante não deve ser capaz de aprender qualquer informação sobre qualquer participante. Pode-se então afirmar com alguma confiança que existe um baixo risco de comprometer a privacidade de qualquer indivíduo como resultado de sua participação no conjunto de dados. A função K() é o responsável por adicionar ruído na informação presente nos dados. Os mecanismos utilizados para esse fim fazem uso de propriedades de distribuições probabilísticas, como a distribuição de Laplace.


Data Hackers

Blog oficial da comunidade Data Hackers

Lukas Iepsen

Written by

Data Scientist intern at Elixir AI and CS undergraduate at UFPel

Data Hackers

Blog oficial da comunidade Data Hackers

More From Medium

More on Machine Learning from Data Hackers

More on Machine Learning from Data Hackers

More on Machine Learning from Data Hackers

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade