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

Curriculum Learning

A aprendizagem curricular treina modelos primeiro com exemplos mais fáceis e acrescenta exemplos mais difíceis ao longo do tempo, com base em uma pontuação de dificuldade e uma função de ritmo.

A aprendizagem por currículo é uma estratégia de treino de aprendizagem automática que apresenta exemplos numa ordem significativa, geralmente dos mais fáceis para os mais difíceis, em vez de os amostrar uniformemente ao acaso. À semelhança de um currículo escolar, permite que uma rede neural aprenda padrões amplos e simples com exemplos nítidos antes de encontrar exemplos ambíguos, complexos ou ruidosos. Bengio et al. apresentaram a ideia para a aprendizagem profunda em 2009, defendendo que começar por exemplos fáceis orienta a otimização de uma função de perda não convexa para mínimos melhores; também relataram melhorias significativas na generalização em tarefas de reconhecimento de formas e modelação de linguagem.

Como funciona a aprendizagem curricular#

Um currículo precisa de dois componentes, a que Hacohen e Weinshall chamam função de pontuação e função de progressão. A função de pontuação ordena os dados de treino por dificuldade, recorrendo a heurísticas humanas como o tamanho do objeto, a oclusão ou o comprimento da frase, à confiança de um modelo professor pré-treinado ou à perda do modelo em treino. A função de progressão decide com que rapidez exemplos mais difíceis entram no conjunto usado para treinar o modelo, por exemplo, começando pelos 20% mais fáceis e aumentando linearmente até incluir todo o conjunto de dados. O trecho de código abaixo atribui pontuações a um conjunto de dados de exemplo com um modelo professor e treina um modelo aluno com um conjunto crescente que começa pelos exemplos mais fáceis, usando scikit-learn:

import numpy as np
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression, SGDClassifier

# A toy dataset with 10% flipped labels, so some samples are genuinely hard
X, y = make_classification(n_samples=2000, n_features=20, flip_y=0.1, random_state=0)

# Scoring function: a teacher's confidence in each true label, sorted easiest first
teacher = LogisticRegression(max_iter=1000).fit(X, y)
confidence = teacher.predict_proba(X)[np.arange(len(y)), y]
order = np.argsort(-confidence)

# Pacing function: start with the easiest 20% and add 20% more each epoch
student = SGDClassifier(random_state=0)
for epoch in range(5):
    pool = order[: int((0.2 + 0.2 * epoch) * len(order))]
    student.partial_fit(X[pool], y[pool], classes=[0, 1])
    print(f"Epoch {epoch}: {len(pool)} samples, mean teacher confidence {confidence[pool].mean():.2f}")

O conjunto aumenta de 400 para 2.000 amostras, e a confiança média do modelo professor desce de 0.99 para 0.89 quando os 20% finais, mais difíceis, são incluídos na última época.

A aprendizagem autocontrolada elimina a necessidade de um professor, permitindo que o modelo crie o seu próprio currículo a partir da perda atual; é uma das principais famílias de currículos no artigo de revisão de Soviany et al.. Em cada ronda, as amostras que o modelo já consegue processar bem entram no conjunto de treino, e o limiar de perda aumenta até incluir todas as amostras.

Quando a aprendizagem por currículo é útil#

Os currículos ajudam menos vezes do que sugere a intuição. Em milhares de execuções de treino, Wu, Dyer e Neyshabur encontraram apenas benefícios marginais em benchmarks de imagem padrão, nos quais dados ordenados aleatoriamente num conjunto crescente tiveram resultados tão bons como uma ordem dos mais fáceis para os mais difíceis. Os currículos melhoraram os resultados quando o orçamento de tempo de treino era limitado ou os rótulos eram ruidosos, situações em que os profissionais mais frequentemente os utilizam.

Aplicações no mundo real#

Na aprendizagem por reforço para robótica, os currículos aumentam a dificuldade das tarefas à medida que o agente melhora. A OpenAI treinou uma mão robótica para resolver um cubo de Rubik com aleatorização automática do domínio, que alargava os intervalos da física e da aparência simuladas sempre que a política tinha um desempenho suficientemente bom no intervalo atual.

Em visão computacional, um currículo para deteção de objetos pode começar com objetos grandes e sem oclusões e, mais tarde, incluir cenas com objetos pequenos, aglomerados ou mal iluminados. O treino da Ultralytics YOLO26 também altera o foco ao longo do tempo: a perda de ponta a ponta muda o peso em cada época, passando da cabeça densa de um-para-muitos para a cabeça de um-para-um usada por nms=False, e close_mosaic=10 desativa mosaic, mixup, CutMix e a ampliação de dados por cópia e colagem nas 10 épocas finais, para que o treino termine com imagens semelhantes às entradas reais. Na análise de imagens médicas, o treino pode começar com exames em que os anotadores especialistas concordam e incluir depois os casos ambíguos, uma abordagem adequada a situações com rótulos ruidosos, nas quais os currículos são mais úteis.

  • Aprendizagem contínua: acrescenta novas tarefas ou distribuições de dados ao longo do tempo e tem de evitar esquecer as anteriores. A aprendizagem por currículo reordena os dados de uma única tarefa fixa.
  • Aprendizagem ativa: escolhe quais os exemplos sem rótulo a enviar para anotação, enquanto a aprendizagem por currículo ordena exemplos que já têm rótulos.
  • Aprendizagem por transferência: pré-treina com um conjunto de dados geral e grande e, em seguida, faz o ajuste fino para uma tarefa-alvo diferente, pelo que a própria tarefa muda entre as etapas.
  • Seleção de negativos difíceis: a mineração de exemplos difíceis dá prioridade aos exemplos em que o modelo mais falha, o oposto de um currículo que começa pelos mais fáceis. A mineração online de exemplos difíceis (OHEM) para detetores Fast R-CNN propaga os gradientes apenas pelas propostas de regiões com a perda mais elevada em cada imagem.

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