O que acontece quando eu misturo funções de ativação?


10

Existem várias funções de ativação, como ReLU, sigmoid ou tanh . O que acontece quando eu misturo funções de ativação?

Recentemente, descobri que o Google desenvolveu a função de ativação Swish, que é (x * sigmoid). Ao alterar a função de ativação, ele pode aumentar a precisão de um pequeno problema de rede neural, como o problema XOR?

Respostas:


2

A resposta geral ao comportamento da combinação de funções comuns de ativação é que as leis do cálculo devem ser aplicadas, especificamente o cálculo diferencial, os resultados devem ser obtidos através de experimentos para ter certeza das qualidades da função montada, e é provável que a complexidade adicional aumentar o tempo de computação. A exceção a esse aumento será quando o ônus computacional da combinação for pequeno comparado às vantagens de convergência que a combinação oferece.

Parece ser o caso de Swish, o nome dado à função de ativação definido como

f(x)=xS(βx),

f()Sβ

Não parece ter sido desenvolvido pelo Google. O artigo originalmente enviado anonimamente (para revisão em dupla ocultação como artigo da ICLR 2018), Searching for Activation Functions , foi criado por Prajit Ramachandran, Barret Zoph e Quoc V. Le por volta de 2017. Essa é a reivindicação deles.

Nossas experiências mostram que a melhor função de ativação descoberta, ... Swish, ... tende a funcionar melhor que a ReLU em modelos mais profundos em vários conjuntos de dados desafiadores.

Qualquer alteração na função de ativação de qualquer camada, exceto no caso astronomicamente raro, afeta a precisão, a confiabilidade e a eficiência computacional. Se a mudança é significativa não pode ser generalizada. É por isso que novas idéias são testadas em conjuntos de dados tradicionalmente usados ​​para avaliar a utilidade 1 .

Combinar funções de ativação para formar novas funções de ativação não é comum. Por exemplo, AlexNet não os combina. 2 . No entanto, é muito comum usar diferentes funções de ativação em diferentes camadas de um único e eficaz projeto de rede.


Notas de rodapé

[1] Se essas tradições criam um viés é outra questão. Aqueles que seguem a teoria da análise de caso de uso pioneira do cientista da computação sueco Ivar Hjalmar Jacobson ou das idéias 6 Sigma diriam que esses testes são testes de unidade, não testes funcionais contra casos de uso do mundo real, e eles têm razão.

[2] Para corrigir quaisquer equívocos que possam surgir de outra resposta, AlexNet, o nome dado à abordagem descrita na Classificação ImageNet com redes neurais profundas convolucionais (2012) por Alex Krizhevsky, Ilya Sutskever e Geoffrey E. Hinton, da Universidade de Toronto, não envolve a combinação de funções de ativação para formar novas. Eles escrevem isso.

A saída da última camada totalmente conectada é alimentada com um softmax de 1000 vias, que produz uma distribuição pelas etiquetas da classe 1000.

...

A não linearidade da ReLU é aplicada à saída de todas as camadas convolucionais e totalmente conectadas. As camadas internas são pura ReLU e a camada de saída é Softmax.

Também existem kernels de convolução e camadas de pool na série de camadas da abordagem AlexNet usada por eles, e o design entrou em uso comum desde a vitória na competição ImageNet em 2012. Outras abordagens ganharam competições subseqüentes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.