Modele sekwencja-sekwencja

https://aie24.pl/

Jednym z najczęściej badanych zadań w NLP jest tłumaczenie maszynowe (MT), którego celem jest przetłumaczenie zdania z języka źródłowego na język docelowy, na przykład z hiszpańskiego na angielski. Trenujemy model anMT z dużym korpusem par zdań źródło/cel. Celem jest dokładne przetłumaczenie nowych zdań, których nie ma w naszych danych treningowych. Czy możemy wykorzystać RNN do stworzenia systemu MT? Z pewnością możemy zakodować zdanie źródłowe za pomocą RNN. Gdyby istniała zależność jeden do jednego między słowami źródłowymi a słowami docelowymi, moglibyśmy potraktować MT jako proste zadanie tagowania – biorąc pod uwagę słowo źródłowe „perro” w języku hiszpańskim, oznaczamy je jako odpowiadające mu angielskie słowo „pies”. Ale w rzeczywistości słowa nie są jedno-pierwsze: w języku hiszpańskim trzy słowa „caballo de mar” odpowiadają pojedynczemu angielskiemu słowu „konik morski”, a dwa słowa „perro grande” tłumaczą się na „duży pies”, z odwróconą kolejnością słów. Zmiana kolejności słów może być jeszcze bardziej ekstremalna; w języku angielskim temat jest zwykle na początek zdania, ale w Fidżi temat jest zwykle na końcu. Jak więc wygenerować zdanie w języku docelowym? Wygląda na to, że powinniśmy generować jedno słowo na raz, ale śledź kontekst, abyśmy mogli zapamiętać części źródła, które nie zostały jeszcze przetłumaczone, i śledzić, co zostało przetłumaczone, abyśmy się nie powtarzali my sami. Wydaje się również, że w przypadku niektórych zdań musimy przetworzyć całe zdanie źródłowe przed rozpoczęciem generowania celu. Innymi słowy, wygenerowanie każdego słowa docelowego jest uzależnione od całego zdania źródłowego i wszystkich wcześniej wygenerowanych słów docelowych. Daje to generowanie tekstu dla MT ścisłe powiązanie ze standardowym modelem języka RNN, Z pewnością, gdybyśmy wytrenowali RNN na tekstach w języku angielskim, bardziej prawdopodobne byłoby wygenerowanie „dużego psa” niż „duży pies”. Nie chcemy jednak generować losowego zdania w języku docelowym; chcemy wygenerować zdanie w języku docelowym, które odpowiada zdaniu w języku źródłowym. Najprostszym sposobem na to jest użycie dwóch RNN, jednego dla źródła i jednego dla celu. Przeprowadzamy źródłowy RNN nad zdaniem źródłowym, a następnie używamy końcowego stanu ukrytego ze źródłowego RNN jako początkowego stanu ukrytego dla docelowego RNN. W ten sposób każde słowo docelowe jest niejawnie uwarunkowane zarówno całym zdaniem źródłowym, jak i poprzednimi słowami docelowymi. Ta architektura sieci neuronowej nazywana jest podstawowym modelem sekwencja-sekwencja. Najczęściej stosuje się modele sekwencja-do-sekwencji używany do tłumaczenia maszynowego, ale może być również używany do wielu innych zadań, takich jak automatyczne generowanie podpisu tekstowego z obrazu lub podsumowania: przepisywanie długiego tekstu na krótszy, który zachowuje to samo znaczenie. Podstawowe modele sekwencja-sekwencja były znaczącym przełomem w szczególności w NLP i MT. Według Wu  podejście doprowadziło do zmniejszenia błędu o 60% w porównaniu z poprzednimi metodami MT. Ale te modele mają trzy główne wady:

* Błąd kontekstu w pobliżu: niezależnie od tego, co RNN chcą pamiętać o przeszłości, muszą dopasować się do swojego ukrytego stanu. Załóżmy na przykład, że RNN przetwarza słowo (lub krok czasowy) 57 w sekwencji 70 słów. Stan ukryty prawdopodobnie będzie zawierał więcej informacji o słowie w kroku czasowym 56 niż słowo w kroku czasowym 5, ponieważ za każdym razem, gdy wektor ukryty jest aktualizowany, musi zastąpić pewną ilość istniejących informacji nową informacją. To zachowanie jest częścią umyślnego projektu modelu i często ma sens w przypadku NLP, ponieważ pobliski kontekst jest zwykle ważniejszy. Jednak odległy kontekst może być również kluczowy i może się zgubić w modelu RNN; nawet LSTM mają trudności z tym zadaniem.

* Stały limit rozmiaru kontekstu: W modelu translacji RNN całe zdanie źródłowe jest skompresowane w pojedynczy, stały wymiarowy wektor stanu ukrytego. LSTM używany w najnowocześniejszym modelu NLP ma zwykle około 1024 wymiarów, a jeśli musimy przedstawić, powiedzmy, zdanie składające się z 64 słów w 1024 wymiarach, to daje nam to tylko 16 wymiarów na słowo – za mało dla złożone zdania. Zwiększenie rozmiaru wektora stanu ukrytego może prowadzić do powolnego trenowania i nadmiernego dopasowania.

* Wolniejsze przetwarzanie sekwencyjne: Jak omówiono już, sieci neuronowe osiągają znaczny wzrost wydajności poprzez przetwarzanie danych uczących w partiach, tak aby wykorzystać wydajną obsługę sprzętową dla arytmetyki macierzy. Z drugiej strony, RNN wydają się być ograniczone do operowania na danych uczących słowo po słowie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *