KRÓTKA ODPOWIEDŹ
Zgodnie z innymi odpowiedziami Wielomianowa utrata logistyczna i strata z powodu entropii krzyżowej są takie same.
Cross Entropy Loss to alternatywna funkcja kosztu dla NN z wprowadzoną sztucznie funkcją aktywacji sigmoidów, aby wyeliminować zależność od od równań aktualizacji. Czasami ten termin spowalnia proces uczenia się. Alternatywne metody to regularyzowana funkcja kosztów.σ′
W tego typu sieciach można chcieć mieć prawdopodobieństwa jako dane wyjściowe, ale nie dzieje się tak w przypadku sigmoidów w sieci wielomianowej. Funkcja softmax normalizuje wyjścia i wymusza ich w zakresie . Może to być przydatne na przykład w klasyfikacji MNIST.[0,1]
DŁUGA ODPOWIEDŹ Z NIEKTÓRYMI BADANIAMI
Odpowiedź jest dość długa, ale spróbuję podsumować.
Pierwszymi nowoczesnymi sztucznymi neuronami, które zostały zastosowane, są sigmoidy, których funkcją jest:
σ(x)=11+e−x
który ma następujący kształt:
Krzywa jest ładna, ponieważ gwarantuje, że moc wyjściowa mieści się w zakresie .[0,1]
Jeśli chodzi o wybór funkcji kosztu, naturalnym wyborem jest kwadratowa funkcja kosztu, której pochodna jest gwarantowana i wiemy, że ma minimum.
Teraz rozważmy NN z sigmoidami wyszkolonymi z kwadratową funkcją kosztu, z warstwamiL
Definiujemy funkcję kosztu jako sumę kwadratów błędów w warstwie wyjściowej dla zestawu danych wejściowych :X
C=12N∑xN∑j=1K(yj(x)−aLj(x))2
gdzie jest j-tym neuronem w warstwie wyjściowej , pożądaną mocą wyjściową, a jest liczbą przykładów treningowych.aLjLyjN
Dla uproszczenia rozważmy błąd dla pojedynczego wejścia:
C=∑j=1K(yj(x)−aLj(x))2
Teraz wyjście aktywacji neuronu w warstwie , wynosi:jℓaℓj
aℓj=∑kwℓjk⋅aℓ−1j+bℓj=wℓj⋅aℓ−1j+bℓj
Przez większość czasu (jeśli nie zawsze) NN trenuje się przy użyciu jednej z technik opadania gradientu, która zasadniczo polega na aktualizacji wag i odchyleń małymi krokami w kierunku kierunku minimalizacji. Celem jest zastosowanie niewielkiej zmiany wag i odchyleń w kierunku, który minimalizuje funkcję kosztów.wb
W przypadku małych kroków obowiązują następujące zasady:
ΔC≈∂C∂viΔvi
Nasze to wagi i uprzedzenia. Będąc funkcją kosztu chcemy zminimalizować, tj. Znaleźć właściwą wartość . Załóżmy, że wybieramy , a następnie:
viΔviΔvi=−η∂C∂vi
ΔC≈−η(∂C∂vi)
co oznacza, że zmiana w parametrze zmniejszyła funkcji kosztu poprzez .ΔviΔC
Rozważ ty wyjściowy neuron:j
C=12(y(x)−aLj(x)2
aLj=σ=11+e−(wℓj⋅aℓ−1j+bℓj)
Załóżmy, że chcemy zaktualizować wagę która jest wagą od neuronu w warstwie do -tego neuronu w warstwie \ ell. Potem będzie:wℓjkkℓ−1j
wℓjk⇒wℓjk−η∂C∂wℓjk
bℓj⇒bℓj−η∂C∂bℓj
Biorąc pochodne za pomocą reguły łańcucha:
∂C∂wℓjk=(aLj(x)−y(x))σ′aℓ−1k
∂C∂bℓj=(aLj(x)−y(x))σ′
Widzisz zależność od pochodnej sigmoidu (w pierwszym jest wrt w drugim wrt , ale to niewiele się zmienia, ponieważ oba są wykładnikami).wb
Teraz pochodną dla ogólnej pojedynczej zmiennej sigmoid jest:
zdσ(z)dz=σ(z)(1−σ(z))
Rozważmy teraz neuron z jednym wyjściem i załóżmy, że neuron powinien wyprowadzić zamiast tego wyprowadza wartość bliską : zobaczysz oba na wykresie, że sigmoid dla wartości bliskich jest płaski, tj. Jego pochodna jest bliska , tj. aktualizacje parametru są bardzo wolne (ponieważ równania aktualizacji zależą od .0110σ′
Motywacja funkcji entropii krzyżowej
Aby zobaczyć, jak pierwotnie wyprowadzono entropię krzyżową, załóżmy, że właśnie odkryłeś, że termin spowalnia proces uczenia się. Możemy się zastanawiać, czy możliwe jest wybranie funkcji kosztu, aby zniknął termin . Zasadniczo można chcieć:σ′σ′
∂C∂w∂C∂b=(a−y)=x(a−y)
Z reguły łańcuchowej mamy:
Porównując pożądane równanie z regułą łańcucha, otrzymujemy
Używając metody ukrywania:
∂C∂b=∂C∂a∂a∂b=∂C∂aσ′(z)=∂C∂aσ(1−σ)
∂C∂a=a−ya(1−a)
∂C∂a=−[ylna+(1−y)ln(1−a)]+const
Aby uzyskać funkcję pełnego kosztu, musimy uśrednić wszystkie próbki szkoleniowe
gdzie stała tutaj jest średnią poszczególnych stałych dla każdego przykładu szkolenia.∂C∂a=−1n∑x[ylna+(1−y)ln(1−a)]+const
Istnieje standardowy sposób interpretacji entropii krzyżowej pochodzącej z dziedziny teorii informacji. Z grubsza mówiąc, chodzi o to, że entropia krzyżowa jest miarą zaskoczenia. Dostajemy małą niespodziankę, jeśli wynik jest tym, czego oczekujemy ( ), i wysoką niespodziankę, jeśli wynik jest nieoczekiwany.ay
Softmax
W przypadku klasyfikacji binarnej entropia krzyżowa przypomina definicję w teorii informacji, a wartości można nadal interpretować jako prawdopodobieństwa.
W przypadku klasyfikacji wielomianowej nie jest to już prawdą: dane wyjściowe odnotowują sumę do .1
Jeśli chcesz, aby sumowały się do , użyj funkcji softmax, która normalizuje wyjścia tak, że suma wynosi .11
Również, jeśli warstwa wyjściowa składa się z funkcji softmax, składnik spowalniający nie jest obecny. Jeśli użyjesz funkcji kosztu prawdopodobieństwa logarytmicznego z warstwą wyjściową softmax, w wyniku otrzymasz formę pochodnych cząstkowych, a następnie równania aktualizacyjne, podobne do tych znalezionych dla funkcji entropii krzyżowej z neuronami esowatymi
jednak