Blog / AI
AI

O que é o Few-Shot Learning?

Explore como a aprendizagem de poucos disparos treina modelos de IA com dados limitados para fornecer soluções eficientes e reais.
11 min de leitura
What is Few-Shot Learning blog image

A aprendizagem com poucos disparos vem transformando a IA e a aprendizagem automática. Com a aprendizagem de poucos disparos, os algoritmos são treinados em pequenos conjuntos de dados. Se você precisa treinar um modelo de IA com dados limitados, o few-shot pode ser a solução que você está procurando.

Onde o Few-Shot Learning é usado?

O aprendizado de poucos disparos está sendo aplicado no mundo real em praticamente todos os lugares. Independentemente de você precisar de um LLM de propósito geral ou apenas de uma raspagem com IA, o aprendizado de poucos disparos será usado em seu modelo em pelo menos algum grau.

  • aqui
  • Robótica: Ao aprender a pegar coisas, os robôs autônomos não precisam de grandes conjuntos de dados. Eles experimentam o processo e, em seguida, fazem generalizações.
  • Tecnologia personalizada: Os teclados de telefones e os relógios de fitness usam o aprendizado de poucos disparos de forma muito eficaz.
  • Produtos farmacêuticos: Ao descobrir novos medicamentos, os cientistas geralmente usam conjuntos de dados muito limitados. O aprendizado de poucas tentativas pode ser aproveitado nos primeiros testes para acelerar o processo.
  • Processamento de idiomas: Os linguistas e arqueólogos geralmente precisam lidar com idiomas mortos e não utilizados. As fontes de primeira mão desses escritos são escassas. A IA pode usar o aprendizado de poucas tentativas para ajudar a decifrar esses idiomas.
  • Reconhecimento de imagens: O reconhecimento facial requer aprendizado com poucas fotos. A maioria das pessoas não vai treinar uma IA usando milhares de fotos de uma única pessoa. Esse mesmo conceito também se aplica a espécies raras e ameaçadas de extinção.

Aprendizado de poucos disparos vs. outros paradigmas

A aprendizagem de poucas tentativas faz parte de uma família mais ampla de técnicas de aprendizagem de máquina chamada aprendizagem de n tentativas. Com a aprendizagem n-shot, n representa o número de exemplos rotulados por classe em que um modelo é treinado.

Aqui estão alguns outros exemplos de aprendizado n-shot.

  • Zero-Shot: Um modelo usa o conhecimento prévio para adivinhar uma classe que ainda não viu. Imagine um modelo treinado em cavalos e tigres. Esse modelo nunca viu uma zebra antes, mas pode inferir que um cavalo com listras é uma zebra.
  • One-Shot: Um modelo é treinado em apenas um exemplo por classe. Quando um smartphone aprende seu rosto a partir de uma única foto e permite que você desbloqueie a tela, isso é aprendizado de uma única vez.

Como funciona o Few-Shot Learning?

Poucos disparos são mais abrangentes do que zero disparos e um disparo, mas ainda dependem de conjuntos de dados muito limitados. Com os dados de treinamento corretos, os modelos podem rapidamente fazer generalizações para identificar padrões e tendências.

Semelhante a seus parentes de disparo zero e disparo único, a aprendizagem de poucos disparos é construída com base nos seguintes princípios.

  • Aproveitamento do conhecimento prévio: Os modelos usam o conhecimento e o treinamento de tarefas anteriores para identificar padrões em dados novos e não vistos.
  • Adaptação específica à tarefa: Os modelos alteram suas representações internas (classes) e seu processo de tomada de decisão para lidar adequadamente com novos dados com exemplos limitados.
  • Generalização a partir de pequenos conjuntos de dados: Com dados de treinamento cuidadosamente selecionados, os modelos podem se generalizar com eficiência depois de ver apenas algumas amostras.

Tipos de aprendizado com poucos disparos

O aprendizado de poucos disparos não é definitivo. Ele faz parte de um setor de IA maior e em constante evolução. Entretanto, o setor chegou a um consenso geral sobre as técnicas listadas nas próximas seções.

Aprendizagem por transferência

Diagrama de aprendizagem por transferência

Quando um modelo aprende com uma tarefa e usa esse conhecimento em uma nova tarefa, isso é chamado de “Aprendizagem por transferência”. Assim como as pessoas, a IA pode usar experiências passadas para se adaptar a novas situações. O conhecimento do modelo é transferido e se torna relevante ao tentar realizar a nova tarefa.

Imagine que você ensina uma IA a jogar Call of Duty. Em seguida, você precisa desse modelo para jogar Fortnite. Ele já sabe como mirar, mover-se e usar a estratégia de combate. A experiência anterior do modelo com Call of Duty dá a ele uma chance maior de sucesso ao jogar Fortnite.

A aprendizagem por transferência não se limita à IA ou à aprendizagem de máquina. Os seres humanos utilizam a aprendizagem por transferência todos os dias. A aprendizagem por transferência foi o principal impulsionador da revolução agrícola. Os seres humanos pré-históricos aprenderam a cultivar determinados tipos de alimentos. Em seguida, nossos ancestrais transferiram essas habilidades para todos os outros alimentos de origem vegetal que puderam encontrar. Por fim, eles aplicaram esses mesmos princípios na domesticação do gado.

Ampliação de dados

Diagrama de aumento de dados

Para expandir o aprendizado de poucos disparos, podemos usar o aumento de dados. No mundo real, geralmente geramos dados fictícios com semelhanças com os dados reais. Isso geralmente envolve adicionar aleatoriedade e ruído aos dados fictícios.

A interpolação e a extrapolação tornam o aumento de dados mais fácil de entender. Observe o gráfico abaixo. Como você pode ver, temos apenas quatro dados reais. Nossa linha pontilhada usa esses pontos para criar um padrão. Usando esses pontos de plotagem, podemos extrapolar que se X=5, Y=10 e se X=0, Y=0. Podemos interpolar que quando X=1,5, Y=3.

Ampliação de dados usando um gráfico

Podemos identificar tendências em nossos dados limitados. Depois de entendermos as tendências, podemos gerar infinitos dados adicionais seguindo as regras estabelecidas pelos dados originais. Uma fórmula (Y = 2X) aumenta nosso conjunto de dados de 4 fotos em um conjunto infinito de pontos.

No mundo real, nada é perfeito e exemplos como o citado acima geralmente não existem. Imagine treinar uma IA em cavalos. Você tem uma foto real de um cavalo marrom. Você faz uma edição inteligente e agora tem fotos de um cavalo vermelho, um cavalo preto, um cavalo branco e uma zebra. A partir de sua única foto de cavalo, você gerou um conjunto de dados muito maior.

Você pode saber mais sobre o aumento de dados aqui.

Aprendizagem Meta

Diagrama de meta-aprendizagem

A meta-aprendizagem tem mais a ver com a solução de problemas do que com os dados reais. Com a meta-aprendizagem, um modelo é ensinado a dividir problemas maiores em problemas menores e a usar estratégias diferentes para tipos diferentes de problemas. Pense na ordem das operações que você aprendeu no ensino fundamental.

Veja o seguinte problema: (2+(2*3))/4=? Para resolver esse problema, precisamos decompô-lo.

(2+(2*3))/4=?

  1. 2*3=6. Agora podemos simplificar isso para (2 + 6)/4.
  2. 2+6=8. Nosso problema agora é 8/4.
  3. 8/4=2. A cadeia de problemas menores se conecta para provar que (2+(2*3))/4=2.

Ao dividir o problema maior em etapas menores, podemos chegar à conclusão de que nossa resposta é 2. Quando ensinamos às máquinas que elas podem resolver problemas grandes dividindo-os em problemas menores. Em seguida, ela usa estratégias apropriadas para cada um dos problemas menores. Isso é chamado de meta-aprendizagem. A máquina aprende estratégias de solução de problemas que podem ser aplicadas a uma infinidade de cenários diferentes.

Vamos dar uma olhada em outro exemplo que você aprendeu desde cedo. Uma frase precisa começar com uma letra maiúscula e terminar com um sinal de pontuação. Quando um modelo aprende isso, ele não aprende apenas a escrever uma frase. O modelo aprende a comunicar efetivamente todas as suas ideias de uma forma que os humanos possam ler e entender.

Como nos outros exemplos acima, a meta-aprendizagem foi usada pelas pessoas por centenas de milhares de anos antes de ser adaptada à aprendizagem automática.

Aprendizado de métricas

Diagrama de aprendizado de métricas

Com o aprendizado métrico, um modelo é ensinado a comparar as semelhanças entre os dados em vez de simplesmente atribuir rótulos a eles. Em seguida, ele usa uma função para comparar métricas e ver a proximidade entre os novos dados e os dados vistos anteriormente. O Teachable Machine nos permite fazer experimentos com imagens e ver como o treinamento métrico realmente funciona.

Imagine que treinamos um modelo usando um conjunto de fotos de gatos. O modelo analisa essas imagens e aprende a comparar diferentes recursos, como pelo, bigodes e formato da orelha.

Quando o modelo termina o treinamento, damos a ele uma nova imagem de gato. Ele compara os dados dessa nova imagem com os dados de treinamento. Depois de examinar os pontos de dados no pelo, nos bigodes e no formato da orelha, ele calculará uma pontuação de similaridade. Se a nova imagem for 98% semelhante aos dados anteriores, o modelo determinará que é altamente provável que a imagem seja de um gato.

Se o modelo tiver sido treinado usando outros métodos para dizer “gatos são fofos”, depois de ter 98% de certeza de que essa nova imagem é um gato, ele poderá executar a lógica adicional de outros tipos de treinamento e dizer: “sua foto de gato é fofa!”

Problemas inerentes ao aprendizado com poucos disparos

Ao lidar com o aprendizado de poucos disparos, os pequenos conjuntos de dados são tanto um ponto forte quanto um ponto fraco. A aprendizagem automática apresenta várias armadilhas. Para evitar os problemas abaixo, os modelos menores precisam ser treinados usando os conceitos que abordamos nas seções anteriores.

Generalização

Os modelos de poucos disparos podem funcionar bem com coisas como reconhecimento facial, mas ao lidar com cenários totalmente novos, eles geralmente falham quando os dados não são suficientemente semelhantes aos que eles já viram.

Um LLM tradicional recebe milhões, às vezes até bilhões ou trilhões de pontos de dados. Isso permite que o modelo lide efetivamente com outliers e faça previsões decentes ao lidar com dados que nunca viu antes.

Se um modelo tiver visto apenas um punhado de imagens de gatos desenhados a lápis, é bem possível que ele não consiga reconhecer a imagem de um gato do mundo real. Sem um conjunto de dados robusto, o modelo nem sempre pode fazer generalizações robustas.

Diversidade de dados

Pequenos conjuntos de dados geralmente não capturam a verdadeira diversidade presente em conjuntos de dados maiores. Imagine que um modelo tenha sido treinado em um pequeno conjunto de pessoas e que todos os seus endereços estejam nos EUA. Esse modelo provavelmente se tornará tendencioso e presumirá que todas as pessoas são dos EUA. Você pode atenuar esse problema com conjuntos de dados amplos e diversificados. Nossos conjuntos de dados podem ajudá-lo a melhorar o desempenho do seu modelo.

No final da década de 2010, esse problema atormentava os modelos de IA em todo o mundo. Às vezes, esse problema ainda se faz presente na IA moderna. Quando um modelo é treinado nas mídias sociais, ele geralmente capta os preconceitos que vê nas mídias sociais. Todos nós já ouvimos histórias sobre os bots de IA racistas do final da década de 2010. É assim que isso acontece.

Representação de recursos

O problema da diversidade de dados é uma faca de dois gumes. Pense em nosso modelo hipotético que reconhece animais. Se esse modelo aprender apenas que todos os gatos têm quatro patas, ele verá a foto de um cavalo e decidirá que ele é incrivelmente semelhante a um gato.

Se um modelo de reconhecimento facial aprende que um rosto tem olhos, orelhas, boca e nariz, mas não foi ensinado a comparar adequadamente esses recursos com seus dados de treinamento, o modelo apresentará resultados incorretos (e, às vezes, perigosos). Se qualquer pessoa com esses recursos puder desbloquear seu telefone, isso criará um enorme problema de segurança.

Conclusão

O aprendizado de poucos disparos pode reduzir sua necessidade de grandes conjuntos de dados. Os seres humanos têm usado o aprendizado de poucos disparos desde o início. Só recentemente o adaptamos para a IA. Existem alguns obstáculos. A generalização, a diversidade de dados e a representação de recursos apresentam grandes obstáculos na criação de modelos pequenos. A aprendizagem por transferência, o aumento de dados, a meta-aprendizagem e a aprendizagem métrica nos dão ótimas ferramentas para superar esses desafios, não apenas em modelos grandes, mas também em modelos pequenos.