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 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.
É comum que os iniciantes confundam "época" com termos relacionados. Compreender a hierarquia desses conceitos é essencial para configurar os loops de treino corretamente:
O número de épocas necessárias varia drasticamente dependendo da complexidade da tarefa e do tamanho dos dados.
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
.