Funkcja aktywacji – kalendarz adwentowy #14

Jednym z ciekawszych zagadnień pojawiających się przy tematyce sieci neuronowych to funkcja aktywacji.

Gdzie jest używana funkcja aktywacji?

Fundamentalnym elementem sieci neuronowej jest neuron. Neuron to taki obiekt, który zbiera sygnał na wejściu i daje jakiś sygnał na wyjściu. Nie ma tutaj nic nadzwyczajnego. Jeśli jednak połączymy ze sobą wiele takich neuronów, to możemy niejako obserwować, jak przepływa przez nie informacja. Przykładowa sieci neuronowa może wyglądać następująco:

Sztuczna sieć neuronowa
Sztuczna sieć neuronowa

Na powyższym obrazku neurony to okręgi. Od dołu wpadają do nich sygnały wejściowe z odpowiednimi wagami. A od góry każdy z nich wypuszcza swój sygnał. Naszą funkcję aktywacji odnajdziemy w każdym z tych okręgów. Funkcja ta będzie taka sama dla wszystkich neuronów głębokich.

Czy jest to zwykła funkcja?

Funkcja aktywacji to faktycznie zwykła funkcja w sensie matematycznym. Bierze jakąś liczbę na wejściu (sumę sygnałów przemnożonych przez wagi) i wystawia inną liczbę. Można sobie wyobrazić ją jako „eksperta” który ocenia widoczną dla niego sytuację na świecie i dzieli się swoim wnioskiem.

Mamy tutaj jednak kilka haczyków. Bardzo pożądane dla nas jest, żeby funkcja była różniczkowalna. Określanie czy nasza sieć neuronowa zachowuje się zgodnie z oczekiwaniami to wyliczanie gradientu prostego. A to nic innego jak wielokrotne wyliczanie pochodnych. Nasze wybrane różniczkowalne funkcje aktywacji mogą więc w prosty sposób zostać włączone w całościowe trenowanie sieci neuronowej.

Drugim haczykiem jest określenie ile informacji, tak naprawdę chcemy, żeby nasza funkcja przekazywała dalej. No bo możemy użyć funkcji tożsamościowej, ale czasem użycie obciętej wersji tej funkcji będzie szybsze i równie efektywne.

Dokładność numeryczna też może okazać się problemem. Oznacza to, że możemy wybrać sobie jakąś ładną funkcję matematyczną, np. sigmoid, która w małej skali będzie fajnie funkcjonować, natomiast przy rozbudowanej sieci albo będziemy musieli poświęcić czas na dokładne obliczenia numeryczne, albo będziemy porzucać te „dokładne” liczby na rzecz szybkości.

Funkcja aktywacji — Podsumowanie

Funkcje aktywacji od strony informatycznej to temat rzeka. Kolejnym poziomem skomplikowania jest zagadnienie doboru funkcji do zadania, które chcemy rozwiązać. Często dobieranie funkcji aktywacji przypomina po prostu poszukiwanie hiperparametru — nie dowiesz się, która najlepiej pasuje, dopóki jej nie sprawdzisz.

Jeżeli temat Cię zainteresował, sprawdź koniecznie listę przeglądową najczęściej używanych funkcji aktywacji wraz z ich właściwościami.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *