Glossário

Época

Aprende sobre épocas na aprendizagem automática - como afectam a formação de modelos, evitam o sobreajuste e optimizam o desempenho com Ultralytics YOLO .

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

Na aprendizagem automática (ML), particularmente no contexto do treino de modelos de aprendizagem profunda, uma época representa uma passagem completa de todo o conjunto de dados de treino através do algoritmo de aprendizagem. O treino de modelos é um processo iterativo em que o modelo aprende padrões ao processar repetidamente os dados. As épocas são um hiperparâmetro fundamental que define o número de vezes que o algoritmo trabalhará em todo o conjunto de dados, permitindo que o modelo aprenda com cada exemplo dentro dos dados várias vezes.

Explicação da época

Durante o processo de treinamento, os parâmetros internos de um modelo, ou pesos, são ajustados com base nos erros que ele comete em suas previsões. Esse ajuste geralmente ocorre usando um algoritmo de otimização como o Gradient Des cent ou suas variantes (por exemplo, Adam Optimizer). Uma época significa que cada amostra no conjunto de dados de treinamento teve a oportunidade de atualizar os parâmetros internos do modelo uma vez. Para grandes conjuntos de dados, o processamento de todo o conjunto de dados de uma só vez é computacionalmente dispendioso, pelo que os dados são frequentemente divididos em pedaços mais pequenos chamados lotes.

Época vs. Iteração vs. Tamanho do lote

É importante distinguir uma época de termos relacionados:

  • Tamanho do lote: Define o número de amostras processadas antes de os pesos do modelo serem actualizados.
  • Iteração: Refere-se ao número de lotes necessários para completar uma época. Se um conjunto de dados tiver 1000 amostras e o tamanho do lote for 100, então uma época requer 10 iterações (1000 amostras / 100 amostras por lote = 10 lotes/iterações). Cada iteração envolve o processamento de um lote e a atualização dos pesos do modelo.
  • Época: Um ciclo completo através de todo o conjunto de dados de treino. No exemplo acima, completar 10 iterações constitui uma época.

Pensa nisto como ler um livro: o livro inteiro é o conjunto de dados, um capítulo é um lote, ler um capítulo é uma iteração e ler o livro inteiro de uma ponta à outra é uma época.

Porque é que as épocas são importantes

O número de épocas é um hiperparâmetro crítico porque determina o número de vezes que o modelo aprende com o conjunto de dados completo.

  • Poucas épocas: Se um modelo for treinado durante muito poucas épocas, pode não ter exposição suficiente aos dados para aprender os padrões subjacentes de forma eficaz. Isto leva a um subajuste, em que o modelo tem um desempenho fraco tanto nos dados de treino como nos dados de teste não vistos.
  • Demasiadas épocas: Por outro lado, o treino de demasiadas épocas pode levar a um sobreajuste. Neste cenário, o modelo aprende demasiado bem os dados de treino, incluindo o seu ruído e detalhes específicos, perdendo a sua capacidade de generalização para dados novos e não vistos. O modelo pode mostrar uma excelente precisão no conjunto de treino, mas ter um desempenho fraco nos dados de validação ou nos dados de teste.

Encontrar o equilíbrio correto é fundamental para obter um bom desempenho e generalização do modelo. Isto envolve frequentemente a monitorização do desempenho do modelo num conjunto de dados de validação separado durante o treino.

Determinação do número de épocas

Não existe um único número "correto" de épocas; o valor ideal depende da complexidade dos dados, do tamanho do conjunto de dados, da arquitetura do modelo e da taxa de aprendizagem. As abordagens comuns incluem:

  • Experimenta: Experimenta diferentes números de épocas e avalia o desempenho.
  • Monitorização de métricas de validação: Acompanha métricas como perda e precisão em um conjunto de validação. O treino é frequentemente interrompido quando estas métricas deixam de melhorar ou começam a degradar-se, uma técnica conhecida como Early Stopping.
  • Ajuste de hiperparâmetros: Procura sistematicamente os melhores hiperparâmetros, incluindo o número de épocas, utilizando frequentemente ferramentas automatizadas ou técnicas como as que se encontram no Ultralytics Hyperparameter Tuning Guide.

Exemplos do mundo real

  1. Deteção de objectos: Ao treinar um Ultralytics YOLO do Ultralytics, como o YOLOv8 ou YOLO11Num conjunto de dados grande como o COCO, o modelo pode ser treinado para um número específico de épocas, digamos 100 ou 300. Durante cada época, o modelo processa todas as imagens do conjunto de treino COCO, ajustando os seus pesos para prever melhor as caixas delimitadoras e as etiquetas de classe dos objectos. Plataformas como o Ultralytics HUB permitem aos utilizadores gerir facilmente este processo de formação e monitorizar o desempenho ao longo das épocas.
  2. Processamento de linguagem natural (NLP): Treinar um modelo linguístico de grandes dimensões como o BERT para uma tarefa como a análise de sentimentos implica alimentar o modelo com grandes quantidades de dados de texto. O treino pode ocorrer num número menor de épocas (por exemplo, 3-10) devido à dimensão dos conjuntos de dados e dos modelos. Cada época garante que o modelo vê todo o corpus de texto uma vez, refinando a sua compreensão das nuances linguísticas relevantes para o sentimento. Estruturas como o Hugging Face Transformers especificam frequentemente contagens de épocas predefinidas para afinação.

Ferramentas e estruturas

As épocas são um parâmetro padrão na maioria das estruturas de aprendizagem profunda:

  • PyTorch: Treinar loops em PyTorch itera explicitamente sobre épocas e lotes.
  • TensorFlow: APIs de alto nível como Keras dentro de TensorFlow permite que os utilizadores especifiquem o número de épocas diretamente no fit método.
  • Ultralytics HUB: Fornece uma interface de fácil utilização para modelos de treino como o YOLO, onde os utilizadores podem configurar facilmente o número de épocas e monitorizar visualmente o progresso do treino.

As épocas são a pedra angular da aprendizagem iterativa em ML, equilibrando a necessidade de exposição suficiente aos dados com os riscos de sobreajuste. Selecionar o número certo de épocas, muitas vezes através de uma experimentação e monitorização cuidadosas, conforme discutido em recursos como o curso CS231n de Stanford ou o blogue Machine Learning Mastery, é fundamental para criar modelos eficazes. Podes encontrar mais definições em recursos como o Glossário de aprendizagem automáticaGoogle .

Lê tudo