Few-Shot Learning (FSL) é um método de apren­di­zado de máquina em que a in­te­li­gên­cia ar­ti­fi­cial (IA) aprende a fazer previsões precisas com o uso de poucos exemplos rotulados. O FSL é treinado para iden­ti­fi­car padrões e ca­rac­te­rís­ti­cas gerais, que podem ser aplicados a di­fe­ren­tes tarefas. O método é es­pe­ci­al­mente útil em áreas com pouca dis­po­ni­bi­li­dade de dados, como no re­co­nhe­ci­mento de imagens e no pro­ces­sa­mento de linguagem.

O que é Few-Shot Learning?

Few-Shot Learning é um framework de machine learning, ou seja, uma estrutura me­to­do­ló­gica que inclui fer­ra­men­tas e bases de código para treinar modelos de IA a fazer previsões precisas com uma pequena quan­ti­dade de dados de trei­na­mento. Enquanto métodos tra­di­ci­o­nais de apren­di­zado de máquina ge­ral­mente exigem milhares de pontos de dados para fornecer re­sul­ta­dos con­fiá­veis, o Few-Shot Learning visa otimizar o apren­di­zado com um número mínimo de dados.

O objetivo fun­da­men­tal do Few-Shot Learning é aprender de maneira eficaz com poucos exemplos. Devido à uti­li­za­ção de poucos dados, o FSL se mostra par­ti­cu­lar­mente valioso em situações nas quais é difícil coletar grandes volumes de dados rotulados. Isso pode ocorrer por causa dos altos custos ou sim­ples­mente pela dis­po­ni­bi­li­dade limitada de exemplos ou amostras, como no caso de doenças raras ou ca­li­gra­fias únicas.

Soluções de IA
Mais poder digital com In­te­li­gên­cia Ar­ti­fi­cial
  • Online em segundos
  • Aumente seu cres­ci­mento com marketing de IA
  • Economize tempo e recursos

O Few-Shot Learning pode ser con­si­de­rado uma sub­ca­te­go­ria do N-Shot Learning. Ge­ral­mente, o FSL utiliza um sistema de ca­te­go­ri­za­ção conhecido como N-Way-K-Shot. Nesse contexto, “N” re­pre­senta o número de classes e “K” o número de exemplos for­ne­ci­dos para cada classe. Também pertencem a essa área da in­te­li­gên­cia ar­ti­fi­cial o One-Shot Learning (um exemplo rotulado por classe) e o Zero-Shot Learning (nenhum exemplo rotulado). O primeiro é visto como uma variação de­sa­fi­a­dora do FSL, enquanto o segundo é tratado como um problema de apren­di­zado in­de­pen­dente.

Como funciona o Few-Shot Learning?

Embora al­go­rit­mos es­pe­cí­fi­cos e redes neurais sejam capazes de resolver com sucesso várias tarefas de FSL, o Few-Shot Learning é definido prin­ci­pal­mente pelo problema de apren­di­zado em si, e não pelo uso de uma de­ter­mi­nada estrutura de modelo. Os métodos de FSL variam am­pla­mente e incluem a adaptação de modelos pre­vi­a­mente treinados, o meta-learning e o uso de modelos ge­ne­ra­ti­vos. A seguir, ex­plo­ra­mos esses di­fe­ren­tes enfoques.

Apren­di­zado por trans­fe­rên­cia

Os métodos baseados em apren­di­zado por trans­fe­rên­cia se con­cen­tram em adaptar modelos já treinados para enfrentar novas tarefas. Em vez de treinar um modelo do zero, ca­rac­te­rís­ti­cas e re­pre­sen­ta­ções pre­vi­a­mente apren­di­das são trans­fe­ri­das e ajustadas para uma nova tarefa. Isso ajuda a evitar o so­bre­a­juste (over­fit­ting), que é comum no apren­di­zado su­per­vi­si­o­nado com poucos exemplos rotulados, es­pe­ci­al­mente em modelos com muitos pa­râ­me­tros, como as redes neurais con­vo­lu­ci­o­nais.

Um pro­ce­di­mento comum no Few-Shot Learning é con­fi­gu­rar um modelo de clas­si­fi­ca­ção treinando novas classes de dados com poucos exemplos. Em métodos mais complexos de FSL, muitas vezes ocorre uma adaptação da ar­qui­te­tura da rede neural. O apren­di­zado por trans­fe­rên­cia é par­ti­cu­lar­mente eficaz quando há fortes se­me­lhan­ças entre a tarefa original e a nova, ou quando o trei­na­mento inicial foi realizado em um contexto se­me­lhante.

Abordagem baseada em dados

O Few-Shot Learning baseado em dados parte da ideia de gerar dados adi­ci­o­nais de trei­na­mento para lidar com o problema da quan­ti­dade limitada de amostras. Esse método é prático em situações em que os exemplos retirados do mundo real são ex­tre­ma­mente raros, como no caso de espécies recém-des­co­ber­tas. Quando há amostras su­fi­ci­en­te­mente di­ver­si­fi­ca­das, é possível gerar dados adi­ci­o­nais se­me­lhan­tes – por exemplo, por meio de modelos ge­ne­ra­ti­vos, como as redes ad­ver­sá­rias ge­ne­ra­ti­vas. 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 apren­di­zado por trans­fe­rên­cia clássico e o apren­di­zado su­per­vi­si­o­nado, pois o modelo não é treinado apenas para as tarefas cor­res­pon­den­tes ao seu uso final. Em vez disso, ele aprende a resolver tarefas a curto prazo dentro de um de­ter­mi­nado contexto, re­co­nhe­cendo padrões e es­tru­tu­ras trans­ver­sais a longo prazo. Isso permite que o modelo faça previsões sobre o grau de se­me­lhança entre pontos de dados de di­fe­ren­tes classes e aplique essas des­co­ber­tas para resolver tarefas pos­te­ri­o­res.

Meta-Learning baseado em métricas

Os métodos de Meta-Learning baseado em métricas não modelam di­re­ta­mente os limites de clas­si­fi­ca­ção, mas sim valores contínuos para re­pre­sen­tar uma amostra de dados es­pe­cí­fica. A ca­pa­ci­dade de tirar con­clu­sões baseia-se no apren­di­zado de novas funções que medem a si­mi­la­ri­dade entre o valor e os das amostras e classes in­di­vi­du­ais. Entre os al­go­rit­mos de FSL baseados em métricas, destacam-se os seguintes:

  • Redes siamesas utilizam apren­di­zado con­tras­tivo para resolver problemas de clas­si­fi­ca­ção binária. Elas verificam se duas amostras formam um par positivo (cor­res­pon­dên­cia) ou negativo (sem cor­res­pon­dên­cia).
  • Redes de cor­res­pon­dên­cia também podem realizar clas­si­fi­ca­ções múltiplas. Elas usam uma rede neural apro­pri­ada para gerar uma in­cor­po­ra­ção para cada amostra nos conjuntos de suporte e consulta. A clas­si­fi­ca­ção é prevista com­pa­rando as amostras de suporte e de consulta.
  • Redes pro­to­tí­pi­cas calculam ca­rac­te­rís­ti­cas médias das amostras for­ne­ci­das para todas as classes a fim de gerar um protótipo para cada classe. Pontos de dados in­di­vi­du­ais são ca­te­go­ri­za­dos com base em sua pro­xi­mi­dade relativa aos pro­tó­ti­pos es­pe­cí­fi­cos da classe.
  • Redes de relações (RN) também utilizam um módulo de in­cor­po­ra­çã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 clas­si­fi­ca­ção em questão.

Meta-Learning baseado em oti­mi­za­ção

Os métodos de Few-Shot Learning baseados em oti­mi­za­ção visam criar pa­râ­me­tros iniciais de modelos ou hi­per­pa­râ­me­tros para redes neurais, que podem ser ajustados de forma eficiente para tarefas es­pe­cí­fi­cas. Eles auxiliam o processo de oti­mi­za­ção através da meta-oti­mi­za­ção (usando outros métodos de oti­mi­za­ção), também conhecida como oti­mi­za­ção do gradiente des­cen­dente.

O método mais conhecido de FSL baseado em oti­mi­za­ção é o Meta-Learning Agnóstico ao Modelo (MAML). Esse método não se concentra em uma tarefa es­pe­cí­fica, sendo adequado para todos os modelos que aprendem por meio de gradiente des­cen­dente. Também é possível usar redes LSTM (Long Short-Term Memory) para treinar modelos de Meta-Learning. O di­fe­ren­cial da oti­mi­za­ção de in­cor­po­ra­ção latente (LEO) é que ela aprende uma dis­tri­bui­ção ge­ne­ra­tiva de pa­râ­me­tros de modelos es­pe­cí­fi­cos de uma tarefa.

Quais são os prin­ci­pais campos de aplicação do Few-Shot Learning?

O Few-Shot Learning é ex­tre­ma­mente versátil, pois diversas in­dús­trias e áreas de pesquisa podem se be­ne­fi­ciar do apren­di­zado eficiente com poucos exemplos. Os prin­ci­pais campos de aplicação incluem:

  • Visão com­pu­ta­ci­o­nal: Muitos dos al­go­rit­mos de FSL mais uti­li­za­dos foram ini­ci­al­mente de­sen­vol­vi­dos para tarefas de clas­si­fi­ca­ção de imagens. Porém, o Few-Shot Learning também é adequado para problemas mais complexos de visão com­pu­ta­ci­o­nal, como a detecção de objetos, em que é ne­ces­sá­rio iden­ti­fi­car e localizar com precisão os com­po­nen­tes in­di­vi­du­ais de uma imagem.
  • Robótica: O Few-Shot Learning tem o potencial de ajudar robôs a se adaptarem mais ra­pi­da­mente a novos ambientes e a realizar novas tarefas com maior efi­ci­ên­cia.
  • Pro­ces­sa­mento de linguagem natural: Os métodos de FSL, es­pe­ci­al­mente o apren­di­zado por trans­fe­rên­cia, ajudam a ajustar large language models (modelos de linguagem de grande escala) treinados com grandes quan­ti­da­des de dados para tarefas es­pe­cí­fi­cas que exigem com­pre­en­são con­tex­tual, como clas­si­fi­ca­ções de texto e análises de sen­ti­mento.
  • Saúde: Devido à ca­pa­ci­dade de aprender ra­pi­da­mente com classes de dados des­co­nhe­ci­das ou raras, o Few-Shot Learning é ideal para áreas médicas onde a obtenção de exemplos rotulados é de­sa­fi­a­dora. Um exemplo clássico é o di­ag­nós­tico de doenças raras.
  • Setor bancário: Ins­ti­tui­ções fi­nan­cei­ras utilizam al­go­rit­mos de FSL para detectar fraudes, iden­ti­fi­cando padrões ou com­por­ta­men­tos anômalos em tran­sa­ções fi­nan­cei­ras, mesmo quando há poucos casos de fraude dis­po­ní­veis como base de dados.

Quais são os desafios na im­ple­men­ta­ção do Few-Shot Learning

A im­ple­men­ta­ção do Few-Shot Learning traz alguns desafios práticos: um dos maiores obs­tá­cu­los é o risco de so­bre­a­juste. Modelos com poucos exemplos de trei­na­mento tendem a aprender demais os dados dis­po­ní­veis, o que resulta em uma má ge­ne­ra­li­za­ção. Além disso, o Few-Shot-Learning exige que os modelos sejam cui­da­do­sa­mente ajustados e oti­mi­za­dos para se alcançar um bom de­sem­pe­nho.

Além disso, a qualidade dos dados dis­po­ní­veis é um fator decisivo para o sucesso: Se os poucos exemplos não forem re­pre­sen­ta­ti­vos ou con­ti­ve­rem erros, isso pode impactar ne­ga­ti­va­mente o de­sem­pe­nho do modelo. Além disso, a seleção de ca­rac­te­rís­ti­cas adequadas e métodos para expandir o conjunto de dados é de­sa­fi­a­dora devido à quan­ti­dade limitada de dados. Por fim, os recursos com­pu­ta­ci­o­nais e o tempo ne­ces­sá­rio para treinar modelos oti­mi­za­dos de Few-Shot Learning não devem ser su­bes­ti­ma­dos.

Ir para o menu principal