One-Shot Learning
Explora a Aprendizagem One-Shot em IA. Aprende a classificar objetos a partir de uma única imagem usando o Ultralytics YOLO26 e redes siamesas para uma visão computacional eficiente.
One-Shot Learning é uma técnica de classificação especializada em machine learning (ML) projetada para aprender informações sobre categorias de objetos a partir de um único exemplo de treinamento. Ao contrário dos algoritmos tradicionais de deep learning (DL), que requerem enormes datasets contendo milhares de imagens anotadas para generalizar de forma eficaz, o One-Shot Learning imita a capacidade cognitiva humana de captar um novo conceito instantaneamente. Por exemplo, uma pessoa geralmente consegue reconhecer uma ave exótica específica após vê-la apenas uma vez; essa metodologia tenta replicar essa eficiência em sistemas de artificial intelligence (AI). É particularmente valioso em cenários onde a data labeling é cara, os dados são escassos ou novas categorias precisam ser adicionadas dinamicamente sem treinar novamente todo o modelo.
Link to this sectionMecanismos por trás do conceito#
O princípio central do One-Shot Learning envolve mudar o objetivo da classificação padrão para a avaliação de similaridade. Em vez de treinar uma neural network (NN) para gerar um rótulo de classe específico (por exemplo, "cachorro" ou "gato"), o modelo aprende uma função de distância. Uma arquitetura comum empregada para isso é a Siamese neural network, que consiste em duas sub-redes idênticas que compartilham os mesmos model weights.
Durante a operação, a rede realiza feature extraction para converter imagens de entrada em vetores numéricos compactos conhecidos como embeddings. O sistema então compara o embedding de uma nova imagem de consulta com o embedding do único "shot" de referência. Se a distância matemática — frequentemente calculada usando Euclidean distance ou cosine similarity — estiver abaixo de um determinado limite, determina-se que as imagens pertencem à mesma classe. Isso permite que o modelo verifique a identidade ou classifique objetos com base em sua proximidade no espaço de características aprendido.
O seguinte código em Python demonstra como extrair embeddings e calcular a similaridade usando um modelo de classificação YOLO26 do pacote ultralytics.
import numpy as np
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")
# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]
# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))
print(f"Similarity Score: {similarity:.4f}")Link to this sectionDistinguindo paradigmas relacionados#
É importante diferenciar o One-Shot Learning de outras técnicas de aprendizagem eficientes em termos de dados, pois elas resolvem problemas semelhantes através de restrições diferentes:
- Few-Shot Learning (FSL): Esta é a categoria mais ampla que engloba o One-Shot Learning. No FSL, o modelo recebe um pequeno "conjunto de suporte" de exemplos, normalmente variando de duas a cinco imagens por classe. O One-Shot Learning é simplesmente o caso extremo em que o tamanho do conjunto de suporte é exatamente um.
- Zero-Shot Learning (ZSL): O ZSL lida com o reconhecimento de categorias que o modelo nunca viu visualmente. Em vez de uma imagem de referência, o ZSL depende de atributos semânticos ou descrições de texto (por exemplo, identificar uma "zebra" associando características visuais à descrição de texto "cavalo listrado") via natural language processing (NLP).
- Transfer Learning: Isso envolve pegar um modelo pré-treinado em um grande banco de dados como o ImageNet e ajustá-lo para uma nova tarefa. Embora o transfer learning impulsione os extratores de características usados no One-Shot Learning, o transfer learning padrão geralmente requer mais de um exemplo para atualizar os pesos efetivamente sem overfitting.
Link to this sectionAplicações no Mundo Real#
O One-Shot Learning desbloqueou capacidades em setores onde coletar grandes quantidades de training data é impraticável.
Link to this sectionReconhecimento facial e segurança#
A aplicação mais ubíqua do One-Shot Learning é na segurança biométrica. Ao configurar o Face ID em um smartphone ou ao se cadastrar em um sistema de acesso de funcionários, o dispositivo captura uma única representação matemática do rosto do usuário. Durante o uso diário, o sistema de facial recognition compara o feed da câmera ao vivo com esse "one shot" armazenado para verificar a identidade. Isso depende de técnicas robustas de embedding, como as discutidas na pesquisa fundamental do FaceNet, para garantir que mudanças na iluminação ou no ângulo não invalidem a correspondência de similaridade.
Link to this sectionControlo de Qualidade Industrial#
Em AI in manufacturing, criar um dataset equilibrado de peças "defeituosas" é difícil porque os defeitos são raros e inconsistentes. O One-Shot Learning permite que sistemas de computer vision (CV) aprendam a representação de uma única peça de referência "perfeita". Qualquer item na linha de montagem que gere um embedding significativamente distante dessa referência é sinalizado para anomaly detection. Isso permite a garantia de qualidade imediata sem precisar de milhares de imagens de peças quebradas, as quais podem ser gerenciadas e implantadas através da Ultralytics Platform.
Link to this sectionDesafios e Perspectivas Futuras#
Embora poderoso, o One-Shot Learning é suscetível a ruído; se a única imagem de referência estiver embaçada, obstruída ou não for representativa, a capacidade do modelo de reconhecer aquela classe diminui significativamente. Pesquisadores frequentemente empregam meta-learning, ou "aprender a aprender", para melhorar a estabilidade e a generalização do modelo. À medida que as arquiteturas evoluem, modelos mais novos como o YOLO26 estão incorporando extratores de características mais robustos que tornam a inferência one-shot mais rápida e precisa, abrindo caminho para dispositivos de edge AI mais adaptáveis e inteligentes.






