Czy istnieją jakieś ogólne wytyczne dotyczące miejsca umieszczania warstw odpadających w sieci neuronowej?
neural-networks
dropout
Franck Dernoncourt
źródło
źródło
Odpowiedzi:
W oryginalnym artykule, w którym zaproponowano warstwy zrywające, autorstwa Hintona (2012) , zrzucono (przy p = 0,5) na każdej z w pełni połączonych (gęstych) warstw przed wydrukiem; nie zastosowano go na warstwach splotowych. Ta stała się najczęściej używaną konfiguracją.
Nowsze badania wykazały pewną wartość w stosowaniu rezygnacji również z warstw splotowych, chociaż na znacznie niższych poziomach: p = 0,1 lub 0,2. Usunięcie zastosowano po funkcji aktywacji każdej warstwy splotowej: CONV-> RELU-> DROP.
źródło
relu
aktywacją, po której następuje warstwa maksimum puli, czy warstwa odpadająca (2D) powinna iść natychmiast po splotie, czy po warstwie maksimum puli, czy też obie, czy to nie ma znaczenia?RELU
każdej warstwie CONV. Nie sądzę, aby zbadali wpływ dodania porzucania po maksymalnych warstwach pulowania.Przed każdą projekcją liniową. Patrz Srivastava i in. (2014) .
źródło
W oryginalnym papierze zaproponowano warstwy odpadające, które zastosowano na każdej z w pełni połączonych (gęstych) warstw przed wydrukiem; nie zastosowano go na warstwach splotowych.
Nie wolno nam używać warstwy odpadającej po warstwie splotowej, ponieważ przesuwając filtr na szerokość i wysokość obrazu wejściowego, tworzymy dwuwymiarową mapę aktywacji, która daje odpowiedzi tego filtra w każdej pozycji przestrzennej. Tak więc, gdy warstwa odpadowa neutralizuje (zeruje) losowe neurony, istnieje szansa na utratę bardzo ważnej cechy na obrazie w naszym procesie treningowym.
źródło
Jeśli się nie mylę, możesz dodać to po nieliniowości każdej komórki:
Pierwszy wiersz to funkcja aktywacji, a ostatni to dodanie wyniku do wyniku. Proszę odnieść się do tego bloga . Mam nadzieję że to pomoże.
Możesz też umieścić go na stronie wejściowej, tak jak w tym fragmencie:
Źródło: https://github.com/spro/practical-pytorch/blob/master/seq2seq-translation/seq2seq-translation.ipynb
Technicznie możesz dodać warstwę usuwaną na końcu bloku, na przykład po splotie lub po kodowaniu RNN.
źródło