Cosa succede quando mescolo le funzioni di attivazione?


10

Esistono diverse funzioni di attivazione, come ReLU, sigmoid o tanh . Cosa succede quando mescolo le funzioni di attivazione?

Recentemente ho scoperto che Google ha sviluppato la funzione di attivazione Swish che è (x * sigmoid). Modificando la funzione di attivazione può aumentare la precisione su piccoli problemi di rete neurale come il problema XOR?

Risposte:


2

La risposta generale al comportamento della combinazione di funzioni di attivazione comuni è che devono essere applicate le leggi del calcolo, in particolare il calcolo differenziale, i risultati devono essere ottenuti attraverso l'esperimento per essere sicuri delle qualità della funzione assemblata e la complessità aggiuntiva è probabile che aumentare i tempi di calcolo. L'eccezione a tale aumento sarà quando l'onere computazionale della combinazione è piccolo rispetto ai vantaggi di convergenza che la combinazione offre.

Questo sembra essere vero per Swish, il nome dato alla funzione di attivazione definita come

f(X)=XS(βX),

f()Sβ

Non sembra essere sviluppato da Google. L'articolo originariamente presentato in forma anonima (per la revisione in doppio cieco come articolo ICLR 2018), Searching for Activation Functions , è stato scritto da Prajit Ramachandran, Barret Zoph e Quoc V. Le intorno al 2017. Questa è la loro affermazione.

I nostri esperimenti dimostrano che la migliore funzione di attivazione scoperta, ... Swish, ... tende a funzionare meglio di ReLU su modelli più profondi attraverso una serie di set di dati impegnativi.

Qualsiasi modifica della funzione di attivazione a un singolo livello, ad eccezione del caso astronomicamente raro, avrà una precisione di impatto, affidabilità ed efficienza computazionale. Se il cambiamento è significativo non può essere generalizzato. Ecco perché le nuove idee vengono testate rispetto ai set di dati tradizionalmente utilizzati per valutare l'utilità 1 .

La combinazione di funzioni di attivazione per formare nuove funzioni di attivazione non è comune. Ad esempio, AlexNet non li combina. 2 . Tuttavia, è molto comune utilizzare diverse funzioni di attivazione in diversi livelli di una singola ed efficace progettazione della rete.


Le note

[1] Se queste tradizioni creano un pregiudizio è un'altra domanda. Coloro che seguono la teoria dell'analisi dei casi d'uso introdotta dallo scienziato informatico svedese Ivar Hjalmar Jacobson o dalle idee di 6 Sigma direbbero che questi test sono test unitari, non test funzionali contro casi d'uso reali, e hanno un punto.

[2] Per correggere eventuali equivoci che potrebbero derivare da un'altra risposta, AlexNet, il nome dato all'approccio delineato nella classificazione ImageNet con Deep Convolutional Neural Networks (2012) di Alex Krizhevsky, Ilya Sutskever e Geoffrey E. Hinton dell'Università di Toronto, non comporta la combinazione di funzioni di attivazione per crearne di nuove. Lo scrivono.

L'output dell'ultimo livello completamente collegato viene inviato a un softmax a 1000 vie che produce una distribuzione sulle etichette della classe 1000.

...

La non linearità ReLU viene applicata all'output di ogni strato convoluzionale e completamente connesso. I livelli interni sono ReLU puri e il livello di output è Softmax.

Ci sono anche kernel di convoluzione e livelli di pooling nella serie di layer dell'approccio AlexNet da loro utilizzati, e il design è diventato di uso comune dalla loro vincita della competizione ImageNet nel 2012. Altri approcci hanno vinto concorsi successivi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.