Deste vídeo por Andrew Ng por volta das 5:00
Como são e ? De fato, o que significa? é obtido comparando com y, essa comparação não é possível para a saída de uma camada oculta, certo?
Deste vídeo por Andrew Ng por volta das 5:00
Como são e ? De fato, o que significa? é obtido comparando com y, essa comparação não é possível para a saída de uma camada oculta, certo?
Respostas:
Vou responder sua pergunta sobre o , mas lembre-se de que sua pergunta é uma subquestão de uma pergunta maior e é por isso que:δ(l)i
Lembrete sobre as etapas nas redes neurais:
Etapa 1: propagação direta (cálculo de )a(l)i
Etapa 2a: propagação reversa: cálculo dos errosδ(l)i
Etapa 2b: propagação para trás: cálculo do gradiente de J ( ) usando os erros e ,∇(l)ij Θ δ(l+1)i a(l)i
Etapa 3: descida do gradiente: calcule o novo usando os gradientesθ(l)ij ∇(l)ij
Primeiro, para entender o que o sãoδ(l)i , o que eles representam e por Andrew NG-lo falando sobre eles , você precisa entender o que Andrew está realmente fazendo naquele pointand porque nós fazemos todos esses cálculos: ele está calculando o gradiente de∇(l)ij θ(l)ij a ser usado no algoritmo de descida Gradiente.
O gradiente é definido como:
Como não podemos realmente resolver essa fórmula diretamente, vamos modificá-la usando DOIS TRUQUES MÁGICOS para chegar a uma fórmula que realmente podemos calcular. Esta fórmula final utilizável é:
Para chegar a esse resultado, o PRIMEIRO TRUQUE MÁGICO é que podemos escrever o gradiente de usando :∇(l)ij θ(l)ij δ(l)i
E então o SEGUNDO TRUQUE MÁGICO usando a relação entre e , para definir os outros índices,δ(l)i δ(l+1)i
E como eu disse, finalmente podemos escrever uma fórmula para a qual conhecemos todos os termos:
DEMONSTRAÇÃO DO PRIMEIRO TRUQUE MÁGICO:∇(l)ij=δ(l)i∗a(l−1)j
Definimos:
A regra Chain para dimensões mais altas (você REALMENTE deve ler esta propriedade da regra Chain) nos permite escrever:
No entanto, como:
Podemos então escrever:
Devido à linearidade da diferenciação [(u + v) '= u' + v '], podemos escrever:
com:
Então, para k = i (caso contrário, é claramente igual a zero):
Finalmente, para k = i:
Como resultado, podemos escrever nossa primeira expressão do gradiente :∇(l)ij
O que equivale a:
Ou:
DEMONSTRAÇÃO DO SEGUNDO TRUQUE MÁGICO : ou:δ(l)i=θ(l+1)Tδ(l+1).∗(a(l)i(1−a(l)i))
Lembre-se de que colocamos:
Novamente, a regra Cadeia para dimensões mais altas nos permite escrever:
Substituindo por , temos:∂C∂z(l+1)k δ(l+1)k
Agora, vamos nos concentrar em . Nós temos:∂z(l+1)k∂z(l)i
Em seguida, derivamos essa expressão em relação a :z(i)k
Devido à linearidade da derivação, podemos escrever:
Se j i, então≠ ∂θ(l)kj∗g(z(l)j)∂z(l)i=0
Como consequência:
E depois:
Como g '(z) = g (z) (1-g (z)), temos:
E como , temos:g(z(l)i=a(l)i
E, finalmente, usando a notação vetorizada:
fonte
Este cálculo ajuda. A única diferença deste resultado para o resultado de Andrew é por causa da definição de teta. Na definição de Andrew, z (l + 1) = teta (l) * a (l). Neste cálculo, z (l + 1) = teta (l + 1) * a (l). Então, na verdade, não há diferença.
fonte