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.
O One-Shot Learning é uma técnica de classificação especializada em machine learning (ML) concebida para aprender informações sobre categorias de objetos a partir de um único exemplo de treino. Ao contrário dos algoritmos tradicionais de deep learning (DL), que exigem datasets massivos contendo milhares de imagens anotadas para generalizar eficazmente, o One-Shot Learning imita a capacidade cognitiva humana de captar um novo conceito instantaneamente. Por exemplo, uma pessoa consegue habitualmente reconhecer um determinado pássaro exótico após vê-lo apenas uma vez; esta metodologia tenta replicar essa eficiência em sistemas de artificial intelligence (AI). É particularmente valiosa em cenários onde a data labeling é dispendiosa, os dados são escassos ou novas categorias têm de ser adicionadas dinamicamente sem re treinar todo o modelo.
Mecanismos por trás do conceito#
O princípio central do One-Shot Learning passa por mudar o objetivo da classificação padrão para a avaliação de semelhança. Em vez de treinar uma neural network (NN) para produzir uma etiqueta de classe específica (por exemplo, "cão" ou "gato"), o modelo aprende uma função de distância. Uma arquitetura comum utilizada para este efeito é a Siamese neural network, que consiste em duas sub-redes idênticas que partilham os mesmos model weights.
Durante a operação, a rede realiza a feature extraction para converter imagens de entrada em vetores numéricos compactos conhecidos como embeddings. O sistema compara então o embedding de uma nova imagem de consulta com o embedding da única "fotografia" de referência. Se a distância matemática — frequentemente calculada utilizando a Euclidean distance ou a cosine similarity — estiver abaixo de um determinado limiar, determina-se que as imagens pertencem à mesma classe. Isto permite que o modelo verifique a identidade ou classifique objetos com base na sua proximidade no espaço de características aprendido.
O seguinte código Python demonstra como extrair embeddings e calcular a semelhança utilizando 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}")Distinguindo 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, é fornecido ao modelo um pequeno "conjunto de suporte" de exemplos, tipicamente variando entre 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 baseia-se em atributos semânticos ou descrições de texto (por exemplo, identificar uma "zebra" associando caraterísticas visuais à descrição de texto "cavalo com riscas") através de natural language processing (NLP).
- Transfer Learning: Isto envolve pegar num modelo pré-treinado numa base de dados grande como o ImageNet e ajustá-lo finamente numa nova tarefa. Embora a aprendizagem por transferência alimente os extratores de características utilizados no One-Shot Learning, a aprendizagem por transferência padrão requer habitualmente mais do que um exemplo para atualizar os pesos eficazmente sem overfitting.
Aplicações no Mundo Real#
O One-Shot Learning desbloqueou capacidades em setores onde a recolha de vastas quantidades de training data é impraticável.
Reconhecimento facial e segurança#
A aplicação mais ubíqua do One-Shot Learning encontra-se na segurança biométrica. Ao configurar o Face ID num smartphone ou ao registar-se num sistema de acesso de funcionários, o dispositivo captura uma única representação matemática do rosto do utilizador. Durante a utilização diária, o sistema de facial recognition compara o feed da câmara em direto com esta "única fotografia" armazenada para verificar a identidade. Isto baseia-se em técnicas robustas de embedding, tais como as discutidas na investigação fundamental FaceNet research, para garantir que as alterações na iluminação ou no ângulo não quebram a correspondência de semelhança.
Controlo 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 os 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 produza um embedding significativamente distante desta referência é sinalizado para anomaly detection. Isto permite uma garantia de qualidade imediata sem necessitar de milhares de imagens de peças partidas, que podem ser geridas e implementadas através da Ultralytics Platform.
Desafios e Perspectivas Futuras#
Embora poderoso, o One-Shot Learning é suscetível a ruído; se a única imagem de referência estiver desfocada, obstruída ou não for representativa, a capacidade do modelo para reconhecer essa classe degrada-se significativamente. Os investigadores empregam frequentemente o meta-learning, ou "aprender a aprender", para melhorar a estabilidade e a generalização do modelo. À medida que as arquiteturas evoluem, modelos mais recentes como o YOLO26 estão a incorporar extratores de características mais robustos que tornam a inferência de one-shot mais rápida e precisa, abrindo caminho para dispositivos de edge AI mais adaptáveis e inteligentes.






