Embora a escolha das funções de ativação para a camada oculta seja bastante clara (principalmente sigmóide ou tanh), pergunto-me como decidir sobre a função de ativação para a camada de saída. As escolhas comuns são funções lineares, funções sigmóides e funções softmax. No entanto, quando devo usar qual?
neural-networks
Julian
fonte
fonte
Respostas:
Use sigmoid simples apenas se sua saída admitir várias respostas "verdadeiras", por exemplo, uma rede que verifique a presença de vários objetos em uma imagem. Em outras palavras, a saída não é uma distribuição de probabilidade (não precisa somar 1).
fonte
Posso estar atrasado para a festa, mas parece que há algumas coisas que precisam ser esclarecidas aqui.
Segundo, gostaria de acrescentar que existem muitas funções de ativação que podem ser usadas para as camadas ocultas. Os sigmóides (como a função logística e a tangente hiperbólica) provaram funcionar bem, mas conforme indicado por Jatin , eles sofrem gradientes de fuga quando suas redes se tornam muito profundas. Nesse caso, as ReLUs se tornaram populares. O que eu gostaria de enfatizar é que há muito mais funções de ativação disponíveis e diferentes pesquisadores continuam procurando novas (por exemplo, Unidades Lineares Exponenciais (ELU), Unidades Lineares de Erro Gaussiano (GELUs), ...) com diferentes / melhores propriedades
Para concluir: Ao procurar as melhores funções de ativação, seja criativo. Experimente coisas diferentes e veja quais combinações levam ao melhor desempenho.
Adendo: Para mais pares de funções de perda e ativações, você provavelmente deseja procurar funções de link (canônicas)
fonte
Sigmoid e tanh não devem ser usados como função de ativação para a camada oculta. Isso ocorre devido ao problema de gradiente de fuga, ou seja, se sua entrada estiver em um lado superior (onde o sigmóide fica plano), o gradiente estará próximo de zero. Isso causará um aprendizado muito lento ou nenhum durante a retropropagação, pois os pesos serão atualizados com valores realmente pequenos.
Explicação detalhada aqui: http://cs231n.github.io/neural-networks-1/#actfun
A melhor função para camadas ocultas é, portanto, ReLu.
fonte
Usar a função de identidade como saída pode ser útil quando suas saídas são ilimitadas. O lucro ou prejuízo de uma empresa durante um trimestre pode ser ilimitado de ambos os lados.
As unidades ReLU ou variantes semelhantes podem ser úteis quando a saída é delimitada acima ou abaixo. Se a saída for restrita apenas a não-negativa, faria sentido usar uma ativação ReLU como a função de saída.
O bom das redes neurais é que elas são ferramentas incrivelmente flexíveis.
fonte