Descobre como as camadas de abandono evitam o sobreajuste em redes neurais, melhorando a generalização, a robustez e o desempenho do modelo.
Uma camada de dropout é uma técnica fundamental usada no treinamento de redes neurais (NN) para combater o problema de sobreajuste. Introduzido por Hinton et al. no seu influente artigo de 2014, o dropout tornou-se um método de regularização amplamente adotado na aprendizagem profunda (DL), particularmente eficaz em grandes redes com muitos parâmetros. O seu principal objetivo é melhorar a capacidade de generalização do modelo, garantindo que tem um bom desempenho em dados não vistos, e não apenas nos dados de treino.
Durante o processo de treinamento do modelo, uma camada de abandono aleatoriamente "deixa de lado" ou desativa uma fração dos neurônios (unidades) nessa camada para cada amostra de treinamento. Isso significa que as saídas desses neurônios selecionados são definidas como zero e não contribuem para a passagem para frente nem participam da etapa de retropropagação para essa amostra específica. A fração de neurônios a serem descartados é determinada pela taxa de descarte, um hiperparâmetro normalmente definido entre 0,2 e 0,5.
Crucialmente, o abandono só está ativo durante o treino. Durante a inferência ou previsão nos dados de teste, todos os neurónios estão activos. Para compensar o facto de haver mais neurónios activos durante a inferência do que durante o treino, as saídas da camada são normalmente reduzidas pela taxa de desistência (uma técnica chamada desistência invertida, normalmente implementada em estruturas como PyTorch e TensorFlow).
A principal vantagem da utilização de camadas de abandono é a melhoria da generalização do modelo e a redução do sobreajuste. Consegue isso através de vários mecanismos:
O abandono é amplamente utilizado em vários domínios da inteligência artificial (IA) e da aprendizagem automática (ML):
O dropout é uma das várias técnicas utilizadas para regularização na aprendizagem profunda. Outras incluem:
Em resumo, a camada de Dropout é uma técnica de regularização simples, mas poderosa, essencial para treinar modelos robustos de aprendizagem profunda em várias aplicações, desde a visão computacional até à PNL.