Funkcja aktywacji (ang. activation function) to mała funkcja matematyczna siedząca na wyjściu każdego neuronu, która decyduje, jak mocno ten neuron „odpali” sygnał dalej. Bierze sumę ważoną wejść plus bias, przepuszcza ją przez siebie i zwraca liczbę, którą dostają kolejne warstwy. Jej najważniejsze zadanie to wprowadzenie nieliniowości — bez niej cała sieć, choćby miała sto warstw, sklejałaby się do jednego mnożenia macierzy, czyli do zwykłej regresji liniowej. A wtedy żadne głębokie uczenie nie miałoby sensu.
Jak to działa
Wyobraź sobie neuron jako bramkę. Najpierw liczy z = w·x + b, a potem pyta funkcji aktywacji: „i co ja mam z tym zrobić?”. Funkcja przekształca z w wartość wyjściową. Dzięki temu, że to przekształcenie jest nieliniowe, sieć potrafi modelować zakrzywione granice decyzyjne, rozpoznawać koty na zdjęciach i robić inne rzeczy, których prosta linia nigdy by nie ogarnęła.
Najpopularniejsze warianty: sigmoid ściska wynik do przedziału (0, 1), więc nadaje się do prawdopodobieństw, ale „nasyca się” przy dużych wartościach i zabija gradient. tanh działa podobnie, ale w zakresie (-1, 1) i jest wyśrodkowany w zerze. ReLU (max(0, x)) to dziś domyślny wybór w warstwach ukrytych — tania obliczeniowo i nie nasyca się dla dodatnich wartości.
Przykład z praktyki
W PyTorchu nie piszesz tego ręcznie. Budując prostą sieć, wrzucasz aktywację między warstwy liniowe:
nn.Sequential(nn.Linear(784, 128), nn.ReLU(), nn.Linear(128, 10))
Tu ReLU stoi w środku, a na końcu klasyfikacji wieloklasowej zwykle dajesz softmax (lub zostawiasz to CrossEntropyLoss, która liczy softmax wewnętrznie). Do klasyfikacji binarnej na wyjściu pasuje sigmoid.
Częste błędy
- Sigmoid w głębokich warstwach ukrytych — prowadzi do vanishing gradient, sieć przestaje się uczyć. Trzymaj sigmoid/softmax raczej na wyjściu.
- Dead ReLU — neuron utknął na zerze i już nigdy się nie aktywuje. Ratunek:
LeakyReLUalboGELU. - Aktywacja na warstwie wyjściowej regresji — jak przewidujesz liczbę bez ograniczeń, zostaw wyjście liniowe, bez ReLU czy sigmoid.
Pojęcia powiązane: nieliniowość, propagacja wsteczna, problem zanikającego gradientu, ReLU, sigmoid, tanh, softmax, warstwa ukryta, sieć neuronowa.