Eu tenho lido muito sobre redes neurais convolutivas e queria saber como elas evitam o problema de gradiente que desaparece. Sei que redes de crenças profundas empilham codificadores automáticos de nível único ou outras redes rasas pré-treinadas e, portanto, podem evitar esse problema, mas não sei como é evitado nas CNNs.
De acordo com a Wikipedia :
"apesar do mencionado" problema de gradiente de fuga "mencionado acima, o poder superior de processamento das GPUs torna viável a propagação reversa simples para redes neurais de avanço profundo com muitas camadas".
Não entendo por que o processamento da GPU removeria esse problema?
GPU's are fast correlated with vanishing gradients
entender, eu posso entender a lógica rápida com grande largura de banda de memória para processar várias multiplicações de matriz! mas você poderia explicar o que isso tem a ver com os derivativos? A questão do gradiente de fuga parece fazer mais com a inicialização do peso , não é!Respostas:
O problema do gradiente que desaparece exige que usemos pequenas taxas de aprendizado com descida do gradiente, que precisam de muitos pequenos passos para convergir. Este é um problema se você tiver um computador lento, que leva muito tempo para cada etapa. Se você possui uma GPU rápida que pode executar muito mais etapas em um dia, isso é menos problemático.
Existem várias maneiras de resolver o problema do gradiente de fuga. Eu diria que o maior efeito para as CNNs veio da mudança de unidades não lineares sigmóides para unidades lineares retificadas. Se você considerar uma rede neural simples cujo erro depende do peso w i j apenas por y j , em queE Weu j yj
seu gradiente é
http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf
fonte