Czym jest Funkcja aktywacji (activation function)?
Funkcja aktywacji to element obliczeniowy umieszczany w każdym neuronie sztucznej sieci neuronowej, który wprowadza nieliniowość do przetwarzania sygnału. Mówiąc inaczej, określa ona sposób, w jaki suma ważona wejść neuronu zostaje przekuta w jego wyjście. Bez tej operacji sieć byłaby jedynie złożonym układem równań liniowych i nie mogłaby modelować złożonych zależności ani uczyć się reprezentacji potrzebnych do rozpoznawania obrazów, tekstu czy dźwięku.
Krótki kontekst historyczny
Pojęcie funkcji aktywacji wywodzi się z pracy Waltera McCullocha i Warrena P. Pittsa z 1943 r., którzy opisali pierwszy formalny model neuronu wykorzystujący próg Heaviside’a. W latach 60. i 70. badacze, tacy jak Frank Rosenblatt oraz Marvin Minsky, eksperymentowali z funkcjami progowymi i sigmoidalnymi. Największą popularność zyskała funkcja sigmoidalna, stosowana szeroko od publikacji Rumelharta, Hintona i Williamsa w 1986 r. o algorytmie wstecznej propagacji błędu. W kolejnych dekadach pojawiły się rozwiązania lepiej radzące sobie z zanikiem gradientu, na przykład ReLU wprowadzone w 2010 r. przez Glorota, Bordesa i Bengio, co znacząco ułatwiło trenowanie głębokich sieci.
Jak dokładnie działa Funkcja aktywacji (activation function)
W praktyce neuron oblicza sumę ważoną swoich wejść, dodaje wyraz bias, a następnie przekazuje rezultat przez funkcję aktywacji. Funkcja taka jak ReLU zatrzymuje wartości ujemne i przepuszcza dodatnie bez zmian, dzięki czemu gradient w dodatniej części jest stały i nie maleje w miarę kolejnych warstw. Sigmoida ściska z kolei dowolne wejście do przedziału od 0 do 1, co ułatwia interpretację wyjść jako prawdopodobieństwo, ale jednocześnie spowalnia propagację sygnału w bardzo głębokich architekturach. W każdym przypadku wyjście neuronu po zastosowaniu funkcji aktywacji staje się sygnałem wejściowym dla kolejnej warstwy i wpływa na ostateczną decyzję modelu.
Zastosowania w praktyce
W sieciach konwolucyjnych do rozpoznawania obrazów niemal standardem jest ReLU lub jej modyfikacje, co przekłada się na szybsze uczenie i wyższą dokładność klasyfikacji. W sieciach rekurencyjnych wykorzystywanych do przetwarzania języka nadal spotyka się sigmoidy i tangens hiperboliczny, ponieważ pomagają one w kontrolowaniu przepływu informacji przez mechanizmy bramek w LSTM i GRU. Funkcje typu Softmax pełnią rolę normalizującą w ostatniej warstwie modeli, umożliwiając zamianę surowych logitów na rozkład prawdopodobieństwa klas. W porównaniu z klasycznymi, czysto liniowymi metodami regresji, zastosowanie odpowiednio dobranej funkcji aktywacji pozwala sieciom uczyć się złożonych, wielowymiarowych zależności bez ręcznego konstruowania cech.
Zalety i ograniczenia
Główną zaletą wprowadzenia funkcji aktywacji jest zdolność modelu do aproksymacji nieliniowych relacji, co otwiera drogę do rozwiązywania problemów niedostępnych dla algorytmów liniowych. Niektóre funkcje, jak ReLU, wspierają szybkie uczenie dzięki prostemu wzorowi i stałemu gradientowi dla dodatnich wartości. Z drugiej strony, dobór funkcji jest wrażliwy na kontekst: ReLU może powodować tzw. martwe neurony, gdy zbyt wiele wyjść zostaje uciętych do zera, podczas gdy sigmoida cierpi na problem zanikającego gradientu. Ograniczenia te sprawiają, że inżynierzy eksperymentują z odmianami takimi jak Leaky ReLU, ELU, GELU czy Swish, aby poprawić stabilność i szybkość konwergencji.
Na co uważać?
Przed wdrożeniem modelu warto przeanalizować, czy wybrana funkcja aktywacji pasuje do charakteru danych i głębokości sieci. W zbyt głębokich sieciach sigmoida może spowodować zanik gradientu, co utrudnia uczenie dolnych warstw. ReLU, mimo prostoty, bywa podatna na problem martwych neuronów, zwłaszcza przy wysokich wartościach współczynnika uczenia. Funkcje o bardziej złożonych wzorach, takie jak Swish, mogą poprawić dokładność, ale kosztem dodatkowych obliczeń. Staranna analiza krzywych treningowych i testowych pomaga wychwycić opisane zjawiska na wczesnym etapie.
Dodatkowe źródła
Obszerny przegląd funkcji aktywacji wraz z ich właściwościami można znaleźć w artykule Searching for Activation Functions. Syntetyczne omówienie podstaw oferuje hasło Funkcja aktywacji w Wikipedii. Głębsze tło teoretyczne i praktyczne przykłady są opisane w książce Deep Learning autorstwa Goodfellowa, Bengio i Courville’a. Mechanikę najpopularniejszej dziś funkcji ReLU wyjaśnia z kolei praca Gloroty, Bordesa i Bengio dostępna w serwisie Proceedings of Machine Learning Research.


