Por que a função sigmóide em vez de qualquer outra coisa?

40

Por que a função sigmóide padrão de fato, , é tão popular em redes neurais (não profundas) e em regressão logística?1 11 1+e-x

Por que não usamos muitas das outras funções deriváveis, com tempo de computação mais rápido ou decaimento mais lento (para que o gradiente de fuga ocorra menos)? Poucos exemplos estão na Wikipedia sobre funções sigmóides . Um dos meus favoritos com decaimento lento e cálculo rápido é .x1+|x|

EDITAR

A questão é diferente da lista abrangente de funções de ativação em redes neurais com prós / contras, pois estou interessado apenas no 'porquê' e apenas no sigmóide.

Mark Horvath
fonte
6
Observe o sigmóide logística é um caso especial da função softmax, e ver a minha resposta a esta pergunta: stats.stackexchange.com/questions/145272/...
Neil G
10
Não são outras funções como probit ou cloglog que são comumente usados, consulte: stats.stackexchange.com/questions/20523/...
Tim
4
@ user777 Não tenho a certeza se é uma duplicata, uma vez que a discussão a que se refere não responde realmente à pergunta porquê .
Tim
@KarelMacek, você tem certeza de que o derivado não tem um limite esquerdo / direito em 0? Praticamente parece que tem uma boa tangencial na imagem vinculada da Wikipedia.
Mark Horvath
5
Detesto discordar de tantos membros distintos da comunidade que votaram para encerrar isso como duplicado, mas estou convencido de que o aparente duplicado não trata do "porquê" e, portanto, votei para reabrir essa pergunta.
whuber

Respostas:

24

Citando-me desta resposta para uma pergunta diferente:

Na seção 4.2 de Reconhecimento de padrões e aprendizado de máquina (Springer 2006), Bishop mostra que o logit surge naturalmente como a forma da distribuição de probabilidade posterior em um tratamento bayesiano de classificação de duas classes. Ele então mostra que o mesmo vale para recursos distribuídos discretamente, bem como para um subconjunto da família de distribuições exponenciais. Para classificação de várias classes, o logit generaliza para a função exponencial ou softmax normalizada.

Isso explica por que esse sigmóide é usado na regressão logística.

Com relação às redes neurais, este post do blog explica como diferentes não linearidades, incluindo o logit / softmax e o probit usado em redes neurais, podem receber uma interpretação estatística e, assim, uma motivação. A idéia subjacente é que uma rede neural de várias camadas pode ser considerada como uma hierarquia de modelos lineares generalizados; de acordo com isso, funções de ativação são funções de link, que por sua vez correspondem a diferentes premissas distributivas.

A. Donda
fonte
11
Ótimo! Portanto, quando estamos usando sigmóides em uma rede, podemos dizer que estamos assumindo implicitamente que a rede "modela" probabilidades de vários eventos (nas camadas internas ou na saída). Esse pode ser um modelo sensato dentro de uma rede, mesmo para erros ao quadrado (permitindo ao neurônio de saída uma função de ativação diferente). Nunca pensei nessa intuição antes, obrigado!
Mark Horvath
@ MarkHorvath Fico feliz em poder ajudar. :-)
A. Donda
Historicamente, não é assim. Meu melhor resumo de uma história confusa é que o logit entrou na ciência estatística em grande parte porque as formas funcionais usadas para prever mudanças ao longo do tempo (populações que se espera seguirem curvas logísticas) pareciam corretas quando adaptadas e adotadas como funções de link [uso anacrônico lá!] Para respostas binárias ; e são fáceis de manipular com cálculo simples, quais expressões em valores absolutos não são. Mas, naturalmente, a justificativa lógica mais simples para essas funções é interessante e crucial, e sua resposta aborda isso.
Nick Cox
11
Eu li as seções dos livros de Bishop (2006 e 1995) e ainda não estou convencido de que o sigmóide seja essencial aqui, embora eu certamente tenha motivação com o logit. E se eu escrever a mesma função de perda de entropia cruzada com base no pressuposto de Poisson de 2 classes, mas depois usar uma função de ativação diferente em vez de sigmóide? Por exemplo, esse similar, mas não tão agradável, é definido por partes: g (x) = 1 / (2-2x) se x <0, 1-1 / (2 + 2x) para x> 0, g (0) = 0,5 Agora, a equação de máxima probabilidade parece diferente, mas se a minimizarmos, ainda não obtemos probabilidades como saídas?
eraoul
se Bischop tivesse tomado , a função "surgir naturalmente" seriaumaa=p(x,C1)(1+p(x,C1))p(x,C2) , não é? a1+a2
Mr Tsjolder 20/09
18

Uma razão pela qual essa função pode parecer mais "natural" do que outras é que ela é inversa ao parâmetro canônico da distribuição de Bernoulli: (A função depdentro do expoente é chamada de parâmetro canônico.)

f(y)=py(1 1-p)1 1-y=(1 1-p)exp{yregistro(p1 1-p)}.
p

Talvez uma justificativa mais convincente venha da teoria da informação, onde a função sigmóide pode ser derivada como um modelo de entropia máxima . Grosso modo, a função sigmóide assume estrutura mínima e reflete nosso estado geral de ignorância sobre o modelo subjacente.

dsaxton
fonte
Boa justificativa para regressão logística. O engraçado que continuamos usando isso para erro quadrado também ...
Mark Horvath
11

Eu me faço essa pergunta há meses. As respostas em CrossValidated e Quora listam boas propriedades da função sigmóide logística, mas tudo parece que adivinhamos essa função. O que eu perdi foi a justificativa para escolher. Finalmente encontrei um na seção 6.2.2.2 do livro "Deep Learning" de Bengio (2016) . Nas minhas próprias palavras:

Em resumo, queremos que o logaritmo da saída do modelo seja adequado para otimização baseada em gradiente da probabilidade de log dos dados de treinamento.

Motivação

  • Queremos um modelo linear, mas não podemos usar z=wTx+b diretamente como z(,+) .
  • Para a classificação, faz sentido assumir a distribuição de Bernoulli e modelar seu parâmetro θ em P(Y=1)=θ .
  • Portanto, precisamos mapear z de (,+) para [0,1] para fazer a classificação.

Por que a função sigmóide logística?

Cortar z com P(Y=1|z)=max{0,min{1,z}} produz um gradiente zero para z fora de [0,1] . Precisamos de um gradiente forte sempre que a previsão do modelo estiver errada, porque resolvemos a regressão logística com descida do gradiente. Para regressão logística, não há solução de formulário fechado.

A função logística tem a boa propriedade de assintotar um gradiente constante quando a previsão do modelo está errada, uma vez que usamos a Estimativa de Máxima Verossimilhança para ajustar-se ao modelo. Isso é mostrado abaixo:

Para benefícios numéricos, a Estimativa de máxima verossimilhança pode ser feita minimizando a verossimilhança negativa dos dados de treinamento. Portanto, nossa função de custo é:

J(W,b)=1 1mEu=1 1m-registroP(Y=yEu|xEu;W,b)=1 1mEu=1 1m-(yEuregistroP(Y=1 1|z)+(yEu-1 1)registroP(Y=0 0|z))

Como P(Y=0 0|z)=1 1-P(Y=1 1|z) , podemos nos concentrar no caso Y=1 1 . Então, a questão é como modelar P(Y=1 1|z) dado que temos z=WTx+b .

Os requisitos óbvios para a função f mapeando z para P(Y=1 1|z) são:

  • zR:f(z)[0 0,1 1]
  • f(0 0)=0,5
  • f deve ser rotacionalmente simétrico wrt(0,0.5) , ou seja,f(x)=1f(x) , de modo que inverter os sinais das classes não tenha efeito na função de custo.
  • f deve ser não decrescente, contínuo e diferenciável.

Todos esses requisitos são atendidos ao redimensionar as funções sigmóides . Ambos f(z)=11+ez ef(z)=0.5+0.5z1+|z|cumpri-los. No entanto, as funções sigmóides diferem em relação ao seu comportamento durante a otimização baseada em gradiente da probabilidade logarítmica. Podemos ver a diferença conectando a função logísticaf(z)=11+ez em nossa função de custo.

Y=1

P(Y=1|z)=11+ezY=1m=1

J(z)=log(P(Y=1|z))=log(11+ez)=log(ez1+ez)=z+log(1+ez)

z

  • zY=1log(1+ez)zzz
  • z|z|Y=1log(1+ez)0zzz1z, não há saturação, o que causaria gradientes de fuga.

Y=0

Y=1Y=0

J(z)Y=1

insira a descrição da imagem aqui

Y=0

Alternativas

z1+|z|[0,1]P(Y=1|z)=0.5+0.5z1+|z|

Y=1

J(z)=log(0.5+0.5z1+|z|)

que fica assim:

insira a descrição da imagem aqui

z

Kilian Batzner
fonte
O que você quer dizer quando escreve "quando o modelo está errado"?
Gabriel Romon 08/08/19
(xEu,yEu)z=5yEu=0 0
6

Como a pergunta original mencionou o problema do gradiente em decomposição, gostaria de acrescentar que, para camadas intermediárias (onde você não precisa interpretar ativações como probabilidades de classe ou resultados de regressão), outras não-linearidades são frequentemente preferidas às funções sigmoidais. As mais destacadas são as funções retificadoras (como em ReLUs ), que são lineares sobre o domínio positivo e zero sobre o negativo. Uma de suas vantagens é que eles estão menos sujeitos ao problema do gradiente em decomposição, porque a derivada é constante sobre o domínio positivo. As ReLUs tornaram-se populares a tal ponto que os sigmóides provavelmente não podem mais ser chamados de padrão de fato.

Glorot et al. (2011) . Redes neurais do retificador esparso profundo

user20160
fonte
2
Sim. Penso que a razão pela qual a função logística era tão popular se deveu à importação das estatísticas. Atualmente, o Relu é o mais popular em muitos campos.
Ricardo Cruz