Quão flexível é o vínculo entre a função objetivo e a função de ativação da camada de saída?

10

Parece padrão em muitos pacotes de redes neurais emparelhar a função objetivo a ser minimizada com a função de ativação na camada de saída.

Por exemplo, para uma camada de saída linear usada para regressão, é padrão (e geralmente apenas uma opção) ter uma função objetiva de erro ao quadrado. Outro emparelhamento usual é a saída logística e a perda de log (ou entropia cruzada). E ainda outro é softmax e multi log loss.

Usando a notação, para o valor de pré-ativação (soma dos pesos vezes das ativações da camada anterior), a para ativação, y para a verdade básica usada no treinamento, i para o índice do neurônio de saída.zumayEu

  • Ativação linear acompanha erro quadrado 1umaEu=zEu1 12Eu(yEu-umaEu)2

  • Ativação sigmóide vai com logloss / cruzada entropia objectivo-Σi(yi*log(umi)+(1-yi)*log(1-umi))umaEu=1 11 1+e-zEu-Eu(yEueuog(umaEu)+(1 1-yEu)euog(1 1-umaEu))

  • Ativação do softmax umaEu=ezEujezj-Eu(yEueuog(umaEu))

Esses são os que eu conheço e espero que muitos ainda não tenham ouvido falar.

y

No entanto, não parece tão ruim tentar a saída sigmóide com um objetivo de erro ao quadrado. Deve ser estável e convergir pelo menos.

δEδzEtanh

Existem situações ao projetar a arquitetura de uma rede neural que você deve ou deve usar emparelhamentos "não-padrão" de ativação de saída e funções objetivas?

Neil Slater
fonte

Respostas:

4

Não é tanto qual função de ativação que você usa que determina qual função de perda você deve usar, mas qual é a interpretação que você tem da saída.

Se a saída deve ser uma probabilidade, a perda de log é o caminho a percorrer.

Se a saída for um valor genérico, o erro quadrático médio é o caminho padrão a seguir. Portanto, por exemplo, se sua saída foi um pixel em escala de cinza com escala de cinza rotulada por um número de 0 a 1, pode fazer sentido usar uma função de ativação sigmóide com uma função objetiva de erro ao quadrado médio.

patapouf_ai
fonte