toco O que é aprendizagem federada? - Unite.AI
Entre em contato
Masterclass de IA:

AI 101

O que é Aprendizagem Federada?

mm
Atualização do on

O que é Aprendizagem Federada?

O método tradicional de treinamento de modelos de IA envolve a configuração de servidores onde os modelos são treinados em dados, geralmente por meio do uso de uma plataforma de computação baseada em nuvem. No entanto, nos últimos anos surgiu uma forma alternativa de criação de modelos, chamada aprendizagem federada. Aprendizado Federado traz modelos de aprendizado de máquina para a fonte de dados, em vez de trazer os dados para o modelo. O aprendizado federado conecta vários dispositivos computacionais em um sistema descentralizado que permite que os dispositivos individuais que coletam dados auxiliem no treinamento do modelo.

Em um sistema de aprendizado federado, cada um dos vários dispositivos que fazem parte da rede de aprendizado possui uma cópia do modelo no dispositivo. Os diferentes dispositivos/clientes treinar sua própria cópia do modelo usando os dados locais do cliente e, em seguida, os parâmetros/pesos dos modelos individuais são enviados para um dispositivo mestre, ou servidor, que agrega os parâmetros e atualiza o modelo global. Este processo de treinamento pode então ser repetido até que um nível desejado de precisão seja atingido. Resumindo, a ideia por trás do aprendizado federado é que nenhum dos dados de treinamento é transmitido entre dispositivos ou entre partes, apenas as atualizações relacionadas ao modelo são.

O aprendizado federado pode ser dividido em três etapas ou fases diferentes. O aprendizado federado geralmente começa com um modelo genérico que atua como uma linha de base e é treinado em um servidor central. Na primeira etapa, esse modelo genérico é enviado aos clientes da aplicação. Essas cópias locais são então treinadas nos dados gerados pelos sistemas clientes, aprendendo e melhorando seu desempenho.

Na segunda etapa, todos os clientes enviam seus parâmetros de modelo aprendidos para o servidor central. Isso acontece periodicamente, em um cronograma definido.

Na terceira etapa, o servidor agrega os parâmetros aprendidos ao recebê-los. Após a agregação dos parâmetros, o modelo central é atualizado e compartilhado novamente com os clientes. Todo o processo então se repete.

A benefício de ter uma cópia do modelo nos vários dispositivos é que as latências de rede são reduzidas ou eliminadas. Os custos associados ao compartilhamento de dados com o servidor também são eliminados. Outros benefícios dos métodos de aprendizado federado incluem o fato de que os modelos de aprendizado federado têm privacidade preservada e as respostas do modelo são personalizadas para o usuário do dispositivo.

Exemplos de modelos de aprendizado federado incluem mecanismos de recomendação, modelos de detecção de fraude e modelos médicos. Os mecanismos de recomendação de mídia, do tipo usado pela Netflix ou Amazon, podem ser treinados com dados coletados de milhares de usuários. Os dispositivos clientes treinariam seus próprios modelos separados e o modelo central aprenderia a fazer previsões melhores, mesmo que os pontos de dados individuais fossem exclusivos para os diferentes usuários. Da mesma forma, os modelos de detecção de fraude usados ​​pelos bancos podem ser treinados em padrões de atividade de muitos dispositivos diferentes, e vários bancos diferentes podem colaborar para treinar um modelo comum. Em termos de um modelo de aprendizado médico federado, vários hospitais poderiam se unir para treinar um modelo comum que pudesse reconhecer tumores em potencial por meio de exames médicos.

Tipos de aprendizado federado

Esquemas de aprendizado federado normalmente se enquadram em uma das duas classes diferentes: sistemas multipartidários e sistemas monopartidários. Os sistemas de aprendizado federados de parte única são chamados de “parte única” porque apenas uma única entidade é responsável por supervisionar a captura e o fluxo de dados em todos os dispositivos clientes na rede de aprendizado. Os modelos que existem nos dispositivos cliente são treinados em dados com a mesma estrutura, embora os pontos de dados sejam normalmente exclusivos para os vários usuários e dispositivos.

Ao contrário dos sistemas unipartidários, os sistemas multipartidários são gerenciados por duas ou mais entidades. Essas entidades cooperam para treinar um modelo compartilhado, utilizando os vários dispositivos e conjuntos de dados aos quais têm acesso. Os parâmetros e as estruturas de dados geralmente são semelhantes entre os dispositivos pertencentes às várias entidades, mas não precisam ser exatamente os mesmos. Em vez disso, o pré-processamento é feito para padronizar as entradas do modelo. Uma entidade neutra pode ser empregada para agregar os pesos estabelecidos pelos dispositivos exclusivos para as diferentes entidades.

Estruturas para aprendizagem federada

Estruturas populares usadas para aprendizagem federada incluem Tensorflow Federado, Ativador de Tecnologia de IA Federada (FATE) e PySyftName. PySyft é uma biblioteca de aprendizagem federada de código aberto baseada na biblioteca de aprendizagem profunda PyTorch. O PySyft destina-se a garantir um aprendizado profundo seguro e privado em servidores e agentes usando computação criptografada. Enquanto isso, o Tensorflow Federated é outra estrutura de código aberto criada na plataforma Tensorflow do Google. Além de permitir que os usuários criem seus próprios algoritmos, o Tensorflow Federated permite que os usuários simulem vários algoritmos de aprendizado federados incluídos em seus próprios modelos e dados. Por fim, o FATE também é uma estrutura de código aberto projetada pelo Webank AI e destina-se a fornecer ao ecossistema Federated AI uma estrutura de computação segura.

Desafios de Aprendizagem Federada

Como o aprendizado federado ainda é relativamente incipiente, uma série de desafios ainda precisam ser negociados para que atinja todo o seu potencial. Os recursos de treinamento de dispositivos de ponta, rotulagem e padronização de dados e convergência de modelos são obstáculos potenciais para abordagens de aprendizado federado.

As habilidades computacionais dos dispositivos de borda, quando se trata de treinamento local, precisam ser consideradas ao projetar abordagens de aprendizagem federada. Embora a maioria dos smartphones, tablets e outros dispositivos compatíveis com IoT sejam capazes de treinar modelos de aprendizado de máquina, isso geralmente prejudica o desempenho do dispositivo. Compromissos terão que ser feitos entre a precisão do modelo e o desempenho do dispositivo.

Rotular e padronizar dados é outro desafio que os sistemas de aprendizagem federados devem superar. Os modelos de aprendizado supervisionado exigem dados de treinamento rotulados de forma clara e consistente, o que pode ser difícil de fazer nos muitos dispositivos clientes que fazem parte do sistema. Por esse motivo, é importante desenvolver pipelines de dados de modelo que apliquem rótulos automaticamente de maneira padronizada com base em eventos e ações do usuário.

O tempo de convergência do modelo é outro desafio para o aprendizado federado, pois os modelos de aprendizado federado normalmente levam mais tempo para convergir do que os modelos treinados localmente. A quantidade de dispositivos envolvidos no treinamento adiciona um elemento de imprevisibilidade ao treinamento do modelo, pois problemas de conexão, atualizações irregulares e até tempos diferentes de uso do aplicativo podem contribuir para aumentar o tempo de convergência e diminuir a confiabilidade. Por esse motivo, as soluções de aprendizado federado são normalmente mais úteis quando oferecem vantagens significativas em relação ao treinamento centralizado de um modelo, como instâncias em que os conjuntos de dados são extremamente grandes e distribuídos.

Foto: Jeromemetronome via Wikimedia Commons, CC Por SA 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

Blogueiro e programador com especialidades em Machine Learning e Aprendizagem profunda tópicos. Daniel espera ajudar outras pessoas a usar o poder da IA ​​para o bem social.