A aprendizagem de poucos exemplos é um subcampo da aprendizagem automática (ML) que se centra em permitir que os modelos aprendam e generalizem a partir de um número muito reduzido de exemplos de treino, normalmente apenas um a cinco exemplos por classe. Isto contrasta fortemente com as abordagens tradicionais de Aprendizagem Profunda (AP) que muitas vezes requerem milhares ou milhões de pontos de dados rotulados para alcançar um elevado desempenho. A ideia central é aproveitar o conhecimento prévio, muitas vezes obtido com o treinamento em conjuntos de dados grandes e diversos, para se adaptar rapidamente a novas tarefas ou classes com o mínimo de novos dados. Isto torna-a particularmente valiosa em situações em que a recolha de grandes quantidades de dados rotulados é impraticável, dispendiosa ou demorada.
Conceitos fundamentais
A aprendizagem de poucas oportunidades envolve frequentemente conceitos como:
- Conjunto de apoio: O pequeno conjunto de exemplos rotulados fornecidos para a nova tarefa ou classes.
- Conjunto de consulta: Exemplos não rotulados que o modelo precisa de classificar com base no conjunto de suporte.
- Meta-aprendizagem: Muitas vezes referidas como "aprender a aprender", as técnicas de meta-aprendizagem treinam um modelo numa variedade de tarefas de aprendizagem durante uma fase de meta-treino. Isto permite que o modelo aprenda um algoritmo de aprendizagem eficiente, que pode depois ser rapidamente adaptado a novas tarefas utilizando apenas alguns exemplos. As abordagens mais populares incluem as redes de correspondência e as redes prototípicas.
Relevância e aplicações
A capacidade de aprender a partir de dados limitados torna a Aprendizagem de Poucas Oportunidades altamente relevante em vários domínios:
- Análise de imagens médicas: Diagnosticar doenças raras em que apenas alguns exames de pacientes podem estar disponíveis para treino. Por exemplo, treinar um modelo para a deteção de tumores em imagens médicas quando os exemplos de um tipo específico de tumor raro são escassos.
- Robótica: Ensinar aos robôs novas competências ou capacidades de reconhecimento de objectos com um mínimo de demonstrações, acelerando a implantação em novos ambientes. Um exemplo é treinar um robô para apanhar um novo objeto depois de o mostrar apenas algumas vezes.
- Personalização: Adaptação de modelos como sistemas de recomendação ou interfaces de utilizador às preferências individuais com base em dados de interação muito limitados.
- Visão computacional: Possibilita tarefas como a classificação de imagens ou a deteção de objectos para novas categorias de objectos sem necessitar de uma extensa recolha e anotação de dados. Plataformas como o Ultralytics HUB podem facilitar o treino de modelos, e as técnicas de poucos disparos podem reduzir potencialmente os dados necessários para tarefas personalizadas.
Conceitos relacionados
A aprendizagem com poucos disparos faz parte de um espetro de paradigmas de aprendizagem que lidam com dados limitados:
- Aprendizagem Zero-Shot: Um cenário mais desafiador em que o modelo deve reconhecer classes que nunca viu durante o treinamento, normalmente aproveitando informações auxiliares como descrições de classes ou atributos.
- Aprendizagem One-Shot: Um caso específico de Few-Shot Learning em que apenas um exemplo rotulado é fornecido para cada nova classe.
- Aprendizagem por transferência: Uma técnica mais ampla em que um modelo pré-treinado num grande conjunto de dados (como o ImageNet) é adaptado(afinado) para uma tarefa nova e relacionada. Embora seja frequentemente utilizada como base para a Aprendizagem de poucas oportunidades, a aprendizagem por transferência tradicional pode ainda exigir mais do que apenas um punhado de exemplos para uma adaptação eficaz. Modelos pré-treinados como o Ultralytics YOLO são frequentemente utilizados como ponto de partida para a aprendizagem por transferência na deteção de objectos. Podes explorar a documentaçãoUltralytics para obteres guias sobre a formação e adaptação de modelos.
A aprendizagem de poucos disparos representa um passo significativo em direção a sistemas de Inteligência Artificial (IA) mais eficientes em termos de dados e adaptáveis, capazes de aprender rapidamente em situações novas, tal como os humanos.