Jak dokładnie działa DropOut z warstwami splotowymi?


10

Dropout ( papier , wyjaśnienie ) ustawia moc wyjściową niektórych neuronów na zero. W przypadku MLP możesz mieć następującą architekturę zestawu danych kwiatów Iris :

4 : 50 (tanh) : dropout (0.5) : 20 (tanh) : 3 (softmax)

Działa to tak:

softmax(W3tanh(W2mask(D,tanh(W1input_vector)))

z , W 1R 50 × 4 , D { 0 , 1 } 50 × 1 , W 2R 20 × 50 , W 3R 20 × 3 (ignorowanie uprzedzeń ze względu na uproszczenie).input_vectorR4×1W1R50×4D{0,1}50×1W2R20×50W3R20×3

Przy orazD=(d)ij

dijB(1,p=0.5)

gdzie działanie zwielokrotnia punktowo D przez M (patrz iloczyn Hadamarda ).mask(D,M)DM

Stąd tylko próbkujemy macierz każdym razem, a zatem wypadanie staje się pomnożeniem węzła przez 0.D

Ale w przypadku CNN nie jest dla mnie jasne, co dokładnie zostało porzucone. Widzę trzy możliwości:

  1. Usuwanie kompletnych map obiektów (stąd jądro)
  2. Usunięcie jednego elementu jądra (zastąpienie elementu jądra przez 0)
  3. Upuszczenie jednego elementu mapy obiektów

Dodaj odniesienie / cytat do swojej odpowiedzi.

Moje myśli

Myślę, że Lasagne ma (3) (patrz kod ). Może to być najprostszy do wdrożenia. Jednak bliżej pierwotnego pomysłu może być (1).

Wygląda podobnie do Caffe (patrz kod ). W przypadku tensorflow użytkownik musi zdecydować ( kod - nie jestem pewien, co się stanie, gdy noise_shape=Nonezostanie przekazany).

Jak powinno być

(2) i (3) nie mają większego sensu, ponieważ spowodowałoby to dodanie przez sieć niezmienności do pozycji przestrzennych, co prawdopodobnie nie jest pożądane. Stąd (1) jest jedynym wariantem, który ma sens. Ale nie jestem pewien, co się stanie, jeśli użyjesz domyślnej implementacji.


Zadałem pytanie również w grupie użytkowników Lasagne .
Martin Thoma,

Znajomy zauważył, że (2) i (3) może nie być dobrym pomysłem, ponieważ może zmusić sieć do rozprzestrzeniania informacji przestrzennie.
Martin Thoma

Odpowiedzi:


1

lW(l+1)

Aby uzyskać więcej informacji, myślę, że sekcja 3 tego dokumentu może ci pomóc: Max-pooling & Convolutional rezygnacja . W szczególności 3.2.

Podczas testu używasz wszystkich węzłów sieci, ale z wagami filtra skalowanymi według prawdopodobieństwa zatrzymania, jak wyjaśniono w artykule.

Uściślij lub popraw moją odpowiedź.

Mam nadzieję, że to trochę pomoże.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.