Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Época (Epoch)

Saiba mais sobre épocas no aprendizado de máquina - como elas afetam o treinamento do modelo, evitam o ajuste excessivo e otimizam o desempenho com o Ultralytics YOLO.

Uma época representa um ciclo completo através de todo o conjunto de dados de treino por um algoritmo de aprendizagem automática. Durante esse processo, o modelo tem a oportunidade de atualizar os seus parâmetros internos com base em cada amostra dos dados exatamente uma vez. No contexto do aprendizado profundo, uma única passagem raramente é suficiente para que uma rede neural aprenda padrões complexos de forma eficaz. Portanto, o treinamento normalmente envolve várias épocas, permitindo que o algoritmo de aprendizado refine iterativamente a sua compreensão e minimize o erro entre as suas previsões e a verdade real.

O papel das épocas na otimização

O objetivo principal do treinamento é ajustar os pesos do modelo para minimizar uma função de perda específica . Algoritmos de otimização, como descida de gradiente estocástico (SGD) ou o Adam , usam o erro calculado durante cada época para orientar esses ajustes. À medida que o número de épocas aumenta, o modelo geralmente muda de um estado de alto erro (adivinhação aleatória) para um erro menor (padrões aprendidos).

No entanto, selecionar o número correto de épocas é um aspeto crítico do ajuste de hiperparâmetros.

  • Épocas insuficientes: isso pode levar ao subajuste, em que o modelo ainda não capturou a tendência subjacente dos dados.
  • Demasiadas épocas: isto resulta frequentemente em sobreajuste, em que o modelo memoriza o ruído do treino em vez de generalizar para novos dados. Para evitar isto, os programadores monitorizam frequentemente o desempenho nos dados de validação e empregam técnicas como a interrupção precoce para interromper o treino quando a generalização deixa de melhorar.

Época vs. Lote vs. Iteração

É comum que os iniciantes confundam "época" com termos relacionados. Compreender a hierarquia desses conceitos é essencial para configurar os loops de treino corretamente:

  • Época: Uma passagem completa pelo conjunto de dados completo.
  • Lote: Um subconjunto do conjunto de dados processado simultaneamente. Como os conjuntos de dados costumam ser grandes demais para caber na GPU de uma só vez, eles são divididos em grupos menores, definidos pelo tamanho do lote.
  • Iteração: uma única atualização dos pesos do modelo. Se um conjunto de dados tiver 1.000 imagens e o tamanho do lote for 100, serão necessárias 10 iterações para completar uma época.

Aplicações no Mundo Real

O número de épocas necessárias varia drasticamente dependendo da complexidade da tarefa e do tamanho dos dados.

  • Análise de imagens médicas: Na análise de imagens médicas, como a deteção de tumores em exames de ressonância magnética, a precisão é fundamental. Os modelos treinados para essas tarefas geralmente são executados por centenas de épocas. Esse treinamento extensivo garante que a rede neural convolucional (CNN) possa discernir anomalias sutis que distinguem tecido maligno de tecido saudável, potencialmente salvando vidas.
  • Condução autónoma: Para veículos autónomos, os modelos de deteção de objetos devem identificar com fiabilidade peões, sinais e outros veículos. O treino destes sistemas robustos envolve normalmente conjuntos de dados massivos, como COCO ou Objects365. Embora o tamanho do conjunto de dados seja enorme, o modelo ainda requer várias épocas para convergir em uma solução que se generalize bem para diversas condições climáticas e de iluminação.

Gerir ciclos de formação com código

Ao utilizar frameworks modernos como o Ultralytics YOLO, definir o número de épocas é um argumento simples no comando de treino. Ferramentas como a Ultralytics podem ajudar a visualizar as curvas de perda em cada época para identificar o ponto de paragem ideal.

O exemplo a seguir demonstra como definir a contagem de épocas ao treinar um modelo YOLO26:

from ultralytics import YOLO

# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Train the model for 50 epochs
# The 'epochs' argument determines how many times the model sees the entire dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

Neste snippet, o epochs=50 O argumento instrui o mecanismo de treino a percorrer o coco8.yaml conjunto de dados 50 vezes distintas. Durante cada ciclo, o modelo executa propagação para a frente e retropropagação para aperfeiçoar as suas capacidades de deteção .

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora