Federated Learning: Treinar IA sem partilhar os seus dados

Federated Learning: Treinar IA sem partilhar os seus dados

Na era do Big Data, a abordagem tradicional da Aprendizagem Automática (ML) foi sempre centralizada: reunir todos os dados num único local e treinar o modelo lá. Mas, à medida que as preocupações com a privacidade crescem, surgiu um novo paradigma.

O que é o Federated Learning?

A Aprendizagem Federada (FL) é uma técnica de aprendizagem automática descentralizada onde um modelo é treinado em múltiplos dispositivos periféricos (como smartphones ou sensores IoT) sem nunca trocar esses dados.

Quem o introduziu?

O conceito e o termo “Aprendizagem Federada” foram introduzidos pela primeira vez por investigadores da Google em 2016. No seu documento fundamental, “Communication-Efficient Learning of Deep Networks from Decentralized Data”, Brendan McMahan e a sua equipa propuseram este método como uma solução para treinar modelos de alta qualidade mantendo os dados nos dispositivos dos utilizadores.


Os três principais tipos de Federated Learning

Nem toda a Aprendizagem Federada é igual. Dependendo de como os dados são distribuídos, categorizamo-la em três tipos:

  1. Aprendizagem Federada Horizontal: Utilizada quando os conjuntos de dados partilham o mesmo espaço de características mas amostras diferentes. Exemplo: Dois bancos regionais com clientes diferentes mas os mesmos tipos de dados de conta.
  2. Aprendizagem Federada Vertical: Utilizada quando os conjuntos de dados partilham os mesmos IDs de amostra mas têm características diferentes. Exemplo: Um banco e um site de comércio eletrónico a colaborar num modelo de score de crédito para o mesmo conjunto de utilizadores.
  3. Aprendizagem Federada por Transferência: Utilizada quando os conjuntos de dados diferem tanto nas amostras como nas características. Utiliza um modelo pré-treinado para “transferir” conhecimento para um novo domínio.

ML Centralizado vs. Aprendizagem Federada: Uma Comparação

Característica ML Centralizado Aprendizagem Federada
Localização dos Dados Nuvem/Servidor Centralizado Dispositivos Edge Distribuídos
Privacidade Os dados devem ser partilhados Os dados permanecem locais e privados
Largura de Banda Alta (Upload de dados brutos) Baixa (Upload de pesos do modelo)
Consumo de Energia Lado do Servidor Lado do Cliente (durante o treino)
Hardware Clusters de GPU Smartphones, IoT, Laptops

Que dados são partilhados com o servidor central?

Esta é a parte mais crítica da Aprendizagem Federada: nuncas são partilhados dados brutos com o servidor central.

Quando o seu dispositivo participa no treino, não envia as suas fotos, mensagens ou registos de saúde. Em vez disso, apenas partilha:

  • Atualizações do Modelo (Pesos e Gradientes): São parâmetros matemáticos que descrevem as “melhorias” que o modelo encontrou ao olhar para os seus dados.
  • Encriptação: Estas atualizações são frequentemente protegidas adicionalmente por técnicas como a Agregação Segura, garantindo que o servidor apenas consegue ver a atualização combinada de muitos utilizadores, e não a contribuição de qualquer indivíduo.

Em suma: o servidor vê o conhecimento adquirido, mas nunca os dados em si.

Segurança Avançada: Agregação Segura e Privacidade Diferencial

Para proteger ainda mais a privacidade do utilizador, são frequentemente utilizadas duas camadas adicionais:

  • Agregação Segura: Um protocolo criptográfico que permite ao servidor calcular a soma de todas as atualizações sem ver nenhuma atualização individual.
  • Privacidade Diferencial: Adição de uma pequena quantidade de “ruído” matemático às atualizações para que seja impossível fazer engenharia reversa dos dados de qualquer utilizador específico a partir do modelo final.

O fluxo de trabalho: Como funciona

A magia acontece num processo cíclico:

  1. Inicialização: O servidor central cria um modelo global.
  2. Distribuição: O modelo é enviado a um grupo de dispositivos participantes (clientes).
  3. Treino Local: Cada dispositivo treina o modelo nos seus dados locais. Os dados permanecem no dispositivo.
  4. Agregação: Os dispositivos enviam apenas as atualizações matemáticas (pesos) de volta para o servidor.
  5. Atualização Global: O servidor funde estas atualizações para melhorar o modelo global para todos.

Exemplos do mundo real

  • Google Gboard: Prever a sua próxima palavra sem ler as suas mensagens privadas.
  • Saúde: Treinar modelos de diagnóstico em múltiplos hospitais sem partilhar registos de pacientes.
  • Casas Inteligentes: Melhorar a inteligência do dispositivo enquanto mantém a sua rotina diária privada.

Conclusão

A Aprendizagem Federada representa um futuro onde a IA é poderosa mas também respeitadora da privacidade. Ao mudar de “dados para o modelo” para “modelo para os dados”, podemos construir sistemas mais inteligentes sem comprometer a nossa informação pessoal.

Fique atento à Ghaznix para mais informações sobre o futuro da tecnologia descentralizada!