Czy ktoś może mi powiedzieć, jak mam zbudować sieć neuronową przy użyciu metody wsadowej?
Przeczytałem, że w trybie wsadowym dla wszystkich próbek w zestawie treningowym obliczamy błąd, deltę, a tym samym wagi delta dla każdego neuronu w sieci, a następnie zamiast natychmiastowej aktualizacji wag, kumulujemy je, a następnie przed rozpoczęciem w następnej epoce aktualizujemy wagi.
Przeczytałem też gdzieś, że metoda wsadowa jest podobna do metody online, ale z tą różnicą, że wystarczy tylko zsumować błędy dla wszystkich próbek w zestawie szkoleniowym, a następnie wziąć jej średnią, a następnie użyć jej do aktualizacji wag tak jak robi się to w metodzie online (różnica jest tylko ta średnia) w następujący sposób:
for epoch=1 to numberOfEpochs
for all i samples in training set
calculate the errors in output layer
SumOfErrors += (d[i] - y[i])
end
errorAvg = SumOfErrors / number of Samples in training set
now update the output layer with this error
update all other previous layers
go to the next epoch
end
- Który z nich jest naprawdę poprawną formą metody wsadowej?
- W przypadku pierwszego, czy kumulacja wszystkich wag delta nie skutkuje ogromną liczbą?
Odpowiedzi:
Używanie średniej lub sumy jest równoważne w tym sensie, że istnieją pary wskaźników uczenia się, dla których produkują tę samą aktualizację.
Aby to potwierdzić, najpierw przywołaj regułę aktualizacji:
Następnie, niech będzie średnim błędem dla zestawu danych o rozmiarze w epoce. Suma błędu wynosi wtedy , a ponieważ nie zależy od , zachowuje to: n n μ E n wμmi n n μmi n w
W drugim pytaniu wyrażenie „kumulacja ciężarów delta” oznaczałoby, że jedna z tych metod zachowuje aktualizacje wagi. To nie jest przypadek: nauka wsadowa kumuluje błąd . W danej epoce jest tylko jeden pojedynczy wektor . (Twój kod pseudokodu pomija etap aktualizacji wag , po którym można odrzucić .)Δ wΔ w Δ w
źródło
Dwie odpowiedzi są równoważne. Osobiście uważałbym to za średni błąd zamiast sumy. Pamiętaj jednak, że opadanie gradientu ma parametr zwany współczynnikiem uczenia się i odejmowana jest tylko część gradientu błędu. Tak więc, czy błąd jest zdefiniowany jako suma średniej, można zrekompensować, zmieniając szybkość uczenia się.
źródło