O aprendizado de transferência é uma abordagem de aprendizado de máquina de reutilizar um modelo previamente treinado para resolver um novo problema.
O aprendizado de transferência é definido como um método de aprendizado de máquina (ML) que reutiliza um modelo treinado projetado para uma tarefa específica para realizar uma tarefa diferente, mas relacionada. Este artigo explica o aprendizado por transferência, seus principais métodos e aplicações.
O que é aprendizagem por transferência?
O aprendizado de transferência é um método de aprendizado de máquina (ML) que reutiliza um modelo treinado projetado para uma tarefa específica para realizar uma tarefa diferente, porém relacionada. O conhecimento adquirido da tarefa um é assim transferido para o segundo modelo que se concentra na nova tarefa.
O termo ‘aprendizado por transferência’ está relacionado à psicologia humana. Por exemplo, considere um indivíduo que é um guitarrista experiente. É muito fácil para ele aprender a tocar outros instrumentos de cordas, como cítara ou bandolim, em comparação com alguém sem experiência em tocar qualquer instrumento musical.
Da mesma forma, considere um classificador simples treinado para prever se uma imagem contém uma bolsa de mão. Nesse caso, você pode usar o conhecimento adquirido por aquele modelo para reconhecer outros objetos, como carteiras, óculos de sol, etc., em tarefas subsequentes.
A aprendizagem por transferência captura as lições aprendidas em uma tarefa e as aplica para ajustar outra tarefa. Tecnicamente, os pesos que um modelo de ML detém ao realizar o ‘problema X’ são transferidos para um novo ‘problema Y’.
A ideia aqui é reprocessar as informações obtidas da tarefa_1, que rotulou dados de treinamento, para concluir a tarefa_2, que possui menos dados ou rótulos que a tarefa_1. Com o aprendizado por transferência, o processo de aprendizado pode começar a partir de padrões capturados ao abordar tarefas semelhantes, em vez de começar do zero.
O aprendizado por transferência é normalmente empregado em tarefas de visão computacional (CV) e processamento de linguagem natural (NLP). Tanto o CV quanto o NLP requerem grandes conjuntos de dados e alto poder computacional. Consideremos uma tarefa de CV em que você treina um modelo de aprendizado de máquina para classificar imagens de ressonância magnética. Você pode treinar novamente o mesmo modelo para reconhecer imagens com outras doenças, como lesões cerebrais traumáticas ou tumores cerebrais. Assim, o aprendizado por transferência ajuda a obter resultados mais rápidos e precisos.
Da mesma forma, para tarefas de NLP, se um modelo tiver sido treinado para executar a análise de sentimento de textos em russo, você poderá criar facilmente um modelo que execute a mesma tarefa para textos em coreano ou japonês.
Significado da aprendizagem por transferência
O aprendizado por transferência acelera o processo geral de treinamento de um novo modelo e, consequentemente, melhora seu desempenho. É usado principalmente quando um modelo requer abundância de recursos e tempo para treinamento. Devido a essas razões, o aprendizado de transferência é empregado em vários projetos de aprendizado profundo, como redes neurais que realizam tarefas de NLP ou CV, como análise de sentimentos.
Aqui, vale a pena notar que o aprendizado de transferência não se refere explicitamente ao aprendizado de máquina. É mais inclinado para uma metodologia de design, muito parecida com a aprendizagem ativa. Não abrange um estudo em particular, mas refere-se a uma técnica que aborda problemas relacionados à deriva de conceito ou aprendizagem multitarefa. Em ML, a deriva do conceito refere-se às mudanças que as propriedades estatísticas de uma tarefa sofrem ao longo de um período, que o modelo tenta prever. Como consequência, a precisão da previsão do modelo sofre um impacto. Nesse ponto, o aprendizado por transferência pode ser útil, pois depende de abundância de dados e informações para fazer previsões apropriadas.
Além disso, quando os dados de treinamento disponíveis são insuficientes, o aprendizado de transferência desempenha um papel vital, pois usa os pesos capturados do primeiro modelo para inicializar os pesos do segundo modelo. O aprendizado por transferência depende da generalização de recursos à medida que são transferidos de uma tarefa para outra. Isso implica que os conjuntos de dados são cruciais aqui. Observa-se que o aprendizado por transferência pode produzir resultados otimizados quando o conjunto de dados usado no segundo treinamento é semelhante ao usado no primeiro treinamento.
Além disso, o aprendizado por transferência encapsula todos os elementos necessários para eventualmente levar ao paradigma de inteligência geral artificial (AGI) no futuro.
Transferir Métodos de Aprendizagem
A aprendizagem por transferência pode realizar tarefas adotando diferentes abordagens. Vejamos cada abordagem em detalhes.
1. Treine modelos de ‘domínio semelhante’
Essa técnica de aprendizado por transferência treina modelos que pertencem a domínios semelhantes. Digamos que você precise concluir a tarefa X, mas não tenha dados suficientes. No entanto, observe que a tarefa Y é semelhante à tarefa X e tem dados suficientes para concluir a tarefa Y. Nesse cenário, você pode treinar um modelo na tarefa Y e, em seguida, usar o modelo bem-sucedido para desenvolver um novo modelo para trabalhar na tarefa X.
2. Extrair recursos
A extração de recursos é outra abordagem importante para o aprendizado de transferência, em que redes neurais profundas são treinadas para servir como extratores automáticos de recursos. Após executá-los sobre os modelos pré-treinados, as representações são exportadas para modelos mais novos. Este método é amplamente utilizado por profissionais de ciência de dados.
3. Use modelos pré-treinados
Essa é outra abordagem que se baseia no desenvolvimento de modelos pré-treinados considerando variáveis de aprendizado de transferência. As empresas com experiência no desenvolvimento de modelos tendem a ter acesso a uma biblioteca de modelos que pode ser usada para projetar modelos futuros. Isso implica que, ao abordar um problema mais recente, um modelo pré-treinado pode ser escolhido, otimizado com o problema em questão e reutilizado para treinar outro modelo.
Alguns exemplos de modelos de aprendizado de máquina pré-treinados incluem o modelo Inception do Google, o pacote MicrosoftML R da Microsoft e o pacote Microsoftml Python. O modelo inicial é treinado no conjunto de dados ImageNet e usado para classificar imagens em 1.000 ou mais classes. Outros modelos populares disponíveis no mercado incluem o AlexNet, o modelo VGG da Oxford e o ResNet da Microsoft.
Além disso, alguns dos modelos pré-treinados conhecidos que abordam problemas de dados relacionados ao NLP incluem o modelo word2vec do Google e o modelo GloVe de Stanford.
Transferir processo de aprendizado
Independentemente dos métodos discutidos acima, o processo de aprendizagem por transferência segue algumas etapas fundamentais para sua realização. Vamos entendê-los em detalhes.
- Acesse modelos pré-treinados: as organizações podem obter modelos pré-treinados de sua própria coleção de bibliotecas de modelos ou outros repositórios de código aberto. Por exemplo, o PyTorch Hub é um repositório de modelo pré-treinado de código aberto projetado para acelerar o caminho da pesquisa, desde a prototipagem até a implantação do produto. Da mesma forma, o TensorFlow Hub é um repositório aberto e uma biblioteca de ML reutilizável com vários modelos pré-treinados que podem ser usados para tarefas como incorporação de texto, classificação de imagens e muito mais.
- Congelar camadas: Uma rede neural típica revela três camadas: camadas internas (iniciais), intermediárias e posteriores. No aprendizado por transferência, as camadas interna e intermediária são mantidas como estão, e apenas as últimas camadas são retreinadas para que o método use os dados rotulados da tarefa na qual foi treinado anteriormente. Conforme discutido em um dos exemplos anteriores, o classificador treinado para reconhecer a bolsa de mão pode ser usado para detectar carteiras ou óculos de sol. Como é evidente aqui que as camadas anteriores aprenderam a reconhecer objetos, precisamos apenas retreinar as últimas camadas para identificar carteiras ou outros objetos.
O congelamento das camadas é essencial, pois evita a reinicialização dos pesos no modelo. A etapa de reinicialização pode fazer com que o modelo perca todos os seus aprendizados anteriores.
- Treine novas camadas: ao congelar as camadas necessárias, novas camadas devem ser adicionadas ao modelo para fazer novas previsões no conjunto de dados mais recente.
- Ajustar o modelo: não é necessário ajustar o modelo básico, no entanto, pode melhorar o desempenho geral do modelo. O processo inclui descongelar algumas camadas do modelo e, em seguida, treiná-lo novamente a uma taxa de aprendizado baixa para lidar com um novo conjunto de dados.
Aplicações de Transfer Learning
O aprendizado de transferência é uma tecnologia emergente que encontra aplicações em diversos campos do aprendizado de máquina. Já está mostrando usos reais. Mergulharemos nas áreas de aplicação do aprendizado por transferência:
1. Processamento de linguagem natural (NLP)
O processamento de linguagem natural refere-se a um sistema capaz de compreender e analisar a linguagem humana em arquivos de áudio ou texto. O principal objetivo da PNL é melhorar a qualidade da interação entre humanos e máquinas. Serviços do dia-a-dia, como assistentes de voz, software de reconhecimento de fala, traduções e assim por diante, dependem do NLP.
O aprendizado de transferência fortalece os modelos de ML que lidam com tarefas de NLP. Por exemplo, a aprendizagem por transferência pode ser empregada para treinar modelos simultaneamente para detectar vários elementos de linguagem, dialetos específicos, frases ou vocabulários.
Além disso, o aprendizado por transferência permite que os modelos se adaptem a vários idiomas. Isso implica que os modelos treinados para o idioma inglês podem ser retreinados e adaptados para outros idiomas ou tarefas semelhantes. O conhecimento de modelos pré-treinados com capacidade de reconhecer sintaxes linguísticas pode ser transferido para outros modelos que podem prever a próxima palavra ou frase, considerando a estrutura das frases anteriores.
Por exemplo, o Google fornece um ‘modelo de tradução neural (GNMT)’ que consegue fazer traduções multilíngues. O modelo usa um pivô ou linguagem comum entre dois idiomas distintos para realizar a tarefa de tradução. Digamos que você pretenda traduzir do russo para o coreano. Nesse caso, você deve primeiro transferir o russo para o inglês e depois o inglês para o coreano. Em sua essência, a técnica usa os dados para aprender o mecanismo de tradução para traduzir melhor entre um par de idiomas.
2. Visão computacional (CV)
A visão computacional permite que os sistemas obtenham significado a partir de dados visuais alimentados por meio de imagens ou vídeos. Os algoritmos de ML treinam em grandes conjuntos de dados (imagens) e se refinam para poder reconhecer imagens ou classificar objetos nas imagens. Nesses casos, o aprendizado por transferência vem à tona, pois assume o controle dos aspectos reutilizáveis de um algoritmo CV e o executa em um modelo mais novo.
O aprendizado de transferência pode usar modelos produzidos a partir de grandes conjuntos de dados de treinamento e aplicá-los a conjuntos de imagens menores. Isso pode incluir a determinação das bordas nítidas dos objetos na coleção de imagens fornecida. Além disso, as camadas que identificam especificamente as bordas nas imagens podem ser determinadas e depois treinadas com base na necessidade.
3. Redes neurais
As redes neurais são fundamentais para o aprendizado profundo, pois são projetadas para simular e replicar as funções do cérebro humano. O treinamento de redes neurais requer uma carga pesada de recursos devido à complexidade dos modelos que elas tendem a fornecer. Assim, o aprendizado por transferência pode ser usado aqui para reduzir a demanda de recursos e, simultaneamente, tornar todo o processo mais eficiente.
Vários recursos transferíveis são movidos de uma rede para outra para ajustar o processo de desenvolvimento do modelo. A aplicação do conhecimento em tarefas é de suma importância na construção de redes neurais.
Vejamos os diferentes setores em que essas técnicas de aprendizagem por transferência baseadas em ML são empregadas.
1. Indústria de condução autônoma
Com o aprendizado por transferência, um modelo treinado para direção autônoma de ônibus pode ser retreinado e reutilizado para direção autônoma de carros. Além disso, o aprendizado por transferência pode ser implementado em veículos autônomos para detectar sinais de trânsito, objetos, carros, caminhões ou ônibus nas estradas.
2. Indústria de jogos
Na área de jogos, o modelo desenvolvido para um jogo, como o AlphaGo da DeepMind, pode ser aplicado a outros jogos, como o xadrez. A transferência de conhecimento entre modelos de jogos é importante, pois reduz o tempo necessário para construir novos modelos para outros jogos.
Outro exemplo é o MadRTS, um jogo comercial de estratégia em tempo real projetado para realizar simulações militares. O MadRTS depende do CARL (aprendizagem por reforço baseada em casos) que preenche as lacunas entre o raciocínio baseado em casos e o aprendizado por reforço (RL). O raciocínio baseado em casos lida com problemas não vistos, mas relacionados, usando experiências passadas, enquanto os algoritmos de RL permitem que o modelo elabore aproximações de diferentes situações com base na experiência do agente.
Os dois módulos, neste caso, usam o aprendizado por transferência para aprimorar a experiência geral de jogo dos jogadores do MadRTS.
3. Setor de saúde
Os sinais eletromiográficos (EMG) que avaliam a resposta muscular têm alguma semelhança com as ondas cerebrais eletroencefalográficas (EEG). Como resultado, os sinais EMG e EEG podem usar o aprendizado de transferência para realizar tarefas como reconhecimento de gestos. Além disso, a imagiologia médica é outra área onde a aprendizagem por transferência pode ser suficientemente explorada. Por exemplo, exames de ressonância magnética podem treinar modelos que detectam especificamente tumores cerebrais a partir de imagens cerebrais escaneadas.
4. E-mails
O aprendizado de transferência pode ser explorado para um modelo de IA treinado para categorizar e-mails para filtrar spam (filtragem de spam).
5. Indústria de comércio eletrônico
No espaço de comércio eletrônico, monitorar e rastrear o comportamento do cliente é crucial para gerar mais vendas. Com o aprendizado por transferência, as organizações agora conseguem se concentrar nas experiências subjetivas do cliente com base na análise de sentimentos. Isso abrange os gostos, desgostos, interesses, pontos de vista e preferências dos clientes para determinados produtos ou serviços. Ele permite que as empresas se aprofundem no feedback e nas avaliações para entender melhor as emoções dos usuários em relação aos serviços oferecidos.
Hoje, as empresas de comércio eletrônico contam com ferramentas automatizadas que ajudam na classificação de sentimentos. O processo converte as opiniões dos usuários em textos, sendo posteriormente classificados em amplas categorias de positivo, negativo ou neutro. Após a análise, as empresas podem delinear planos personalizados para os clientes para aprimorar sua experiência geral de compra. A classificação de sentimento é amplamente utilizada por várias empresas por meio de seus identificadores de mídia social, onde eles extraem, processam e extraem conversas e opiniões de mídia social para compreender melhor os sentimentos do usuário.
Conclusão
O aprendizado por transferência pode efetivamente reduzir os requisitos de processamento de dados e o tempo de desenvolvimento do modelo. No entanto, para ser bem-sucedido, os algoritmos, modelos pré-treinados e conjuntos de dados devem ser fáceis de acessar e bem documentados para que as organizações orientadas a modelos possam se beneficiar disso.
Em resumo, o aprendizado de transferência apenas simplificou e aprimorou os recursos de ML. Tornou o processamento do modelo mais rápido. Como resultado, o investimento de capital necessário para iniciar os processos do zero foi reduzido, com uma redução significativa no tempo gasto na construção do modelo. Devido a essas vantagens, várias empresas em setores verticais da indústria estão interessadas em aplicar o aprendizado por transferência, o que não apenas aumenta seu desempenho, mas também economiza tempo e dinheiro. Seria emocionante testemunhar como as empresas adotam o aprendizado por transferência como uma capacidade de ML para se manterem relevantes no mercado no futuro.