Jakiej funkcji straty należy użyć, aby ocenić model RNN o sekwencji 2?

10

Pracuję nad dokumentem Cho 2014, który wprowadził architekturę kodera-dekodera do modelowania seq2seq.

W pracy wydaje się, że wykorzystują one prawdopodobieństwo wyjścia podanego wejścia (lub jego logarytmiczne prawdopodobieństwo) jako funkcję straty dla wejścia o długości i wyjścia o długości N :M y NxM.yN.

P.(y1,,yN.|x1,,xM.)=P.(y1|x1,,xm)P.(y2)|y1,x1,,xm)P.(yN.|y1,,yN.-1,x1,,xm)

Myślę jednak, że widzę kilka problemów z używaniem tego jako funkcji utraty:

  1. Wydaje się zakładać, że nauczyciel wymusza na szkoleniu (tj. Zamiast wykorzystywać przypuszczenie dekodera dla pozycji jako danych wejściowych do następnej iteracji, używa znanego tokena.
  2. Nie penalizowałoby długich sekwencji. Ponieważ prawdopodobieństwo wynosi od 1 do N. wyjścia, jeśli dekoder wygenerowałby dłuższą sekwencję, wszystko po pierwszym N. nie uwzględniałoby straty.
  3. Jeśli model przewiduje wczesny token końca łańcucha, funkcja straty nadal wymaga N. kroków - co oznacza, że ​​generujemy dane wyjściowe w oparciu o nieprzeszkolony „rozmaitość” modeli. To wydaje się niechlujne.

Czy którykolwiek z tych problemów jest ważny? Jeśli tak, to czy nastąpił postęp w bardziej zaawansowanej funkcji strat?

użytkownik3243135
źródło

Odpowiedzi:

1

Wydaje się zakładać, że nauczyciel wymusza na szkoleniu (tj. Zamiast wykorzystywać przypuszczenie dekodera dla pozycji jako danych wejściowych do następnej iteracji, używa znanego tokena.

Pojęcie „zmuszanie nauczyciela” trochę mnie niepokoi, ponieważ w pewnym sensie pomija się pomysł: nie ma nic złego ani dziwnego w podawaniu następnego znanego tokena do modelu RNN - to dosłownie jedyny sposób na obliczenie . Jeśli autoregresyjnie zdefiniujesz rozkład w sekwencjach jako jak to zwykle się dzieje, gdzie każdy warunek warunkowy jest modelowany za pomocą RNN, wówczas „wymuszanie nauczyciela” jest prawdziwe procedura, która poprawnie maksymalizuje prawdopodobieństwo dziennika. (Pomijam pisanie sekwencji warunkowej powyżej, ponieważ nic to nie zmienia).logP.(y1,,yN.)P.(y)=jaP.(yja|y<ja)x

Biorąc pod uwagę wszechobecność MLE i brak dobrych alternatyw, nie sądzę, aby zakładanie „zmuszania nauczycieli” było budzące zastrzeżenia.

Niemniej jednak istnieją z tym pewne problemy - mianowicie model przypisuje wysokie prawdopodobieństwo wszystkim punktom danych, ale próbki z modelu niekoniecznie są prawdopodobne w prawdziwym rozkładzie danych (co skutkuje próbkami „niskiej jakości”). Możesz być zainteresowany „Profesorem Forcing” (Lamb i wsp.), Który łagodzi to poprzez przeciwstawną procedurę treningową bez rezygnacji z MLE.

Nie penalizowałoby długich sekwencji. Ponieważ prawdopodobieństwo wynosi od 1 do N wyjścia, jeśli dekoder wygenerowałby dłuższą sekwencję, wszystko po pierwszym N nie uwzględniałoby straty.

i

Jeśli model przewiduje wczesny token końca łańcucha, funkcja straty nadal wymaga N kroków - co oznacza, że ​​generujemy dane wyjściowe w oparciu o nieprzeszkolony „rozmaitość” modeli. To wydaje się niechlujne.

Żaden z tych problemów nie występuje podczas treningu. Zamiast myśleć o autoregresyjnym modelu sekwencji jako procedurze generowania prognozy, pomyśl o tym jako o sposobie obliczenia prawdopodobieństwa danej sekwencji. Model nigdy niczego nie przewiduje - możesz próbkować sekwencję lub token z rozkładu lub możesz zapytać, jaki jest najbardziej prawdopodobny następny token - ale są one zasadniczo różne od prognozy (i nie próbujesz podczas treningu zarówno).

Jeśli tak, to czy nastąpił postęp w bardziej zaawansowanej funkcji strat?

Mogą istnieć cele specjalnie zaprojektowane dla poszczególnych zadań dla różnych zadań modelowania. Powiedziałbym jednak, że MLE wciąż dominuje - został z nim wyszkolony najnowszy model GPT2, który osiągnął najnowszą wydajność w szerokim spektrum modelowania języka naturalnego i zadań związanych z rozumieniem.

shimao
źródło