FSL: O que é Few-Shot-Learning?
Few-Shot Learning (FSL) é um método de aprendizado de máquina em que a inteligência artificial (IA) aprende a fazer previsões precisas com o uso de poucos exemplos rotulados. O FSL é treinado para identificar padrões e características gerais, que podem ser aplicados a diferentes tarefas. O método é especialmente útil em áreas com pouca disponibilidade de dados, como no reconhecimento de imagens e no processamento de linguagem.
O que é Few-Shot Learning?
Few-Shot Learning é um framework de machine learning, ou seja, uma estrutura metodológica que inclui ferramentas e bases de código para treinar modelos de IA a fazer previsões precisas com uma pequena quantidade de dados de treinamento. Enquanto métodos tradicionais de aprendizado de máquina geralmente exigem milhares de pontos de dados para fornecer resultados confiáveis, o Few-Shot Learning visa otimizar o aprendizado com um número mínimo de dados.
O objetivo fundamental do Few-Shot Learning é aprender de maneira eficaz com poucos exemplos. Devido à utilização de poucos dados, o FSL se mostra particularmente valioso em situações nas quais é difícil coletar grandes volumes de dados rotulados. Isso pode ocorrer por causa dos altos custos ou simplesmente pela disponibilidade limitada de exemplos ou amostras, como no caso de doenças raras ou caligrafias únicas.
O Few-Shot Learning pode ser considerado uma subcategoria do N-Shot Learning. Geralmente, o FSL utiliza um sistema de categorização conhecido como N-Way-K-Shot. Nesse contexto, “N” representa o número de classes e “K” o número de exemplos fornecidos para cada classe. Também pertencem a essa área da inteligência artificial o One-Shot Learning (um exemplo rotulado por classe) e o Zero-Shot Learning (nenhum exemplo rotulado). O primeiro é visto como uma variação desafiadora do FSL, enquanto o segundo é tratado como um problema de aprendizado independente.
Como funciona o Few-Shot Learning?
Embora algoritmos específicos e redes neurais sejam capazes de resolver com sucesso várias tarefas de FSL, o Few-Shot Learning é definido principalmente pelo problema de aprendizado em si, e não pelo uso de uma determinada estrutura de modelo. Os métodos de FSL variam amplamente e incluem a adaptação de modelos previamente treinados, o meta-learning e o uso de modelos generativos. A seguir, exploramos esses diferentes enfoques.
Aprendizado por transferência
Os métodos baseados em aprendizado por transferência se concentram em adaptar modelos já treinados para enfrentar novas tarefas. Em vez de treinar um modelo do zero, características e representações previamente aprendidas são transferidas e ajustadas para uma nova tarefa. Isso ajuda a evitar o sobreajuste (overfitting), que é comum no aprendizado supervisionado com poucos exemplos rotulados, especialmente em modelos com muitos parâmetros, como as redes neurais convolucionais.
Um procedimento comum no Few-Shot Learning é configurar um modelo de classificação treinando novas classes de dados com poucos exemplos. Em métodos mais complexos de FSL, muitas vezes ocorre uma adaptação da arquitetura da rede neural. O aprendizado por transferência é particularmente eficaz quando há fortes semelhanças entre a tarefa original e a nova, ou quando o treinamento inicial foi realizado em um contexto semelhante.
Abordagem baseada em dados
O Few-Shot Learning baseado em dados parte da ideia de gerar dados adicionais de treinamento para lidar com o problema da quantidade limitada de amostras. Esse método é prático em situações em que os exemplos retirados do mundo real são extremamente raros, como no caso de espécies recém-descobertas. Quando há amostras suficientemente diversificadas, é possível gerar dados adicionais semelhantes – por exemplo, por meio de modelos generativos, como as redes adversárias generativas. Também é possível combinar a ampliação dos dados com outros métodos, como o Meta-Learning.
Meta-Learning
O Meta-Learning adota uma abordagem mais ampla e indireta do que o aprendizado por transferência clássico e o aprendizado supervisionado, pois o modelo não é treinado apenas para as tarefas correspondentes ao seu uso final. Em vez disso, ele aprende a resolver tarefas a curto prazo dentro de um determinado contexto, reconhecendo padrões e estruturas transversais a longo prazo. Isso permite que o modelo faça previsões sobre o grau de semelhança entre pontos de dados de diferentes classes e aplique essas descobertas para resolver tarefas posteriores.
Meta-Learning baseado em métricas
Os métodos de Meta-Learning baseado em métricas não modelam diretamente os limites de classificação, mas sim valores contínuos para representar uma amostra de dados específica. A capacidade de tirar conclusões baseia-se no aprendizado de novas funções que medem a similaridade entre o valor e os das amostras e classes individuais. Entre os algoritmos de FSL baseados em métricas, destacam-se os seguintes:
- Redes siamesas utilizam aprendizado contrastivo para resolver problemas de classificação binária. Elas verificam se duas amostras formam um par positivo (correspondência) ou negativo (sem correspondência).
- Redes de correspondência também podem realizar classificações múltiplas. Elas usam uma rede neural apropriada para gerar uma incorporação para cada amostra nos conjuntos de suporte e consulta. A classificação é prevista comparando as amostras de suporte e de consulta.
- Redes prototípicas calculam características médias das amostras fornecidas para todas as classes a fim de gerar um protótipo para cada classe. Pontos de dados individuais são categorizados com base em sua proximidade relativa aos protótipos específicos da classe.
- Redes de relações (RN) também utilizam um módulo de incorporação, mas empregam um módulo de relação adicional que gera uma função de distância não linear, adequada ao problema de classificação em questão.
Meta-Learning baseado em otimização
Os métodos de Few-Shot Learning baseados em otimização visam criar parâmetros iniciais de modelos ou hiperparâmetros para redes neurais, que podem ser ajustados de forma eficiente para tarefas específicas. Eles auxiliam o processo de otimização através da meta-otimização (usando outros métodos de otimização), também conhecida como otimização do gradiente descendente.
O método mais conhecido de FSL baseado em otimização é o Meta-Learning Agnóstico ao Modelo (MAML). Esse método não se concentra em uma tarefa específica, sendo adequado para todos os modelos que aprendem por meio de gradiente descendente. Também é possível usar redes LSTM (Long Short-Term Memory) para treinar modelos de Meta-Learning. O diferencial da otimização de incorporação latente (LEO) é que ela aprende uma distribuição generativa de parâmetros de modelos específicos de uma tarefa.
Quais são os principais campos de aplicação do Few-Shot Learning?
O Few-Shot Learning é extremamente versátil, pois diversas indústrias e áreas de pesquisa podem se beneficiar do aprendizado eficiente com poucos exemplos. Os principais campos de aplicação incluem:
- Visão computacional: Muitos dos algoritmos de FSL mais utilizados foram inicialmente desenvolvidos para tarefas de classificação de imagens. Porém, o Few-Shot Learning também é adequado para problemas mais complexos de visão computacional, como a detecção de objetos, em que é necessário identificar e localizar com precisão os componentes individuais de uma imagem.
- Robótica: O Few-Shot Learning tem o potencial de ajudar robôs a se adaptarem mais rapidamente a novos ambientes e a realizar novas tarefas com maior eficiência.
- Processamento de linguagem natural: Os métodos de FSL, especialmente o aprendizado por transferência, ajudam a ajustar large language models (modelos de linguagem de grande escala) treinados com grandes quantidades de dados para tarefas específicas que exigem compreensão contextual, como classificações de texto e análises de sentimento.
- Saúde: Devido à capacidade de aprender rapidamente com classes de dados desconhecidas ou raras, o Few-Shot Learning é ideal para áreas médicas onde a obtenção de exemplos rotulados é desafiadora. Um exemplo clássico é o diagnóstico de doenças raras.
- Setor bancário: Instituições financeiras utilizam algoritmos de FSL para detectar fraudes, identificando padrões ou comportamentos anômalos em transações financeiras, mesmo quando há poucos casos de fraude disponíveis como base de dados.
Quais são os desafios na implementação do Few-Shot Learning
A implementação do Few-Shot Learning traz alguns desafios práticos: um dos maiores obstáculos é o risco de sobreajuste. Modelos com poucos exemplos de treinamento tendem a aprender demais os dados disponíveis, o que resulta em uma má generalização. Além disso, o Few-Shot-Learning exige que os modelos sejam cuidadosamente ajustados e otimizados para se alcançar um bom desempenho.
Além disso, a qualidade dos dados disponíveis é um fator decisivo para o sucesso: Se os poucos exemplos não forem representativos ou contiverem erros, isso pode impactar negativamente o desempenho do modelo. Além disso, a seleção de características adequadas e métodos para expandir o conjunto de dados é desafiadora devido à quantidade limitada de dados. Por fim, os recursos computacionais e o tempo necessário para treinar modelos otimizados de Few-Shot Learning não devem ser subestimados.