Os dados de validação são um componente crucial no ciclo de vida do desenvolvimento do modelo de aprendizagem automática (ML). Trata-se de uma parte separada do seu conjunto de dados, distinta dos dados de treino utilizados para ajustar inicialmente o modelo e dos dados de teste utilizados para a avaliação final. O principal objetivo dos dados de validação é fornecer uma avaliação imparcial do ajuste de um modelo no conjunto de dados de treino, enquanto afina os hiperparâmetros do modelo e toma decisões sobre a própria arquitetura do modelo. Este processo ajuda a selecionar a melhor configuração do modelo antes de avaliar o seu desempenho final em dados não vistos.
Papel no desenvolvimento de modelos
Durante a fase de treino, um modelo de ML aprende padrões a partir dos dados de treino. No entanto, a simples avaliação do modelo com base nos mesmos dados com que aprendeu pode ser enganadora, resultando frequentemente em estimativas de desempenho demasiado optimistas devido ao sobreajuste - em que o modelo aprende demasiado bem os dados de treino, incluindo o seu ruído e peculiaridades específicas, dificultando a sua capacidade de generalização a novos dados. Os dados de validação funcionam como um substituto para os dados não vistos durante o treino. Ao avaliar o desempenho do modelo no conjunto de validação em intervalos regulares (por exemplo, após cada época), os programadores podem:
- Ajusta os hiperparâmetros: Ajusta configurações como taxa de aprendizado, tamanho do lote ou a complexidade do modelo (por exemplo, número de camadas em uma rede neural). Explora técnicas como o guia Ajuste de hiperparâmetros.
- Selecionar modelos: Compara diferentes algoritmos ou arquitecturas para ver qual tem o melhor desempenho no conjunto de validação.
- Evita o sobreajuste: Implementa uma paragem antecipada, em que o treino é interrompido quando o desempenho no conjunto de validação começa a degradar-se, mesmo que o desempenho no conjunto de treino ainda esteja a melhorar. Leia mais em Dicas para treinamento de modelos.
Dados de validação vs. Dados de treino e teste
Compreender a distinção entre conjuntos de dados de treino, validação e teste é fundamental:
- Dados de treino: A maior parte do conjunto de dados, utilizada diretamente pelo algoritmo para aprender padrões e ajustar os seus parâmetros internos(pesos do modelo).
- Dados de validação: Uma porção de tamanho médio usada iterativamente durante o treinamento para ajustar os hiperparâmetros e tomar decisões de seleção de modelos. Fornece feedback sobre o grau de generalização do modelo com base no estado de treino atual.
- Dados de teste: Uma parte mais pequena, completamente separada, retida até ao final do processo de desenvolvimento. Fornece a avaliação final e imparcial do desempenho do modelo escolhido em dados verdadeiramente não vistos. Crucialmente, o conjunto de teste não deve influenciar quaisquer decisões de treino ou afinação para garantir uma avaliação fiável do desempenho esperado do modelo no mundo real.
Importância e benefícios
A utilização de um conjunto de validação dedicado é essencial para a criação de modelos de ML robustos e fiáveis. Os principais benefícios incluem:
- Generalização melhorada: Ajuda a garantir que o modelo tem um bom desempenho não apenas nos dados em que foi treinado, mas também em dados novos e não vistos.
- Comparação objetiva de modelos: Fornece uma base justa para comparar diferentes modelos ou definições de hiperparâmetros.
- Prevenção de sobreajuste: Actua como um sistema de alerta precoce para detetar quando um modelo está a começar a memorizar os dados de treino em vez de aprender padrões gerais. Um guia detalhado sobre Avaliação de modelos e ajuste fino pode fornecer mais contexto.
Exemplos do mundo real
- Deteção de objectos com o Ultralytics YOLO: Quando treinas um Ultralytics YOLO para detetar objectos como carros e peões para uma aplicação de condução autónoma, os dados de treino consistem em milhares de imagens rotuladas. O conjunto de validação, que contém imagens diferentes com objectos semelhantes, é utilizado após cada época de treino para calcular métricas como a precisão média (mAP). Este mAP de validação orienta os ajustes aos hiperparâmetros (por exemplo, taxa de aprendizagem, intensidade de aumento de dados) utilizando ferramentas como o Ultralytics HUB para encontrar a configuração que produz o melhor desempenho no conjunto de validação antes do teste final.
- Análise de imagens médicas: Suponhamos que estás a desenvolver uma Rede Neuronal Convolucional (CNN) para classificar tumores em exames cerebrais utilizando um conjunto de dados como o Brain Tumor dataset. O conjunto de validação seria usado para comparar diferentes arquiteturas de CNN (por exemplo, ResNet vs. VGG) ou ajustar parâmetros como taxas de desistência. Ao otimizar com base na precisão da validação ou na pontuação F1, os investigadores podem selecionar o modelo mais promissor sem comprometer a integridade da avaliação final do conjunto de testes, crucial para aplicações clínicas reguladas por organismos como a FDA.
Técnicas que envolvem dados de validação
Por vezes, especialmente com dados limitados, uma única divisão de validação pode não ser representativa. Técnicas como a validação cruzada resolvem este problema. Na validação cruzada K-Fold, os dados de treino são divididos em "k" subconjuntos (dobras). O modelo é treinado "k" vezes, cada vez utilizando uma dobra diferente como conjunto de validação e as restantes k-1 dobras para treino. O desempenho médio das 'k' dobras de validação dá-te uma estimativa mais robusta da capacidade de generalização do modelo. Podes encontrar implementações em bibliotecas como a Scikit-learn.
Os dados de validação são indispensáveis para orientar o desenvolvimento de modelos eficazes de visão computacional e outros modelos de ML, garantindo que estão bem afinados e são capazes de generalizar para novos desafios para além do conjunto de dados de treino.