Soft attention vs. hard attention

W tym wpisie na blogu, nieuzasadniona skuteczność powtarzających się Sieci Neuronowych , Andrej Karpathy wspomina przyszłe kierunki uczenia maszynowego opartego na sieciach neuronowych:

Koncepcja uwagi jest najciekawszą nowością architektoniczną w sieciach neuronowych. [...] soft attention scheme for memory addressing jest wygodny, ponieważ utrzymuje model w pełni zróżnicowany, ale niestety trzeba poświęcić efektywność, ponieważ wszystko którym można się zająć (ale delikatnie). Pomyśl o tym jako o zadeklarowaniu wskaźnika w C, który nie wskazuje na konkretny adres, ale zamiast tego definiuje całą dystrybucję na wszystkie adresy w całej pamięci, a dereferencja wskaźnika zwraca ważoną sumę wskazanej zawartości (byłoby to kosztowne działanie!). Zmotywowało to wielu autorów do zamiany modeli miękkiej uwagi na twardą uwagę, gdzie jeden sampluje konkretny fragment pamięci do zajęcia (np. akcja read/write dla jakiejś komórki pamięci zamiast odczytu/zapisu ze wszystkich komórek w pewnym stopniu). Model ten jest znacznie bardziej filozoficznie atrakcyjny, skalowalny i wydajny, ale niestety jest również niezróżnicowalny.

Myślę, że zrozumiałem metaforę wskaźnika, ale czym dokładnie jest uwaga i dlaczego nie można odróżnić twardej?

Znalazłem Wyjaśnienie na temat uwagi tutaj, ale wciąż zdezorientowany na temat miękkiej/twardej części.

Author: dimid, 2016-02-22

1 answers

Czym dokładnie jest uwaga?

Aby móc zrozumieć to pytanie, musimy trochę zanurzyć się w pewnych problemach, które Uwaga stara się rozwiązać. Myślę, że jednym z przełomowych artykułów na temat hard attention jest powtarzające się modele wizualnej Uwagi i zachęcałbym czytelnika do przejrzenia tego artykułu, nawet jeśli na początku nie wydaje się on w pełni zrozumiały.

Aby odpowiedzieć na pytanie, czym dokładnie jest uwaga, postaram się stworzyć inną pytanie, na które uważam, że łatwiej jest odpowiedzieć. Czyli po co zwracać uwagę?. Artykuł, który podlinkowałem, ma na celu zwięzłą odpowiedź na to pytanie i odtworzę tutaj część rozumowania.

Wyobraź sobie, że miałeś zawiązane oczy i wzięto Cię na przyjęcie urodzinowe-niespodziankę i otworzyłeś Oczy. Co byś zobaczył? Urodziny!

Teraz, kiedy mówimy, że widzisz obrazek, jest to krótsza wersja następującej, bardziej poprawnej technicznie sekwencji działań , która jest, aby poruszać oczami w czasie i zbierać informacje o scenie. Nie widzisz każdego piksela obrazu naraz. Możesz uczestniczyć w pewnych aspektach obrazu jeden raz-krok po kroku i agregować informacje. Nawet na takim zaśmieconym zdjęciu np. rozpoznałbyś wujka Billa i kuzyna sama :). Dlaczego? Ponieważ zajmujesz się pewnymi istotnymi aspektami obecnego obrazu.

Właśnie takiej mocy chcemy aby dać naszym modelom sieci neuronowych. Dlaczego? Potraktuj to jako jakiś rodzaj regularyzacji. (Ta część odpowiedzi odwołuje się do artykułu) twój zwykły konwolucyjny model sieci ma zdolność rozpoznawania zaśmieconych obrazów, ale jak znaleźć dokładny zestaw wag, które są "dobre"? To trudne zadanie. Dzięki udostępnieniu sieci nowej funkcji na poziomie Architektury, która pozwala jej uczestniczyć w różnych częściach obrazu sekwencyjnie i agregować informacje z czasem ułatwiamy tę pracę, ponieważ teraz sieć może po prostu nauczyć się ignorować bałagan (lub taka jest nadzieja).

Mam nadzieję, że to odpowiedź na pytanie Czym jest ciężka Uwaga?. Teraz na naturę jego różniczkowalności . Pamiętasz, jak wygodnie wybraliśmy właściwe miejsca do oglądania, patrząc na zdjęcie urodzinowe? Jak to zrobiliśmy? Proces ten polega na dokonywaniu wyborów, które są trudne do reprezentowania w kategoriach różniczkowalna funkcja wejścia (obrazu). Na przykład na podstawie tego, na co już patrzyłeś i obrazu, zdecyduj, gdzie szukać dalej. Możesz mieć sieć neuronową, która wysyła odpowiedź tutaj, ale nie znamy prawidłowej odpowiedzi! W rzeczywistości nie ma poprawnej odpowiedzi. Jak zatem wytresować parametry sieci? Trening sieci neuronowych zależy krytycznie od różnicowalnej funkcji strat wejść. Przykładami takich funkcji strat są log-funkcja utraty prawdopodobieństwa, funkcja straty kwadratowej itp. Ale w tym przypadku nie mamy poprawnej odpowiedzi, gdzie szukać dalej. Jak zatem zdefiniować stratę? W tym miejscu pojawia się pole uczenia maszynowego o nazwie uczenie wzmacniające(RL). RL pozwala na wykonanie gradientu w przestrzeni polityk przy użyciu metod takich jak metoda wzmocnienia i algorytmy krytyka aktora.

Czym jest delikatna Uwaga?

Ta część odpowiedzi zapożycza się z artykułu, który nosi nazwę ucząc maszyny czytać i rozumieć . Głównym problemem z metodami RL, takimi jak metoda wzmocnienia, jest wysoka wariancja (pod względem gradientu obliczonej oczekiwanej nagrody), która skaluje się liniowo z liczbą ukrytych jednostek w sieci. To nie jest dobra rzecz, zwłaszcza jeśli masz zamiar zbudować dużą sieć. Stąd ludzie starają się szukać różnicowalnych modeli uwagi. Wszystko to oznacza, że termin uwaga i jako wynik funkcja strat jest różniczkowalną funkcją wejść i stąd istnieją wszystkie gradienty. W związku z tym możemy użyć naszego standardowego algorytmu backprop wraz-z jedną ze zwykłych funkcji strat do szkolenia naszej sieci. Czym więc jest delikatna Uwaga?

W kontekście tekstu odnosi się do zdolności modelu do wyboru powiązania większego znaczenia z pewnymi słowami w dokumencie vis-a-vis innymi tokenami. Jeśli czytasz dokument i musisz odpowiedzieć na pytanie na jego podstawie, skoncentrowanie się na określonych tokenach w dokumencie może pomóc ci lepiej odpowiedzieć na pytanie, niż po prostu odczytać każdy token tak, jakby był równie ważny. To jest podstawowa idea miękkiej uwagi w tekście. Powodem, dla którego jest to model różnicowalny, jest to, że decydujesz, ile uwagi poświęcisz każdemu tokenowi, opierając się wyłącznie na konkretnym tokenie i zapytaniu. Możesz na przykład reprezentować tokeny dokumentu i zapytania w tej samej przestrzeni wektorowej i spojrzeć na kropkę podobieństwo produktu/cosinusa jako miara tego, ile uwagi należy poświęcić temu konkretnemu tokenowi, biorąc pod uwagę to zapytanie. Zauważ, że operacja odległości cosinusa jest całkowicie różniczkowalna w odniesieniu do jej wejść, a zatem ogólny model kończy się różniczkowalnością. Należy zauważyć, że dokładny model używany przez papier różni się i ten argument jest tylko dla demonstracji, chociaż inne modele używają punktacji uwagi opartej na produkcie.

 44
Author: Sahil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-07 19:21:09