O problema é:
Derive o gradiente em relação à camada de entrada para uma rede neural de camada única oculta usando sigmoid para entrada -> oculta, softmax para oculta -> saída, com perda de entropia cruzada.
Eu posso passar a maior parte da derivação usando a regra de cadeia, mas não tenho certeza de como realmente "encadear" elas.
Definir algumas notações
, é função sigmóide
,
, é a função softmax
, é um vetor quente de rótulo real
Então, pela regra da cadeia,
Os gradientes individuais são:
Agora temos que encadear as definições. Na variável única, isso é fácil, apenas multiplicamos tudo juntos. Nos vetores, não tenho certeza se usaremos a multiplicação por elementos ou por matriz.
Onde é a multiplicação de vetores por elementos e é uma multiplicação de matrizes. Essa combinação de operações é a única maneira em que eu consigo las para obter um vetor de dimensão , que eu sei que deve ser.
Minha pergunta é: qual é a maneira correta de descobrir qual operador usar? Estou especificamente confuso com a necessidade do elemento entre e .
Obrigado!