Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Semi-Supervised Learning

A aprendizagem semissupervisionada treina com alguns exemplos rotulados e muitos não rotulados para reduzir os custos de rotulagem. Abrange pseudorrotulagem, consistência e código.

A aprendizagem semissupervisionada treina um modelo com um pequeno conjunto de exemplos rotulados e um conjunto muito maior de exemplos sem rótulos, usando os dados sem rótulos para alcançar uma precisão superior à que os rótulos, por si só, permitem. Situa-se entre a aprendizagem supervisionada, em que cada exemplo de treino tem um rótulo, e a aprendizagem não supervisionada, em que nenhum tem. Esta abordagem é adequada à visão computacional, porque as câmaras recolhem imagens a baixo custo, enquanto a rotulagem de dados, como desenhar caixas ou máscaras ou registar um diagnóstico, exige tempo humano e, muitas vezes, conhecimento especializado. O FixMatch atingiu 88,61% de precisão no benchmark de imagens CIFAR-10 com apenas 4 imagens rotuladas por classe, e o Noisy Student elevou a precisão top-1 do ImageNet para 88,4%, acrescentando pseudorrótulos a 300 milhões de imagens sem rótulos.

Como funciona a aprendizagem semissupervisionada#

Os dados sem rótulos ajudam porque revelam a forma da distribuição dos dados. Os métodos partem do princípio de que exemplos próximos numa região densa partilham um rótulo; por isso, a fronteira de decisão entre classes deve passar por regiões esparsas, onde há poucos exemplos. Três famílias de métodos põem isto em prática.

A pseudorrotulagem, também chamada autoaprendizagem, treina um modelo com os dados rotulados, aplica-o aos dados sem rótulos e mantém as previsões acima de um limiar de confiança como dados de treino adicionais. Nas variantes professor-estudante, o modelo treinado torna-se um professor que rotula o conjunto, e um estudante, muitas vezes tão grande ou maior do que o professor, treina com os dados reais e os pseudorrótulos, passando a ser o professor seguinte:

A regularização de consistência exige que um modelo produza a mesma previsão para diferentes perturbações da mesma imagem sem rótulos, como dois aumentos de dados diferentes. O FixMatch combina as duas ideias: cria um pseudorrótulo para uma versão com um aumento fraco, mas apenas quando o modelo tem confiança, e treina o modelo para prever esse rótulo numa versão da mesma imagem com um aumento forte. Os métodos baseados em grafos ligam exemplos semelhantes num grafo e propagam os rótulos conhecidos ao longo das suas arestas. O principal risco é o enviesamento de confirmação: os pseudorrótulos incorretos entram no treino e, depois, são previstos com ainda mais confiança. Por isso, os métodos usam limiares elevados, aumentos fortes ou um professor cujos pesos são uma média móvel lenta dos pesos do estudante.

Este exemplo de scikit-learn mantém os rótulos de apenas 2 imagens por algarismo e compara um classificador supervisionado, treinado com essas 20 imagens, com a propagação de rótulos, um método baseado em grafos que também usa as 1 237 imagens de treino sem rótulos:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.semi_supervised import LabelSpreading

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X / 16, y, test_size=0.3, random_state=0, stratify=y)

# Keep the labels of only 2 training images per digit; -1 marks every other image as unlabeled
labeled = np.concatenate([np.flatnonzero(y_train == digit)[:2] for digit in range(10)])
y_partial = np.full_like(y_train, -1)
y_partial[labeled] = y_train[labeled]

# Supervised baseline trains on the 20 labeled images; label spreading also uses the unlabeled ones
supervised = LogisticRegression(max_iter=5000).fit(X_train[labeled], y_train[labeled])
semi_supervised = LabelSpreading(kernel="knn", n_neighbors=10).fit(X_train, y_partial)
print(f"Supervised, 20 labeled images: {supervised.score(X_test, y_test):.3f}")
print(f"Semi-supervised, 20 labeled + {(y_partial == -1).sum()} unlabeled: {semi_supervised.score(X_test, y_test):.3f}")

Nos 540 algarismos reservados para teste, o classificador supervisionado obtém 0,800 e a propagação de rótulos obtém 0,919, com os mesmos 20 rótulos, porque as imagens sem rótulos ligam cada exemplo rotulado a muitas imagens semelhantes do mesmo algarismo.

Aprendizagem semissupervisionada em visão computacional#

A pseudorrotulagem entre professor e aluno se estende a tarefas cujos rótulos são mais caros de desenhar, como máscaras de segmentação de instâncias e mapas de profundidade. Métodos semissupervisionados de detecção de objetos, como o Unbiased Teacher, mantêm pseudocaixas confiáveis de um professor, e o Depth Anything treinou um modelo de estimativa monocular de profundidade com cerca de 62 milhões de imagens sem rótulos que um modelo professor rotulou automaticamente. Os modelos de profundidade Ultralytics YOLO26 foram pré-treinados da mesma forma: 1.281.167 imagens de treinamento do ImageNet, sem valores de referência de profundidade, receberam mapas de profundidade pseudorrotulados por modelos professor Depth Anything 3 e representaram cerca de 58% de uma mistura de 2,19 milhões de imagens que também inclui conjuntos de dados reais de profundidade de referência. Modelos de linguagem visual também podem atuar como professores, rotulando objetos apenas a partir dos nomes das classes, e o VLM Leaderboard compara a precisão com que anotam conjuntos de dados de detecção do mundo real. Para detecção, um modelo YOLO26 grande pode atuar como professor e gravar suas predições confiáveis como arquivos de rótulos no formato YOLO, uma forma simples de rotulagem automática:

from ultralytics import YOLO
from ultralytics.utils import ASSETS

# Um modelo YOLO26 grande pré-treinado atua como professor
teacher = YOLO("yolo26x.pt")

# Rotula uma pasta de imagens sem rótulos; apenas as deteções com confiança superior a 0.5 tornam-se pseudorrótulos
# save_txt=True escreve um ficheiro de rótulos .txt no formato YOLO por imagem, pronto para treinar um modelo estudante
results = teacher.predict(source=ASSETS, conf=0.5, save_txt=True)
  • Aprendizagem ativa: Seleciona as imagens sem rótulos mais informativas e envia-as a um anotador humano. A aprendizagem semissupervisionada rotula automaticamente o conjunto, e muitos pipelines de rotulagem combinam as duas abordagens.
  • Aprendizagem autossupervisionada: Faz o pré-treino apenas com dados sem rótulos, usando alvos derivados dos próprios dados, e utiliza rótulos apenas depois, na afinação. A aprendizagem semissupervisionada usa dados rotulados e sem rótulos na mesma execução de treino.
  • Aprendizagem por transferência: Parte de um modelo pré-treinado noutro conjunto de dados. Combina-se com a aprendizagem semissupervisionada, uma vez que um modelo pré-treinado é um melhor primeiro professor.
  • Destilação de conhecimento: Treina um estudante para reproduzir as saídas de um professor, normalmente para comprimir o modelo. A pseudorrotulagem usa a mesma estrutura professor-estudante para adicionar dados de treino, e o Noisy Student treinou estudantes tão grandes ou maiores do que os professores, adicionando ruído durante o treino, e superou em 2,0% o melhor modelo ImageNet anterior, que tinha sido pré-treinado com 3,5 mil milhões de imagens do Instagram com rótulos fracos.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina