Descubra como as camadas de dropout previnem o overfitting em redes neurais, melhorando a generalização, a robustez e o desempenho do modelo.
Uma camada de desistência é uma técnica de técnica de regularização fundamental usada em redes neurais (NN) para evitar o problema comum de sobreajuste. Quando um modelo é treinado num conjunto de dados, de dados, corre o risco de aprender o ruído e os pormenores específicos dos dados de treino em vez dos padrões gerais subjacentes. padrões gerais subjacentes. Esta memorização leva a um fraco desempenho em dados novos e não vistos. A desistência resolve este problema desactivando aleatoriamente - ou "abandonando" - uma fração dos neurónios de uma camada durante cada passo do do processo de formação. Esta estratégia simples, mas eficaz, foi introduzida num num trabalho de investigação seminal de Geoffrey Hinton e seus colegas, fazendo avançar significativamente o domínio da aprendizagem profunda (DL).
O mecanismo subjacente a uma camada de abandono é simples mas poderoso. Durante a fase de fase de treino do modelo, a camada gera uma máscara de zeros e uns com base numa probabilidade especificada, conhecida como taxa de desistência. Se a taxa for definida como 0,5, Se a taxa for definida para 0,5, aproximadamente 50% dos neurónios são temporariamente ignorados durante essa passagem para a frente e para trás. Isto força os Isso força os neurônios ativos remanescentes a se adiantarem e aprenderem caraterísticas robustas de forma independente, evitando que a rede dependa demasiado em um único neurónio - um fenómeno conhecido como co-adaptação.
Durante a inferência, ou a fase de teste, a camada de abandono é normalmente desligada. Todos os neurónios estão activos para utilizar a capacidade total do modelo treinado. Para para garantir que os valores totais de ativação permaneçam consistentes com a fase de treino, os pesos são frequentemente automaticamente pela estrutura. Bibliotecas modernas como PyTorch tratam estas operações sem problemas na sua implementação de implementação do dropout.
Para os utilizadores do ultralytics aplicando o dropout a um modelo como
YOLO11 é tão simples como ajustar um argumento de treino.
from ultralytics import YOLO
# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on a dataset with a custom dropout rate of 0.2
# This helps prevent overfitting on smaller datasets
results = model.train(data="coco8.yaml", epochs=10, dropout=0.2)
O abandono é indispensável em vários domínios da inteligência artificial (IA) em que os modelos os modelos são susceptíveis de sobreajustamento devido a um grande número de parâmetros ou a dados limitados.
Compreender como o dropout difere de outras técnicas é crucial para uma eficaz dos hiperparâmetros.