Guia de Federated Learning: o aprendizado de máquina descentralizado

Neste artigo você vai ver:

O Aprendizado Federado (Federated Learning – FL) é uma abordagem de Aprendizado de Máquina (Machine Learning – ML) descentralizada, nascida a partir das preocupações com a privacidade das pessoas. 

Quer saber um pouco mais sobre? Então venha com a gente neste artigo, onde vamos explicar o que é FL, sua relação com a ML distribuída, seus benefícios, desafios e aplicações.

A era dos dados

Nos encontramos na era dos dados. Isso quer dizer que, de uma forma nunca vista antes na humanidade, estamos gerando dados em abundância: estima-se que, ao final de 2022, teremos 97 zettabytes de dados no mundo (um zettabyte possui 21 zeros e equivale a um trilhão de gigabytes!). 

Adicionalmente, com o avanço da tecnologia, nos tornamos também capazes de criar formas melhores e mais econômicas de armazenar e processar esses dados, convertendo-os em aplicações cada vez mais poderosas que mudam nossa forma de ver o mundo. 

Assim, podemos dizer que o sucesso das tecnologias baseadas em Aprendizado de Máquina foi e continua sendo impulsionado pela disponibilidade “infinita” de dados.

Em um ambiente tradicional de Machine Learning, para a extração do conhecimento, deve-se enviar o dado para um servidor centralizado, onde acontece todo o processamento necessário. 

Em outras palavras, toda informação, incluindo informação pessoal, é enviada e fica armazenada em um único local. E esse local dificilmente é onde se gerou o dado, ou seja, dados importantes estão sendo enviados de um lado para o outro, a todo momento.

Quer saber mais sobre Machine Learning? Nessa live do Zup Insights, tratamos sobre os seus fundamentos e como é o dia a dia de Cientistas de Dados. Assista!

O pesadelo da privacidade

Esse tipo de estrutura centralizada para extração do conhecimento infelizmente é muito vulnerável a ciberataques. Segundo o Panorama de Ameaças da Kaspersky, o Brasil é o maior alvo de ataques da América Latina

Esses ataques procuram roubar informações pessoais, financeiras e acessos a redes sociais e serviços on-line. Isto é, informações que não desejamos compartilhar de forma indiscriminada por aí. 

Buscando proteger a privacidade das pessoas, há diversas leis ao redor do mundo voltadas para a proteção de dados. No Brasil, temos a LGPD (Lei Geral de Proteção de Dados), que dita algumas regras que devem ser obedecidas pelas empresas ao utilizar dados pessoais e sensíveis dos indivíduos, independente da aplicação, sempre focando no direito à privacidade.

Assim, para evitar “o pesadelo da privacidade” (ou seja, vazamento de dados pessoais e todas as terríveis consequências que podem vir dessa ação), as aplicações inteligentes que usam métodos de ML precisam se adequar a esse novo cenário onde os dados existem, mas podem não ser facilmente acessados.

Além da privacidade

Há outros cenários, em adição à proteção da privacidade, que as abordagens de ML tradicionais encontram dificuldades de gerar conhecimento. Porém, FL pode triunfar em muitos deles, como por exemplo:

Conexão de silos de dados

Os silos acontecem quando os dados que podem ajudar a tomar uma decisão existem, mas estão espalhados entre diversas entidades e isolados entre si. 

Por exemplo, ao visitar a emergência de um hospital, pode ser que outro hospital tenha as informações necessárias para saber se você deve operar ou não uma pessoa, mas essas informações não podem ser enviadas de forma simples por diversas razões, incluindo privacidade

Dessa forma, é muito interessante ter uma maneira de conectar as informações de locais diferentes para extrair um conhecimento mais robusto.

Internet das Coisas

Hoje em dia, tudo está conectado à internet e isso gera grandes oportunidades para as mais diversas tecnologias do nosso cotidiano, como monitoramento da saúde, sistemas de reconhecimento de face e rastreamento por GPS. 

Porém, para criar essas aplicações, é necessário conectar os dados. Esse problema é basicamente uma conexão de silos de dados (como no ponto anterior), mas esses silos tem um poder computacional variável, sendo em sua maioria dispositivos muito restritos em capacidade de armazenamento e processamento. 

Assim, o desafio aqui vai além da privacidade e conexão de dados, também é preciso considerar o custo de transmissão dos dados entre os dispositivos e o servidor central (o que pode ser inviável do ponto de vista tecnológico e monetário).

Em suma, precisa-se de uma mudança de paradigma em ML que torne capaz a aplicação dessas técnicas em um ambiente que conecte os dados, sem que seja necessário enviá-los a um servidor central, respeitando assim a privacidade das pessoas. 

Federated Learning: lado a lado, venceremos

A ideia principal do Aprendizado Federado ou Federated Learning é que a comunicação entre os dispositivos aconteça utilizando os modelos de ML, não os dados. Ou seja, não é mais necessário enviar os dados de cada local para um servidor centralizado.

Ao invés disso, enviamos os modelos de ML para onde os dados residem, os treinando nesses locais de forma descentralizada. Após esse treinamento localizado, reunimos os modelos para que possam entrar em consenso sobre o que foi aprendido e partilhar esse conhecimento entre todos.

É interessante ressaltar que a comunicação entre esses modelos deve garantir que apenas o aprendizado dos modelos seja compartilhado, e de forma nenhuma pode haver compartilhamento de informações sobre os dados. 

Mas compartilhamento de aprendizado não é compartilhamento de dados? 

Não! O que os modelos de ML aprendem são valores para reduzir a diferença entre o que o modelo “chutou” (de forma bastante fundamentada nos dados) e a informação real. E são esses valores que são compartilhados. É como uma “reunião de palpites” entre os modelos de ML.

O aprendizado descentralizado é diferente do distribuído?

Sim e não. Vamos entender um pouco da diferença entre as formas de aprendizado (centralizado, distribuído e federado) com base na imagem a seguir, retirada do artigo de AbdulRahman et al.

Imagem dividida em três colunas: a coluna da esquerda mostra o aprendizado centralizado, onde os dispositivos enviam seus dados para a nuvem para acontecer o aprendizado; a coluna do meio envia os modelos para os dispositivos, que realizam o aprendizado localmente, sem se comunicar novamente com a nuvem; e na coluna da direita, o Federated Learning, onde os dispositivos enviam os modelos para que sejam agregados na nuvem
Três tipos de aprendizado de máquina: aprendizado centralizado, distribuído localmente e federado.
  • No aprendizado centralizado, os dispositivos enviam seus dados para um servidor centralizado (por exemplo, uma nuvem), para que o processamento dos dados e aprendizado aconteça na nuvem. 
  • No aprendizado distribuído localmente, a nuvem envia para os dispositivos o modelo de ML e todo o processamento acontece localmente. Não há mais conexão com a nuvem e os modelos aprendem somente com base nos dados disponíveis no dispositivo onde se encontram.

Esse tipo de aprendizado distribuído tradicional geralmente assume que todos os dispositivos terão a mesma capacidade de processamento (distribuindo modelos de acordo com a capacidade do dispositivo mais forte ou mais fraco) e que os dados são independentes e identicamente distribuídos (ou seja, todos os dispositivos possuem informações suficientes para treinar todos os modelos de forma satisfatória). 

Essas premissas são totalmente aceitáveis em muitos cenários, porém, é interessante notar que em ambientes mais complexos, essa premissa sobre os dados pode até inviabilizar o aprendizado.

Por exemplo, suponha que queremos treinar um modelo para identificação de doenças pulmonares. Utilizando dados de um único hospital, o modelo pode aprender sobre centenas de doenças desse domínio. Porém algumas doenças podem nunca terem sido tratadas nesse local, o que pode fazer com que o modelo de ML não consiga aprender sobre essas doenças.

Como o Federated Learning funciona

Para entender melhor como funciona o Aprendizado Federado, vamos ver como exemplo a primeira aplicação a utilizar esse tipo de abordagem: a sugestão de texto no Gboard, teclado da Google para o Android.

Esquemático do Federated Learning no teclado Gboard: o mesmo modelo ML é enviado para todos os celulares que utilizam o teclado. Com o uso, vai havendo personalização do modelo. Na nuvem, todos esses novos aprendizados são agregados em um modelo que possui o conhecimento coletivo. Esse ciclo se repete.
Modelo de Aprendizado Federado utilizado no teclado Gboard.
  1. Todos os dispositivos baixam o modelo ML da nuvem. Cada pessoa utiliza seu próprio modelo e vai aprimorando as sugestões de acordo com sua utilização (personalização do modelo, como no aprendizado distribuído localmente). 
  2. O passo anterior acontece em todos os dispositivos, que depois enviam o aprendizado aprimorado para a nuvem (observe que não são os dados que a pessoa digitou, mas sim os valores do modelo!). Essa informação é enviada usando comunicação encriptada, para garantir a privacidade das informações.
  3. Na nuvem, o aprendizado de todos os dispositivos é ponderado a fim de melhorar a qualidade do modelo agregado. Esse ciclo se repete (todos os dispositivos recebem o modelo aprimorado e assim segue).

Note que assumir as mesmas premissas que os modelos de aprendizado anteriores pode ser muito danoso para essa nova abordagem de aprendizado:

  • As federações (ou seja, o conjunto de dispositivos disponíveis para realizar o aprendizado) são compostas dos mais diferentes dispositivos, com capacidades computacionais diferentes. É necessário pensar em alternativas para que o aprimoramento do modelo no dispositivo não impacte no desempenho. No caso do Gboard, esse treinamento ocorre somente quando o celular está carregando, tem conexão wi-fi disponível e não está sendo utilizado;
  • Os dados gerados com certeza não são independentes e identicamente distribuídos, isto é, cada pessoa utiliza o teclado de uma maneira diferente e possui um vocabulário diferente, criando sugestões diferentes. Mas uma palavra nunca usada deve ser sugerida corretamente da mesma forma que as palavras anteriores. Isso é conseguido através da agregação dos modelos de ML, que compartilham o conhecimento de várias pessoas.

Benefícios do Aprendizado Federado

O Federated Learning pode trazer vários benefícios, como por exemplo:

  • Aplicações mais inteligentes, onde os dispositivos podem aprender de forma coletiva, sem infringir a privacidade de users, pois os dados não saem do dispositivo que os geraram para um servidor centralizado;
  • A privacidade de fato é o maior benefício, especialmente para organizações que operam sob rígidas restrições de privacidade, como hospitais e organizações financeiras. Com isso, é possível criar alianças entre organizações que desejem fornecer melhores serviços sem divulgar dados pessoais, o que aumenta a segurança das operações;
  • Como o processamento passa a ser feito nos dispositivos, diminui-se a latência das aplicações, pois não é mais necessário enviar os dados para o servidor e esperar para receber os resultados. Dessa forma, como os resultados são extraídos no mesmo lugar onde os dados são gerados, torna-se possível realizar predições em tempo real de melhor qualidade. Isso é ainda mais especial para aplicações que dependem de ambientes de rápida transformação, como detecção de fraudes;
  • Outra vantagem do modelo ficar dentro dos dispositivos é conseguir os resultados mesmo sem conexão com a Internet;
  • Podemos dizer que, com o Federated Learning, há a democratização da Inteligência Artificial, visto que o aprendizado passa a acontecer mais próximo das pessoas (que são nossa maior fonte de dados). Comparado com a computação em nuvem, o Aprendizado Federado é ainda mais acessível, pois não há a necessidade de grandes investimentos em infraestrutura.

E os desafios

Tudo isso pode aumentar ainda mais a força da tecnologia em nossas vidas. Porém, ainda temos alguns desafios a enfrentar nesse novo e excitante universo do Federated Learning, como por exemplo:

  • Por ser um paradigma de aprendizado diferente, é necessário adaptar as técnicas de ML já conhecidas (e até criar novas técnicas) que possam funcionar melhor nesse contexto;
  • Deve-se tolerar a diversidade entre os dispositivos, visto que nem todos podem processar na mesma capacidade, o que pode criar ainda mais barreiras na comunicação e agregação do aprendizado da federação inteira; 
  • É interessante agregar o máximo de aprendizado possível, a fim de criar melhores modelos, mas isso precisa do máximo de participação possível. Então, deve-se criar formas de incentivar os dispositivos (e organizações e pessoas usuárias) a participar da federação, pois nem todos podem ou se sentem confortáveis de participar prontamente. Também é importante encontrar alternativas para caso dispositivos decidam sair da federação;
  • Ao unir os aprendizados, porém, é essencial pensar na segurança das informações, pois alguns participantes podem ser maliciosos e desejam apenas corromper as informações. Ainda sobre segurança, também pode haver participantes bem intencionados, porém com curiosidade, e que podem tentar revelar informações, o que prejudica a privacidade de todos os dispositivos participantes;
  • Mais ainda, a depender de quem participa da federação (bem intencionados ou não), pode-se agravar os problemas de viés e injustiça no aprendizado, criando modelos discriminatórios.

Há diversos estudos na literatura científica que buscam resolver esses problemas, para que todas as pessoas possam utilizar a tecnologia de modo confiável e tranquilo.

Onde o Federated Learning é (e pode ser) utilizado?

Além do uso em smartphones (não só teclados, mas muitas outras aplicações, como detecção de face e voz), o Aprendizado Federado tem sido aproveitado em diversos outros domínios, como abordaremos a seguir.

Cidades inteligentes

Uma cidade inteligente é uma cidade que conecta diversas inovações tecnológicas, com o objetivo de proporcionar um ambiente urbano de maior qualidade para as pessoas, consumindo os recursos naturais, humanos e econômicos de forma sustentável. 

Um desafio interessante nas cidades inteligentes é que cada cidade possui suas características, o que é ainda mais exacerbado ao comparar um país a outro, visto que cada povo possui sua própria cultura. Com isso, a forma como se interage com a tecnologia varia entre países. 

Esse é o tipo de cenário onde Federated Learning brilha, pois se torna possível compartilhar aprendizados entre diversas regiões do mundo sem precisar divulgar a privacidade dos indivíduos, criando soluções globais eficientes e efetivas para todas as pessoas. 

Por exemplo, ao entrar em um novo país, as empresas são proibidas por lei de usar dados dos países onde já atua, para proteger a privacidade da população. Com o Aprendizado Federado é possível oferecer experiências personalizadas desde o início, pois os dados não são retirados do seu local de origem.

Saúde

No ambiente da saúde, é possível salvar vidas com o Federated Learning

Por exemplo, um estudo de 2021 contou com a participação de 20 hospitais, localizados em cinco continentes, para treinar colaborativamente uma rede neural que prevê o nível de oxigênio suplementar que pacientes com sintomas de COVID-19 podem precisar 24 a 72 horas após chegarem a locais de atendimento, como o pronto-socorro.

Para realizar esse estudo, cada hospital treinou localmente uma cópia da mesma rede neural, usando seus dados de raio-X, informações vitais e demográficas. Periodicamente, essas redes neurais enviavam seu aprendizado para um servidor centralizado, onde era criada uma versão agregada dos modelos. Observe que todo o aprendizado foi criado de forma colaborativa, mas sem que a privacidade fosse violada.

Esse tipo de abordagem traz inúmeras possibilidades de melhoria para a área de saúde, especialmente para doenças raras e para hospitais de áreas menos favorecidas, que poderiam contar com o apoio de inovações de ponta, trazendo mais rapidez e segurança nos diagnósticos.

Finanças

Instituições financeiras e clientes perdem muito dinheiro devido a crimes financeiros, como empréstimos fraudulentos e lavagem de dinheiro. 

Embora os modelos de ML para identificação dessas fraudes envolvendo dinheiro estejam cada vez mais sofisticados, as organizações financeiras possuem forte limitação em seus dados, o que impede o verdadeiro poder de detecção das técnicas de ML. Isso tudo permite que as transações fraudulentas aconteçam sem que sejam pegas. 

O Aprendizado Federado pode superar essa limitação, uma vez que bancos e outras instituições ao redor do mundo poderiam colaborar sem quebrar a privacidade individual.  

Esse tipo de colaboração é bom não só para detectar fraudes, mas, por exemplo, para prever e evitar riscos financeiros, podendo definir melhores pontuações de crédito para clientes.

Conclusão

Há diferentes formas de aprendizado de máquina e cada uma se adequa melhor a diferentes cenários. O Aprendizado Federado ou Federated Learning é ideal para ambientes onde o foco seja a preservação de privacidade, mesmo em situações onde haja o compartilhamento de aprendizado entre modelos de ML. 

Com isso, teremos dois principais benefícios: a preservação da integridade das informações dos indivíduos e o melhoramento da qualidade do aprendizado. Isto é, aprender a partir de todos os dispositivos, sem aprender sobre nenhuma pessoa.

Aplicar o Aprendizado Federado requer a adoção de novas tecnologias e práticas na área de aprendizado de máquina. Porém, os benefícios que esse novo paradigma pode trazer às pessoas, através das aplicações que usamos no nosso dia a dia, faz valer a pena superar os desafios que essa nova forma de pensar a tecnologia pode trazer.

Aqui na Zup, estamos sempre estudando novas e melhores maneiras de produzir produtos e serviços de alta qualidade, nos pautando nas inovações científicas para isso.

Uma forma legal de entender o Aprendizado Federado pode ser através de quadrinhos, certo? A Google pensou nisso e você pode acessar a comic Federated Learning para aprender ainda mais (em inglês).

Ficou com alguma dúvida? Tem alguma sugestão? Quer discutir um pouco sobre o assunto? Só entrar em contato pelo Linkedin ou enviar seu comentário abaixo.

Referências

AbdulRahman, Sawsan, et al. A survey on federated learning: The journey from centralized to distributed on-site learning and beyond. IEEE Internet of Things Journal 8.7 (2020): 5476-5497.

Ramos, Heitor S., et al. Aprendizado Federado aplicado à Internet das Coisas. Sociedade Brasileira de Computação (2021).
Zhou, Zhi, et al. Edge intelligence: Paving the last mile of artificial intelligence with edge computing. Proceedings of the IEEE 107.8 (2019): 1738-1762.

Pessoa branca sentada em uma mesa de frente para um notebook, onde sua mão segura um holograma que sai algumas imagens como nuvem, um gráfico, uma engrenagem... tudo isso representa o conteúdo "aprendizado federado"
isadora-foto
Researcher & Data Analytics
Pesquisadora dedicada a resolver problemas (de todo tipo) usando análise de dados e Inteligência Artificial.

Artigos relacionados

Imagem capa do conteúdo "Débito técnico", onde podemos ver Engenheira de software feminina escrevendo código no computador desktop com configuração de várias telas no elegante espaço de escritório de coworking.
Pesquisa Acadêmica
Postado em:

Este site utiliza cookies para proporcionar uma experiência de navegação melhor. Consulte nossa Política de Privacidade.