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ą?