A função do abandono é aumentar a robustez do modelo e também remover quaisquer dependências simples entre os neurônios.
Os neurônios são removidos apenas para uma única passagem para frente e para trás através da rede - o que significa que seus pesos são sinteticamente ajustados a zero para esse passe e, portanto, seus erros também, o que significa que os pesos não são atualizados. O abandono também funciona como uma forma de regularização , pois está penalizando o modelo por sua complexidade.
Eu recomendaria ler a seção Dropout no livro Deep Learning de Michael Nielsen (gratuito e online), que fornece uma boa intuição e também tem diagramas / explicações muito úteis. Ele explica que:
O abandono é uma técnica radicalmente diferente para regularização. Diferentemente da regularização L1 e L2, o abandono não depende da modificação da função de custo. Em vez disso, no abandono, modificamos a própria rede.
Aqui está um bom artigo de resumo . Desse artigo:
Algumas observações:
- O abandono obriga uma rede neural a aprender recursos mais robustos que são úteis em conjunto com muitos subconjuntos aleatórios diferentes dos outros neurônios.
- O abandono dobra aproximadamente o número de iterações necessárias para convergir. No entanto, o tempo de treinamento para cada época é menor.
- Com H unidades ocultas, cada uma das quais pode ser descartada, temos 2 ^ H modelos possíveis. Na fase de teste, toda a rede é considerada e cada ativação é reduzida por um fator p.
Exemplo
Imagine que eu peça para você me fazer uma xícara de chá - você sempre pode usar a mão direita para derramar a água, o olho esquerdo para medir o nível da água e, em seguida, a mão direita novamente para mexer o chá com uma colher. Isso significaria que a mão esquerda e o olho direito não servem para nada. O uso de abandono, por exemplo, amarraria sua mão direita atrás das costas, forçando-o a usar sua mão esquerda. Agora, depois de me preparar 20 xícaras de chá, com um olho ou uma mão fora de ação, você fica melhor treinado para usar tudo o que está disponível. Talvez mais tarde você seja forçado a fazer chá em uma pequena cozinha, onde só é possível usar a chaleira com o braço esquerdo ... e depois de usar o abandono, você tem experiência nisso! Você se tornou mais robusto para dados invisíveis.
O abandono não remove realmente os neurônios, é apenas que esses neurônios em particular não desempenham nenhum papel (não são ativados) para um determinado lote de dados.
Exemplo - Suponha que exista uma estrada de 8 faixas - Quando os caminhões chegam, eles passam pelas faixas 1,2,4,6,7, quando os carros chegam, eles passam pelas faixas 2,3,4,7,8 e quando as bicicletas chegam , eles passam pelas faixas 1,2,5,8. Portanto, independentemente de qualquer veículo, todas as faixas estão lá, mas apenas algumas são usadas.
Da mesma forma, todos os neurônios são usados em todo o modelo, mas apenas um subconjunto de neurônios é ativado para um lote específico de dados. E o modelo não é reduzido posteriormente, a complexidade do modelo permanece como está.
Por que usar a desistência?
Conforme apresentado no livro Deep learning de Ian Goodfellow,
Ele também diz:
Este livro diz:
fonte
Outra maneira de observar o que a evasão faz é que ela é como um slab-and-spike anterior ao coeficiente de uma covariável (que é um termo de interação complexo das covariáveis originais com algumas transformações funcionais complicadas) em um modelo bayesiano. Essa é a interpretação proposta por Yarin Gal em sua tese (veja sua lista de publicações ).
Aqui está um breve argumento sobre o motivo:
Por que queremos um pedaço de laje e espiga antes? Induz um modelo bayesiano que calcula a média entre uma rede neutra sem esse neurônio e um com ele. previsões. Isso aborda a questão principal de redes neutras serem capazes de se ajustar demais aos dados (embora, obviamente, não seja a única maneira possível de conseguir isso).
fonte
A camada de abandono separa indiscriminadamente uma porção especificada de neurônios, diminuindo a capacidade representacional do modelo em questão. Isso evita que a rede ajuste limites de decisão não lineares complexos (ou seja, o "ruído" no conjunto de dados), impedindo (ou melhorando) o ajuste excessivo.
fonte