Suponha que você tenha uma camada de entrada com n neurônios e a primeira camada oculta possua neurônios, normalmente . Então você calcula a acticação do neurônio na camada oculta por
, em que é uma função de ativação como ou .
Para treinar a rede, você calcular a reconstrução da entrada, denotado , e minimizar o erro entre e . Agora, o ésimo elemento em é normalmente calculado como:
Pergunto-me por que o reconstruída são geralmente calculado com a mesma função de activação em vez de usar a função inversa, e por isso separada e são úteis em vez de usar pesos e desvios atadas? Parece-me muito mais intuitivo calcular o reconstruído com a função de ativação inversa , por exemplo, , da seguinte maneira:
Observe que aqui são usados pesos vinculados, ou seja, , e os preconceitos da camada oculta são usados, em vez de introduzir um conjunto adicional de preconceitos para a camada de entrada.
E uma pergunta muito relacionada: para visualizar recursos, em vez de computar a reconstrução, normalmente se cria uma matriz de identidade com a dimensão da camada oculta. Então, cada coluna da matriz seria usada como entrada para uma função de reativação, que induz uma saída nos neurônios de entrada. Para a função de reativação, seria melhor usar a mesma função de ativação (resp. ) ou a função inversa (resp. )?
fonte