Co się stanie, gdy połączę funkcje aktywacyjne?

10

Istnieje kilka funkcji aktywacyjnych, takich jak ReLU, sigmoid lub tanh. Co się stanie, gdy połączę funkcje aktywacyjne?

Niedawno odkryłem, że Google opracowało funkcję aktywacji Swish, którą jest (x * sigmoid). Zmieniając funkcję aktywacji, może zwiększyć dokładność w przypadku problemu z małą siecią neuronową, takiego jak problem XOR?

JSChang
źródło

Odpowiedzi:

2

Ogólna odpowiedź na zachowanie łączenia typowych funkcji aktywacyjnych jest taka, że ​​należy zastosować prawa rachunku różniczkowego, a zwłaszcza rachunku różniczkowego, wyniki należy uzyskać eksperymentalnie, aby mieć pewność co do właściwości złożonej funkcji, a dodatkowa złożoność prawdopodobnie zwiększyć czas obliczeń. Wyjątkiem od takiego wzrostu będzie sytuacja, gdy obciążenie obliczeniowe kombinacji będzie niewielkie w porównaniu z korzyściami konwergencji zapewnianymi przez kombinację.

Wydaje się, że tak jest w przypadku Swisha, nazwy nadanej funkcji aktywacyjnej zdefiniowanej jako

fa(x)=xS.(βx),

gdzie fa() jest funkcją aktywacji Swish i S.jest funkcją sigmoidalną. Pamiętaj, że Swish nie jest wyłącznie kombinacją funkcji aktywacyjnych. Powstaje poprzez dodanie hiperparametruβ wewnątrz funkcji sigmoidalnej i pomnożenie wejścia do wyniku funkcji sigmoidalnej.

Nie wydaje się, aby został opracowany przez Google. Oryginalnie przesłany anonimowy artykuł (do przeglądu podwójnie ślepego jako artykuł ICLR 2018), Searching for Activation Functions , został napisany przez Prajita Ramachandrana, Barret Zoph i Quoc V. Le około 2017 roku. Takie jest ich twierdzenie.

Nasze eksperymenty pokazują, że najlepiej odkryta funkcja aktywacji, ... Swish, ... działa lepiej niż ReLU na głębszych modelach w wielu trudnych zestawach danych.

Każda zmiana funkcji aktywacji dowolnej warstwy spowoduje, z wyjątkiem astronomicznie rzadkiego przypadku, dokładności uderzenia, niezawodności i wydajności obliczeniowej. To, czy zmiana jest znacząca, nie może zostać uogólnione. Właśnie dlatego nowe pomysły są testowane na zestawach danych tradycyjnie używanych do oceny przydatności 1 .

Łączenie funkcji aktywacyjnych w celu utworzenia nowych funkcji aktywacyjnych nie jest powszechne. Na przykład AlexNet ich nie łączy. 2 . Jednak bardzo często stosuje się różne funkcje aktywacyjne w różnych warstwach jednego, skutecznego projektu sieci.


Przypisy

[1] To, czy te tradycje powodują stronniczość, to kolejne pytanie. Ci, którzy postępują zgodnie z teorią analizy przypadków użycia zapoczątkowaną przez szwedzkiego informatyka Ivara Hjalmara Jacobsona lub 6 pomysłów Sigmy, powiedzieliby, że testy te są testami jednostkowymi, a nie testami funkcjonalnymi w rzeczywistych przypadkach użycia, i mają rację.

[2] Aby skorygować wszelkie nieporozumienia, które mogą wyniknąć z innej odpowiedzi, AlexNet, nazwa nadana podejściu opisanemu w ImageNet Classification with Deep Convolutional Neural Networks (2012) autorstwa Alexa Krizhevsky'ego, Ilyi Sutskever i Geoffrey E. Hinton z University of Toronto nie obejmuje łączenia funkcji aktywacyjnych w celu utworzenia nowych. Piszą to.

Wyjście ostatniej w pełni połączonej warstwy jest podawane do 1000-kierunkowego softmax, który wytwarza rozkład na etykiety klasy 1000.

...

Nieliniowość ReLU jest stosowana do wyjścia każdej splotowej i w pełni połączonej warstwy. Warstwy wewnętrzne są czystymi ReLU, a warstwą wyjściową jest Softmax.

Istnieją również jądra splotu i warstwy pulujące w serii używanych przez nich metod AlexNet, a projekt wszedł do powszechnego użytku od czasu ich zwycięstwa w konkursie ImageNet w 2012 roku. Inne podejścia wygrały kolejne konkursy.

Douglas Daseeco
źródło