Glossário

Chamada de retorno

Explora o papel essencial das chamadas de retorno na aprendizagem automática - ferramentas que monitorizam, controlam e automatizam a formação de modelos para uma maior precisão, flexibilidade e eficiência.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

No aprendizado de máquina, particularmente durante o complexo processo de treinamento de redes neurais, um retorno de chamada é um utilitário poderoso. É essencialmente um objeto ou função concebido para executar acções específicas em várias fases de um procedimento, geralmente durante a formação ou avaliação do modelo. Pensa em retornos de chamada como ganchos ou acionadores automatizados que permitem monitorar estados internos, observar estatísticas do modelo, tomar decisões ou executar código personalizado sem interromper manualmente o processo de treinamento. Eles fornecem um mecanismo crucial para personalizar e controlar o comportamento de loops de treinamento e outras operações sequenciais em estruturas populares de aprendizado profundo (DL), como TensorFlow e PyTorch.

Como funcionam as chamadas de retorno

Os callbacks funcionam com base num sistema orientado por eventos. Elas são tipicamente passadas como uma lista para uma função principal, como um train dentro de um método aprendizagem automática (ML) estrutura. A estrutura foi concebida para chamar estas chamadas de retorno em pontos específicos, conhecidos como "eventos". Os eventos comuns incluem o início ou o fim de todo o processo de formação, o início ou o fim de um épocaou mesmo antes ou depois de processar um único tamanho do lote de dados. Quando ocorre um evento específico, a estrutura executa a(s) função(ões) de retorno de chamada correspondente(s), passando frequentemente informações relevantes sobre o estado atual - como o número da época atual, função de perda valor, ou métricas de desempenho - como argumentos. Isto permite que a chamada de retorno interaja dinamicamente com o processo em curso e o influencie com base em informações em tempo real.

Principais aplicações e casos de utilização

As chamadas de retorno são incrivelmente versáteis e permitem uma vasta gama de funcionalidades essenciais para o desenvolvimento e formação de modelos eficazes:

  • Monitorização do desempenho do modelo: Acompanha métricas como perda e precisão nos dados de treinamento e nos dados de validação durante o treinamento. Os resultados podem ser registados na consola, guardados em ficheiros ou visualizados utilizando ferramentas como o TensorBoard.
  • Verifica o modelo: Salva automaticamente os pesos do modelo periodicamente, muitas vezes salvando apenas a versão de melhor desempenho com base em uma métrica escolhida (por exemplo, precisão ou perda de validação). Isso garante que o melhor modelo não seja perdido se o treinamento for interrompido ou se o desempenho piorar posteriormente.
  • Paragem antecipada: Monitoriza uma métrica de desempenho (como a perda de validação) e interrompe automaticamente o processo de formação se a métrica deixar de melhorar durante um número definido de épocas. Isto evita o sobreajuste e poupa recursos computacionais.
  • Ajustes dinâmicos: Modifica os parâmetros de formação em tempo real. Um exemplo comum é ajustar dinamicamente a taxa de aprendizagem com base no progresso da formação, reduzindo-a frequentemente quando o desempenho atinge um patamar (programação da taxa de aprendizagem).
  • Registo e relatórios: Envia registos, métricas e actualizações do progresso da formação para sistemas de monitorização externos ou plataformas de acompanhamento de experiências como Weights & Biases ou Ultralytics HUB, auxiliando nas práticas de MLOps.
  • Gestão de recursos: Implementa lógica personalizada para gerir os recursos do sistema, como limpar GPU em intervalos específicos. Encontra mais sugestões no nosso guia sobre Dicas de treino de modelos.

Exemplos na prática

  1. Guardar o melhor modelo de deteção de objectos: Ao treinar um Ultralytics YOLO do Ultralytics para deteção de objectos, podes utilizar uma chamada de retorno ModelCheckpoint. Essa chamada de retorno monitora a precisão média média (mAP) no conjunto de dados de validação. Salva os pesos do modelo em um arquivo somente quando a pontuação mAP melhora em comparação com a melhor pontuação salva anteriormente, garantindo que você mantenha o modelo mais preciso da sessão de treinamento. Compara os diferentes desempenhos do modelo YOLO na nossa página de comparação de modelos.
  2. Evitar o sobreajuste na classificação de imagens: Imagina treinar um modelo para classificação de imagens num conjunto de dados complexo como o ImageNet. Uma chamada de retorno EarlyStopping pode ser configurada para monitorar a perda de validação. Se a perda de validação não diminuir por, digamos, 10 épocas consecutivas, a chamada de retorno interrompe automaticamente o treinamento. Isso evita que o modelo se ajuste demais aos dados de treinamento e economiza tempo e custos significativos de treinamento. Explora mais as tarefas de classificação de imagens.

Benefícios da utilização de callbacks

A integração de chamadas de retorno no fluxo de trabalho da aprendizagem automática oferece várias vantagens significativas:

  • Automatização: As chamadas de retorno automatizam tarefas repetitivas como guardar modelos, registar métricas e ajustar parâmetros, reduzindo a necessidade de intervenção manual durante longos períodos de treino.
  • Flexibilidade e personalização: Permitem que os programadores insiram lógica personalizada no ciclo de treino sem modificar o código da estrutura central, permitindo comportamentos de treino altamente personalizados. Isso é particularmente útil para experiências complexas ou ajuste de hiperparâmetros.
  • Eficiência: As chamadas de retorno, como a paragem antecipada e o ajuste dinâmico da taxa de aprendizagem, podem tornar a formação mais eficiente, poupando recursos computacionais e acelerando potencialmente a convergência.
  • Perceção e monitorização: Proporcionam uma visão profunda da dinâmica da formação, permitindo o registo detalhado e a visualização de métricas ao longo do tempo.
  • Reprodutibilidade: Ao normalizar as acções realizadas durante a formação (por exemplo, critérios de gravação, condições de paragem), as chamadas de retorno contribuem para experiências de aprendizagem automática mais reprodutíveis.

Estruturas como Keras e PyTorch Lightning oferecem colecções extensas de callbacks incorporadas e interfaces simples para criar callbacks personalizadas. Ultralytics também utiliza as callbacks internamente nos seus pipelines de formação, contribuindo para a robustez e a facilidade de utilização de ferramentas como Ultralytics YOLO11 e a plataforma Ultralytics HUB. Consulta a documentaçãoUltralytics para obteres exemplos mais específicos relacionados com a formação do modelo YOLO .

Lê tudo