Jak można wykorzystać rekurencyjne sieci neuronowe do klasyfikacji sekwencji?

19

RNN może być wykorzystywany do przewidywania lub mapowania sekwencji do sekwencji. Ale w jaki sposób można użyć RNN do klasyfikacji? Dajemy całej sekwencji jedną etykietę.

użytkownik64003
źródło
Spróbuję przewidzieć następny termin na podstawie poprzedniego. Następnie przygotowałbym tę sieć do radialnej funkcji bazowej (3 * liczników klasowych lub mniej więcej gaussowskich neuronów pdf), których dane wejściowe są błędami prognozowania serii, a dane wyjściowe są etykietami klas. Miałbym przyzwoitą liczbę neuronów w warstwie wejściowej - wystarczającą, aby uwzględnić liczbę elementów sekwencji wymaganych do klasyfikacji. To tylko moje osobiste podejście.
EngrStudent - Przywróć Monikę

Odpowiedzi:

13

Można użyć RNN do mapowania wielu danych wejściowych na pojedyncze dane wejściowe (etykietę), jak to pokazuje rysunek ( źródło ):

wprowadź opis zdjęcia tutaj

Każdy prostokąt jest wektorem, a strzałki reprezentują funkcje (np. Mnożenie macierzy). Wektory wejściowe są w kolorze czerwonym, wektory wyjściowe są w kolorze niebieskim, a wektory zielone utrzymują stan RNN (więcej na ten temat wkrótce). Od lewej do prawej: (1) Waniliowy tryb przetwarzania bez RNN, od wejścia o stałej wielkości do wyjścia o stałej wielkości (np. Klasyfikacja obrazu). (2) Wyjście sekwencji (np. Podpisy obrazów pobierają obraz i generują zdanie słów). (3) Wprowadzanie sekwencji (np. Analiza sentymentu, gdy dane zdanie jest klasyfikowane jako wyrażające sentyment pozytywny lub negatywny). (4) Wprowadzanie sekwencji i wyjście sekwencji (np. Tłumaczenie maszynowe: RNN czyta zdanie po angielsku, a następnie wypisuje zdanie po francusku). (5) Synchronizowane sekwencje wejściowe i wyjściowe (np. Klasyfikacja wideo, w której chcemy oznaczyć każdą klatkę wideo).

Franck Dernoncourt
źródło
4

W przypadku prostego RNN, podaj całą sekwencję do swojej sieci, a następnie wyjmij etykietę klasy na ostatnim elemencie sekwencji (zobacz ten artykuł i odniesienia tam na wczesnym przykładzie tego podejścia). W fazie treningowej możemy przesunąć wstecz błąd w czasie od ostatniego elementu sekwencji do początku sekwencji. Zasadniczo nie różni się to od problemu znakowania sekwencji RNN, w którym musimy przypisywać etykiety tylko do niektórych elementów sekwencji (lub wszystkie inne elementy są oznaczone jako INNE).

Denis Tarasow
źródło
Należy zachować ostrożność w przypadku dłuższych sekwencji. Informacje od początku sekwencji mogą zostać przytłoczone informacjami w dół sekwencji.
Vladislavs Dovgalecs