Studiuję i próbuję wdrożyć splotowe sieci neuronowe, ale przypuszczam, że to pytanie dotyczy ogólnie wielowarstwowych perceptronów.
Neurony wyjściowe w mojej sieci reprezentują aktywację każdej klasy: najbardziej aktywny neuron odpowiada przewidywanej klasie dla danego wejścia. Aby rozważyć koszt entropii krzyżowej dla szkolenia, dodaję warstwę softmax na końcu sieci, aby wartość aktywacji każdego neuronu była interpretowana jako wartość prawdopodobieństwa.
Moje pytanie brzmi: czy neurony w warstwie wyjściowej powinny stosować nieliniową funkcję na wejściu? Mam intuicję, że nie jest to konieczne:
- jeśli dane wejściowe do wyjściowego neuronu to iloczyn iloczynu między wektorem (pochodzącym z poprzedniej warstwy) a wagami dla tego neuronu,
- a jeśli zastosuję monotoniczną funkcję nieliniową, taką jak sigmoid lub ReLU
- wówczas większy wynik aktywacji będzie nadal odpowiadał największemu , więc z tego punktu widzenia funkcja nieliniowa nie zmieni prognozy.
Czy coś jest nie tak z tą interpretacją? Czy pomijam jakieś czynniki szkoleniowe, które powodują, że nieliniowość wyjściowa jest konieczna?
A jeśli mam rację, czy cokolwiek by się zmieniło, gdyby zamiast korzystania z funkcji sigmoid korzystałem z funkcji ReLU , która nie jest ściśle monotoniczna?
EDYTOWAĆ
W odniesieniu do odpowiedzi Karela, której odpowiedź brzmiała „to zależy”, oto bardziej szczegółowy opis mojej sieci i wątpliwości:
Załóżmy, że mam N ukrytych warstw, a moja warstwa wyjściowa jest tylko warstwą softmax nad zestawem neuronów reprezentujących klasy (więc moim oczekiwanym wynikiem jest prawdopodobieństwo, że dane wejściowe należą do każdej klasy). Zakładając, że pierwsze warstwy N-1 mają neurony nieliniowe, jaka jest różnica między użyciem neuronów nieliniowych a liniowych w N-tej ukrytej warstwie?