Funkcja rezygnacji polega na zwiększeniu odporności modelu, a także na usunięciu wszelkich prostych zależności między neuronami.
Neurony są usuwane tylko dla jednego przejścia do przodu i do tyłu przez sieć - co oznacza, że ich wagi są syntetycznie ustawione na zero dla tego przejścia, a więc ich błędy również, co oznacza, że wagi nie są aktualizowane. Dropout działa również jako forma regularyzacji , ponieważ w pewnym sensie karuje model za jego złożoność.
Polecam przeczytanie sekcji Dropout w książce Deep Learning Michaela Nielsena (darmowej i online), która daje miłą intuicję, a także zawiera bardzo pomocne diagramy / objaśnienia. Wyjaśnia, że:
Rezygnacja jest zupełnie inną techniką regularyzacji. W przeciwieństwie do regularyzacji L1 i L2, rezygnacja nie polega na modyfikacji funkcji kosztu. Zamiast tego porzucamy modyfikację samej sieci.
Oto fajny artykuł podsumowujący . Z tego artykułu:
Niektóre spostrzeżenia:
- Dropout zmusza sieć neuronową do uczenia się bardziej niezawodnych funkcji, które są przydatne w połączeniu z wieloma różnymi losowymi podzbiorami innych neuronów.
- Porzucenie z grubsza podwaja liczbę iteracji wymaganych do zbieżności. Czas szkolenia dla każdej epoki jest jednak krótszy.
- Z H ukrytymi jednostkami, z których każdą można upuścić, mamy 2 ^ H możliwych modeli. W fazie testowej brana jest pod uwagę cała sieć, a każda aktywacja jest zmniejszana o współczynnik p.
Przykład
Wyobraź sobie, że poproszę cię o filiżankę herbaty - zawsze możesz użyć prawej ręki do nalania wody, lewego oka do zmierzenia poziomu wody, a następnie prawej ręki ponownie wymieszać herbatę łyżeczką. Oznaczałoby to, że twoja lewa ręka i prawe oko nie mają większego sensu. Użycie opuszczenia wiązałoby się np. Z zawiązaniem prawej ręki za plecami - zmuszeniem do użycia lewej ręki. Teraz, po zrobieniu mi 20 filiżanek herbaty, bez użycia jednego oka lub jednej ręki, jesteś lepiej wyszkolony w używaniu wszystkiego, co dostępne. Być może później będziesz zmuszony zaparzyć herbatę w niewielkiej kuchni, w której można używać czajnika tylko z lewym ramieniem ... a po opuszczeniu masz doświadczenie! Stałeś się bardziej odporny na niewidzialne dane.
Upadek tak naprawdę nie usuwa neuronów, po prostu te konkretne neurony nie odgrywają żadnej roli (nie aktywują się) dla danej partii danych.
Przykład - załóżmy, że jest droga o 8 pasach - kiedy nadjeżdżają samochody ciężarowe, przejeżdżają przez pasy 1,2,4,6,7, gdy nadjeżdżają samochody, mijają pasy 2,3,4,7,8, a gdy nadjeżdżają rowery , przechodzą przez pasy 1,2,5,8. Niezależnie od pojazdu, wszystkie pasy są dostępne, ale tylko niektóre z nich są używane.
Podobnie, wszystkie neurony są używane w całym modelu, ale tylko pewien podzbiór neuronów jest aktywowany dla określonej partii danych. Model nie jest później wycinany, złożoność modelu pozostaje niezmienna.
Dlaczego warto skorzystać z dropouta?
Jak podano w książce Deep learning autorstwa Iana Goodfellowa,
Mówi także -
Ta książka mówi:
źródło
Innym sposobem spojrzenia na to, co robi wypadanie, jest to, że jest to jak płyta i skok przed współczynnikiem dla zmiennej towarzyszącej (to jest pewien złożony składnik interakcji pierwotnych zmiennych towarzyszących z pewnymi skomplikowanymi przekształceniami funkcjonalnymi) w modelu Bayesa. Jest to interpretacja zaproponowana przez Yarina Gal w jego pracy magisterskiej (patrz jego lista publikacji ).
Oto krótki, wymachujący ręką argument, dlaczego tak jest:
Dlaczego mielibyśmy chcieć wcześniej płyty z kolcami? Indukuje model bayesowski uśredniający pomiędzy siecią neutralną bez tego neuronu i jednym z nim. Innymi słowy, pozwala nam wyrazić niepewność, czy sieć neutralna naprawdę musi mieć pełną możliwą złożoność i odpowiednio uwzględnia tę niepewność w prognozy. Rozwiązuje to poważny problem polegający na tym, że sieci neutralne mogą się dopasowywać do danych (choć oczywiście nie jest to jedyny możliwy sposób osiągnięcia tego celu).
źródło
Warstwa usuwająca masowo zabija określoną część neuronów, zmniejszając zdolność reprezentacyjną danego modelu. Zapobiega to dopasowaniu przez sieć złożonych nieliniowych granic decyzyjnych (tj. „Szumowi” w zbiorze danych), tym samym zapobiegając (lub poprawiając) nadmierne dopasowanie.
źródło
Porzucenie pomaga poprawić wydajność modelu uczenia maszynowego z następujących powodów:
źródło