Aprendizado Federado
Visão geral
Aprendizado Federado (Federated Learning, FL) é uma forma de treinar modelos de aprendizado de máquina (machine learning) em muitos dispositivos ou organizações sem coletar seus dados brutos em um local central. Em vez de enviar dados do usuário (textos, imagens, prontuários médicos etc.) para um servidor, cada participante treina uma cópia local do modelo em seus próprios dados e envia apenas atualizações do modelo (model updates) (como gradientes (gradients) ou deltas de pesos (weight deltas)) de volta a um servidor coordenador. O servidor agrega essas atualizações em um novo modelo global (global model) e repete o processo.
Esse paradigma de “levar o modelo até os dados” é especialmente útil quando os dados são:
- Sensíveis (mensagens pessoais, registros de saúde, transações financeiras)
- Legalmente restritos (residência de dados, restrições de HIPAA/GDPR)
- Operacionalmente difíceis de centralizar (limites de largura de banda, organizações em silos)
O aprendizado federado se insere no espaço mais amplo de aprendizado de máquina com foco em privacidade. Ele reduz a exposição de dados brutos, mas não garante privacidade automaticamente por si só — técnicas como Privacidade Diferencial e agregação segura (secure aggregation) costumam ser adicionadas para fortalecer as proteções.
O que é Aprendizado Federado (e o que não é)
Aprendizado Federado vs. Treinamento Centralizado
No treinamento centralizado padrão:
- Coletar dados de muitas fontes em um lago/armazém de dados (data lake/warehouse)
- Treinar um modelo usando pipelines padrão
- Implantar o modelo
No aprendizado federado:
- Distribuir um modelo aos participantes (dispositivos ou organizações)
- Cada participante treina localmente em seus próprios dados
- Os participantes enviam atualizações de volta
- O servidor agrega as atualizações em um novo modelo global
- Repetir
Distinção-chave: o aprendizado federado evita centralizar dados brutos, mas ainda centraliza algumas informações na forma de atualizações do modelo — que às vezes podem vazar informações se não estiverem protegidas.
Aprendizado Federado vs. Treinamento Distribuído
O aprendizado federado é relacionado ao treinamento distribuído (distributed training), mas as suposições diferem:
Treinamento distribuído normalmente assume:
- Um cluster controlado (GPUs/TPUs)
- Nós confiáveis, redes rápidas
- Dados quase IID (independent and identically distributed) fragmentados intencionalmente
- Propriedade central de dados/compute
Aprendizado federado normalmente assume:
- Clientes não confiáveis e intermitentes (celulares, dispositivos de borda)
- Compute/rede altamente variáveis
- Dados não IID (non-IID) (heterogêneos) por cliente
- Restrições de privacidade/segurança e observabilidade limitada
Ideia central: Otimização Federada
A maioria dos sistemas de aprendizado federado usa um loop de otimização iterativo semelhante ao de Descida do Gradiente, mas dividido entre clientes.
Um algoritmo canônico é a Média Federada (Federated Averaging, FedAvg):
- O servidor mantém parâmetros globais ( w_t ).
- Em cada rodada:
- O servidor seleciona um subconjunto de clientes.
- Cada cliente realiza treinamento local por alguns passos/épocas em seu conjunto de dados privado.
- Os clientes enviam atualizações do modelo de volta.
- O servidor calcula a média das atualizações (frequentemente ponderada pelo tamanho do conjunto de dados do cliente).
Isso funciona bem para muitos modelos treinados via Retropropagação, incluindo Redes Neurais.
FedAvg (Pseudocódigo conceitual)
# Server state
w = initialize_model()
for round in range(T):
clients = sample_available_clients(K)
updates = []
weights = []
for client in clients:
# client trains locally without sharing raw data
w_client = client.local_train(w, epochs=E, batch_size=B, lr=eta)
delta = w_client - w
updates.append(delta)
weights.append(client.num_examples)
# weighted average aggregation
w = w + sum((n / sum(weights)) * delta for n, delta in zip(weights, updates))
Implementações práticas adicionam muitos detalhes: participação parcial, agregação segura, clipping de atualizações, compressão, tratamento de falhas e mais.
Cenários de Aprendizado Federado
Aprendizado Federado Entre Dispositivos (Cross-Device Federated Learning)
Participantes: grandes quantidades de dispositivos de consumo (celulares, tablets, IoT)
Características típicas:
- Milhões de clientes potenciais, mas apenas uma pequena fração participa por rodada
- Dispositivos ficam disponíveis de forma intermitente (bateria, Wi‑Fi, tempo ocioso)
- Dados por cliente são relativamente pequenos, mas extremamente diversos
- Expectativas fortes de privacidade
Exemplo: aprender um modelo de previsão da próxima palavra para um teclado móvel a partir do comportamento de digitação do usuário.
Aprendizado Federado Entre Silos (Cross-Silo Federated Learning)
Participantes: um número menor de organizações confiáveis (hospitais, bancos, empresas)
Características típicas:
- De dezenas a centenas de clientes
- Melhor conectividade e compute mais estável
- Conjuntos de dados maiores por cliente
- Fortes restrições legais (acordos de compartilhamento de dados)
Exemplo: hospitais treinando colaborativamente um modelo de imagens médicas sem trocar registros de pacientes.
Por que o Aprendizado Federado é desafiador: dados não IID e restrições de sistemas
O aprendizado federado é mais difícil do que o treinamento centralizado por dois motivos principais:
Heterogeneidade estatística (dados não IID)
Os dados dos clientes frequentemente diferem de forma dramática:
- Idiomas ou dialetos diferentes por região
- Populações de pacientes diferentes por hospital
- Padrões de compra diferentes por localização da loja
Isso quebra suposições que tornam a otimização estável. Um modelo global pode convergir lentamente ou ter desempenho ruim para distribuições de clientes minoritárias.
Estratégias comuns:
- Otimizadores mais robustos (momentum no lado do servidor, métodos adaptativos)
- Regularização em direção aos pesos globais (por exemplo, ideias no estilo FedProx)
- Personalização (camadas específicas por cliente, ajuste fino, modelos de mistura)
Heterogeneidade de sistemas
Os clientes variam em:
- Capacidade de CPU/GPU
- Largura de banda/latência de rede
- Restrições de energia
- Disponibilidade
Como resultado:
- Muitos clientes abandonam no meio da rodada.
- Alguns clientes são “atrasados” e desaceleram as rodadas.
- A comunicação pode dominar os custos de compute.
Técnicas de sistemas comumente usadas:
- Participação parcial: amostrar apenas um subconjunto de clientes em cada rodada
- Aprendizado federado assíncrono: aceitar atualizações conforme chegam (com cuidado quanto à defasagem)
- Compressão: quantizar ou esparsificar atualizações
- Trade-off entre menos passos locais vs. mais rodadas: reduzir a frequência de comunicação fazendo mais treinamento local
Privacidade e segurança no Aprendizado Federado
O aprendizado federado reduz a centralização de dados brutos, mas não é, por si só, uma solução completa de privacidade.
O que o aprendizado federado protege (por padrão)
- Um servidor central não coleta nem armazena diretamente dados brutos do usuário.
- Os dados permanecem no dispositivo / on-premise, reduzindo a exposição a algumas violações e riscos de governança.
O que o aprendizado federado não previne automaticamente
Mesmo que apenas gradientes ou deltas do modelo sejam compartilhados, um atacante ainda pode inferir informações.
Ameaças principais incluem:
- Vazamento de gradientes / reconstrução (gradient leakage / reconstruction): atualizações às vezes podem revelar exemplos de treinamento (especialmente para lotes pequenos ou modelos superparametrizados).
- Inferência de pertinência (membership inference): determinar se os dados de um usuário específico foram usados no treinamento.
- Ataques de envenenamento (poisoning attacks): clientes maliciosos podem enviar atualizações manipuladas para degradar o modelo ou implantar backdoors.
- Inferência da distribuição de dados do cliente (client data distribution inference): aprender atributos sensíveis a partir de padrões de atualização.
Proteções comuns
Agregação Segura
Agregação segura garante que o servidor só consiga ver um agregado de muitas atualizações de clientes, e não qualquer atualização individual em claro. Isso ajuda a mitigar vazamentos a partir de atualizações individuais e reduz a visibilidade do lado do servidor.
Ideia de alto nível: clientes mascaram criptograficamente suas atualizações de modo que as máscaras se cancelem apenas quando clientes suficientes participam.
Privacidade Diferencial (nível de cliente)
Adicionar Privacidade Diferencial pode fornecer garantias formais de privacidade. No aprendizado federado, um objetivo comum é a privacidade diferencial em nível de cliente (client-level DP):
- Limitar o quanto o modelo final muda se o conjunto de dados inteiro de um cliente for removido.
- Alcançado por clipping de cada atualização de cliente e adicionando ruído (noise) no servidor (ou nos clientes).
Trade-off: privacidade mais forte geralmente significa menor acurácia ou convergência mais lenta.
Agregação robusta e detecção de anomalias
Para se defender contra envenenamento:
- Agregação robusta (mediana, média truncada, filtragem coordenada) pode reduzir a influência de outliers.
- Clipping da norma da atualização limita o impacto de qualquer cliente individual.
- Detecção de backdoor pode ser realizada via testes de validação, embora isso seja difícil sem acesso a dados de validação centralizados representativos.
Ressalva importante: em muitas implantações reais, medidas de privacidade (agregação segura, privacidade diferencial) reduzem a capacidade do servidor de inspecionar atualizações — então a robustez precisa ser projetada com visibilidade limitada.
Exemplos práticos
Exemplo 1: Previsão da próxima palavra em teclado móvel (entre dispositivos)
Objetivo: melhorar o texto preditivo sem coletar as frases digitadas pelos usuários.
- Cada celular armazena o histórico recente de digitação localmente.
- Periodicamente (por exemplo, quando ocioso, carregando, no Wi‑Fi), o celular:
- baixa o modelo de linguagem global atual
- treina localmente por um pequeno número de passos
- envia uma atualização (frequentemente com agregação segura)
- O servidor agrega atualizações de milhares de celulares por rodada.
Benefícios:
- O texto bruto nunca sai do celular.
- O modelo melhora a partir de padrões amplos de uso.
Considerações práticas:
- Fortes restrições de bateria e uso de dados
- Necessidade de tratamento robusto de padrões de linguagem não IID
- Proteções de privacidade são cruciais (texto digitado é altamente sensível)
Exemplo 2: Imagens médicas em múltiplos hospitais (entre silos)
Objetivo: treinar um modelo de detecção de tumor entre hospitais, onde os dados dos pacientes não podem ser centralizados.
- Cada hospital mantém exames de MRI/CT on-premise.
- Um servidor coordenador envia um modelo inicial.
- Cada hospital treina localmente e envia atualizações.
- O modelo agregado se beneficia de populações de pacientes e scanners mais diversos.
Benefícios:
- Melhor generalização entre demografias e dispositivos
- Simplifica conformidade com regras de governança de dados
Desafios:
- Padrões de rotulagem e protocolos de imagem diferentes
- Necessidade de avaliação cuidadosa para evitar vieses ocultos
- Possível exigência de auditabilidade e reprodutibilidade
Exemplo 3: Detecção de fraude entre instituições financeiras
Bancos podem querer aprender padrões compartilhados de fraude sem compartilhar logs brutos de transações.
- O aprendizado federado entre silos pode treinar representações compartilhadas.
- Restrições adicionais frequentemente se aplicam:
- controles rígidos de segurança e acesso
- exigências regulatórias
- preocupações com ambiente adversarial (envenenamento, manipulação)
Em muitos desses cenários, o aprendizado federado é combinado com criptografia forte, governança contratual e monitoramento rigoroso.
Considerações de arquitetura e engenharia
Seleção e participação de clientes
No aprendizado federado entre dispositivos, o servidor normalmente seleciona clientes que atendem a critérios como:
- em rede não tarifada
- carregando
- ocioso
- com consentimento (opt-in) e elegível
A amostragem de clientes afeta tanto desempenho quanto justiça: excluir consistentemente dispositivos de baixo desempenho pode enviesar o modelo.
Eficiência de comunicação
A comunicação frequentemente é o gargalo.
Técnicas incluem:
- Menos bits: quantização (por exemplo, atualizações de 8 bits)
- Esparsificação: enviar apenas coordenadas de maior magnitude
- Redução do tamanho do modelo: arquiteturas menores, abordagens de destilação
- Comunicação menos frequente: mais passos locais por rodada (com o risco de “deriva do cliente” com dados não IID)
Avaliação e monitoramento
Avaliar modelos de aprendizado federado é sutil porque você pode não ter um conjunto de validação centralizado e representativo.
Abordagens:
- Manter um pequeno conjunto de avaliação público ou com consentimento (pode ser enviesado)
- Avaliação no dispositivo com métricas agregadas
- Métricas por fatias (slice) por tipo de dispositivo/região (com reporte que preserve privacidade)
O monitoramento precisa equilibrar:
- regressões de qualidade do modelo
- questões de justiça
- restrições de privacidade (logging limitado)
Personalização no Aprendizado Federado
Um único modelo global pode ter desempenho abaixo do ideal para muitos usuários. A personalização federada (federated personalization) busca melhorar a relevância local enquanto ainda aprende com os demais.
Estratégias comuns:
- Ajuste fino (fine-tuning): treinar um modelo global e, em seguida, fazer ajuste fino localmente para cada cliente.
- Personalização parcial: compartilhar um backbone global e manter uma cabeça personalizada.
- Aprendizado federado por clusters (clustered FL): aprender modelos diferentes para clusters diferentes de clientes.
- Abordagens de metaaprendizado (meta-learning): aprender uma inicialização que se adapte rapidamente por cliente.
Trade-off: a personalização pode melhorar a experiência do usuário, mas complica implantação, testes e contabilização de privacidade.
Quando o Aprendizado Federado é uma boa opção
O aprendizado federado costuma ser uma escolha forte quando:
- Centralizar dados é legalmente ou eticamente difícil.
- Os dados são naturalmente distribuídos e a agregação em grande escala é impraticável.
- Você precisa aprender com comportamentos na borda que não são capturados em outro lugar (por exemplo, interações locais no dispositivo).
- Você pode tolerar complexidade adicional do sistema em troca de reduzir a centralização de dados.
Limitações e armadilhas comuns
- “Federado” não significa “privado”. Sem agregação segura/privacidade diferencial, atualizações podem vazar informações.
- Complexidade operacional é alta: orquestração, versionamento, tratamento de falhas, restrições de dispositivos.
- Dados não IID podem causar instabilidade e injustiça.
- Depuração é difícil com acesso limitado a dados brutos e logging restrito.
- Comportamento adversarial é uma preocupação real em cenários com participação aberta.
Relação com Privacidade Diferencial e outras técnicas de privacidade
O aprendizado federado é melhor entendido como uma abordagem arquitetural e de minimização de dados: ele reduz o movimento de dados brutos. Para garantias de privacidade mais fortes, é comumente combinado com:
- Privacidade Diferencial (garantias formais via clipping + ruído)
- Agregação segura (proteção criptográfica de atualizações individuais)
- Ambientes de execução confiáveis (trusted execution environments) (isolamento baseado em hardware, dependente do contexto)
- Controle de acesso e governança (políticas, auditorias, limites de retenção)
Essas técnicas são complementares: o aprendizado federado muda onde o treinamento acontece, enquanto a privacidade diferencial e a criptografia tratam de o que pode ser inferido a partir do que é compartilhado.
Resumo
O aprendizado federado permite treinar modelos de aprendizado de máquina em muitos clientes sem centralizar dados brutos. Ele funciona enviando um modelo aos clientes, treinando localmente e agregando atualizações — frequentemente usando algoritmos como FedAvg. Na prática, o aprendizado federado precisa lidar com:
- desafios estatísticos devido a dados de clientes não IID
- desafios de sistemas devido a participantes não confiáveis e com largura de banda limitada
- riscos de privacidade e segurança devido a vazamento de informação e atualizações adversariais
Quando bem projetado — e frequentemente combinado com agregação segura e Privacidade Diferencial — o aprendizado federado pode entregar melhorias significativas de utilidade, enquanto reduz a centralização de dados e sustenta uma postura de privacidade mais forte em sistemas de IA do mundo real.