Pojawienie się języka w grach wieloagentowych: nauka komunikowania się za pomocą sekwencji symboli

Serhii Havrylov i Ivan Titov (ML Research Partners z University of Edinburgh / University of Amsterdam)

Język był niezbędnym narzędziem dla ludzkiej cywilizacji w przekazywaniu wiedzy nowym pokoleniom. Pochodzenie języka porywa ludzkie umysły od stuleci i doprowadziło do wielu badań.

Jednak do niedawna prawie wszystkie modele matematyczne do badania pojawienia się języka musiały być ograniczone do prostych, mało wymiarowych przestrzeni obserwacyjnych z powodu ograniczeń algorytmicznych i obliczeniowych. W ostatnich latach społeczność głęboko ucząca się wykazała znaczne zainteresowanie tym problemem. Poniższy post przedstawia nasze główne wkłady w dziedzinie językoznawstwa i uczenia maszynowego powstałe podczas naszego wspólnego projektu badawczego z zespołem badawczym ds. Uczenia maszynowego w SAP.

Granie w grę referencyjną

Jednym z najbardziej podstawowych wyzwań związanych z używaniem języka jest odwoływanie się do określonych rzeczy. Nic więc dziwnego, że gra referencyjna to miejsce, w którym uczymy się komunikować. Gry te, składające się z wielu ograniczonych interaktywnych zadań związanych z rozumowaniem, służą do badania pragmatycznego wnioskowania o maszynach w kontrolowanym otoczeniu. Chociaż możliwych jest wiele rozszerzeń podstawowej gry referencyjnej, zdecydowaliśmy się na następującą konfigurację gry:

  1. Obraz docelowy jest wybierany z kolekcji obrazów z obrazami rozpraszającymi \ (K \).
  2. Są dwaj agenci: nadawca i odbiorca.
  3. Po obejrzeniu obrazu docelowego nadawca musi wymyślić komunikat reprezentowany przez sekwencję symboli ze słownika o ustalonym rozmiarze. Istnieje maksymalna możliwa długość sekwencji.
  4. Biorąc pod uwagę wygenerowany komunikat i zestaw obrazów składający się z rozpraszających obrazy i obrazu docelowego, odbiorca powinien zidentyfikować prawidłowy obraz docelowy.

W związku z tym, aby odnieść sukces w tej grze referencyjnej, nadawca musi starannie wybrać słowa i umieścić je w sekwencji, która ułatwi odbiorcy prawidłowe rozpoznanie, jaki obraz został pokazany nadawcy. Ustawienie zasadniczo różni się od poprzednich badań w tej dziedzinie, ponieważ nasze podejście na przykład wykorzystuje sekwencje zamiast pojedynczych symboli do generowania komunikatów, co czyni nasze ustawienie bardziej realistycznym i trudnym z punktu widzenia uczenia się.

Agenci

Zarówno agenci, nadawca, jak i odbiorca, są implementowani jako rekurencyjne sieci neuronowe, a mianowicie długie sieci pamięci krótkotrwałej, które są jednym ze standardowych narzędzi do generowania i przetwarzania sekwencji. Poniższy rysunek pokazuje szkic modelu, w którym ciągłe strzałki reprezentują obliczenia deterministyczne. Strzałki przerywane pokazują kopiowanie wcześniej uzyskanego słowa. I wreszcie strzałki w kształcie rombu przedstawiają próbkowanie słowa ze słownika.

Prawdopodobnie jest to najważniejsza i najbardziej kłopotliwa część modelu. Z jednej strony jest to kluczowy element, ponieważ nadawca decyduje o tym, co dalej. Z drugiej strony jest kłopotliwy, ponieważ jest stochastyczny. Niestety, wszechobecny algorytm propagacji wstecznej opiera się na łańcuchach funkcji różniczkujących w sposób ciągły w każdej z warstw sieci neuronowej. Jednak ta konkretna architektura zawiera próbkowanie nierozróżnialne od dyskretnego rozkładu prawdopodobieństwa, co oznacza, że ​​nie możemy od razu zastosować propagacji wstecznej.

System wizualny nadawcy jest zaimplementowany jako splotowa sieć neuronowa (CNN). W naszym przypadku obrazy są reprezentowane przez wyjścia przedostatniej ukrytej warstwy CNN. Jak widać na powyższym rysunku, wiadomość jest uzyskiwana przez sekwencyjne próbkowanie, aż do osiągnięcia maksymalnej możliwej długości lub wygenerowania specjalnego tokena „koniec wiadomości”.

Uczenie się

Stosunkowo łatwo jest nauczyć się zachowania agenta odbierającego w kontekście gry referencyjnej. Ponieważ jest ona zróżnicowana od końca do końca, gradienty funkcji straty w odniesieniu do jej parametrów można skutecznie oszacować. Prawdziwym wyzwaniem jest poznanie agenta nadawcy. Jego wykres obliczeniowy zawiera próbkowanie, co czyni go nierozróżnialnym. Jako punkt odniesienia wdrożyliśmy algorytm REINFORCE. Ta metoda zapewnia prosty sposób oszacowania gradientów funkcji straty w odniesieniu do parametrów polityki stochastycznej. Mimo że jest bezstronny, zwykle ma dużą wariancję, co spowalnia naukę modelu. Na szczęście w ubiegłym roku dwie grupy samodzielnie odkryły stronniczy, ale o niskiej wariancji estymator - estymator Gumbela-Softmaxa (estymator GS). Pozwala rozluźnić oryginalną zmienną dyskretną za pomocą jej ciągłego odpowiednika. To wszystko różnicuje, co pozwala na zastosowanie algorytmu propagacji wstecznej. Ponieważ ten temat jest dość duży i zasługuje na własny post, zachęcamy do przeczytania posta na blogu jednego z autorów tej metody.

Nasze znaleziska

Pierwszą rzeczą, którą zbadaliśmy po zapoznaniu się z modelem, był wskaźnik skuteczności komunikacji. Uważamy, że komunikacja między dwoma agentami jest udana, gdy obraz docelowy jest poprawnie zidentyfikowany. Jak widać na poniższym rysunku, wyniki przy użyciu estymatora Gumbela-Softmaxa (krzywe czerwone i niebieskie) są lepsze niż wyniki algorytmu REINFORCE (krzywe żółte i zielone), z wyjątkiem przypadków, gdy agentom wolno komunikować się tylko za pomocą jednego słowa.

Zakładamy, że w tym stosunkowo prostym ustawieniu wariancja REINFORCE nie stanowi problemu, a właściwość bycia obiektywnym się opłaca. Jednocześnie odchylenie estymatora GS odciągnęło go od optymalnego rozwiązania. Ponadto fabuła ta idzie w parze z intuicją i wyraźnie pokazuje, że używając większej liczby słów można precyzyjniej opisać obraz.

Zbadaliśmy również, ile interakcji należy wykonać między agentami, aby poznać protokół komunikacyjny. Ku naszemu zdziwieniu zauważyliśmy, że liczba aktualizacji wymaganych do osiągnięcia zbieżności szkolenia za pomocą estymatora GS (zielona krzywa) zmniejsza się, gdy pozwalamy nadawcy używać dłuższych wiadomości. Takie zachowanie jest nieco sprzeczne z intuicją, ponieważ można się spodziewać, że trudniej jest nauczyć się protokołu, gdy przestrzeń wyszukiwania protokołów komunikacyjnych jest większa. Innymi słowy, stosowanie dłuższych sekwencji pomaga szybciej nauczyć się protokołu komunikacyjnego. Jednak nie jest tak w przypadku estymatora REINFORCE (czerwona krzywa): zwykle potrzeba pięciokrotnie większej liczby aktualizacji, aby zbiegać się w porównaniu z estymatorem GS. Ponadto nie ma wyraźnej zależności między liczbą aktualizacji potrzebnych do konwergencji a maksymalną możliwą długością wiadomości.

Ponadto, wykreślamy zakłopotanie kodera, który prawdopodobnie mierzy, z ilu opcji nadawca musi wybierać w każdym z przedziałów czasowych, próbkując z rozkładu prawdopodobieństwa przez słownictwo. Widzieliśmy, że dla estymatora GS (zielona krzywa) liczba opcji jest stosunkowo wysoka i rośnie wraz z długością zdania, podczas gdy dla algorytmu REINFORCE (czerwona krzywa) wzrost zakłopotania nie jest tak szybki. Oznacza to nadmiarowość w kodowaniach, co oznacza, że ​​istnieje wiele parafraz kodujących tę samą treść semantyczną.

Jak wygląda wyuczony język? Aby lepiej zrozumieć naturę tego języka, sprawdziliśmy niewielki podzbiór zdań o maksymalnej możliwej długości wiadomości równej 5 jednostkom wyprodukowanym przez model. Najpierw zrobiliśmy losowe zdjęcie obiektu i wygenerowaliśmy wiadomość. Następnie iterowaliśmy zbiór danych i losowo wybrane obrazy z wiadomościami, które mają wspólne prefiksy 1, 2 i 3 symboli z wygenerowanym komunikatem.

Na przykład pierwszy rząd lewej figury z podzestawem zdjęć zwierząt pokazuje niektóre próbki, które odpowiadają kodowi (5747 * * * *). W tym przypadku „*” oznacza dowolne słowo ze słownika lub dopełnienia końca zdania.

Wydaje się jednak, że obrazy dla kodu (* * * 5747 *) nie odpowiadają żadnej z góry określonej kategorii. Sugeruje to, że kolejność słów jest kluczowa w rozwiniętym języku. W szczególności słowo 5747 na pierwszej pozycji koduje obecność zwierzęcia na obrazie. Ten sam rysunek pokazuje, że wiadomość (5747 5747 7125 * *) odpowiada określonemu gatunkowi niedźwiedzi, co sugeruje, że rozwinięty język implementuje pewien rodzaj hierarchicznego kodowania. Jest to bardzo interesujące, ponieważ model nie był wyraźnie ograniczony do korzystania z hierarchicznego schematu kodowania. Przypuszczalnie ten schemat może pomóc modelowi w efektywnym opisaniu niewidocznych obrazów. Niemniej jednak język naturalny wykorzystuje inne zasady, aby zapewnić kompozycję. Model wydaje się mieć ogólne zastosowanie, ponieważ pokazuje podobne zachowanie obrazów w dziedzinie żywności (prawy obraz na powyższym rysunku).

W naszym badaniu wykazaliśmy, że agenci modelowani przy użyciu sieci neuronowych mogą z powodzeniem wynaleźć wydajny język, który składa się z sekwencji dyskretnych tokenów. Odkryliśmy również, że agenci mogą szybciej opracować protokół komunikacyjny, jeśli pozwolimy im używać dłuższych sekwencji symboli. Ponadto zaobserwowaliśmy, że indukowany język implementuje hierarchiczny schemat kodowania i istnieje wiele parafraz, które kodują tę samą treść semantyczną. W przyszłych pracach chcielibyśmy rozszerzyć to podejście na modelowanie systemów dialogu zorientowanego na cele.

Chatboty i konwersacyjne platformy AI stają się coraz ważniejsze w sferze przedsiębiorczości, szczególnie w sektorze bankowym, ubezpieczeniowym i telekomunikacyjnym. Jednak obecne podejścia do budowy tych technologii nadal opierają się na rozległym nadzorze człowieka. Ludzie albo muszą budować reguły, albo podawać przykłady udanych dialogów, które służą szkoleniu inteligentnych asystentów. Trudno to skalować do złożonych zadań, ponieważ nadzór jakości jest kosztowny i czasochłonny. Co więcej, ludzkie podejście może być niespójne lub mogą istnieć bardziej skuteczne sposoby rozwiązania zadań. Nasze podejście ma obiecujący potencjał do zastąpienia lub uzupełnienia tego standardowego scenariusza: chatboty mogłyby następnie wykorzystać informacje zwrotne na temat wykonania zadania, umożliwiając dodatkowy opłacalny nadzór. W pewnym momencie może to pomóc w tworzeniu skutecznych asystentów cyfrowych w krótszym czasie i przy mniejszych kosztach. Oczekujemy również, że umożliwi to maszynom radzenie sobie z nowymi scenariuszami i zmianami w istniejących ustawieniach bez wyraźnej interwencji człowieka lub konieczności nowych zestawów danych.

Prezentowaliśmy naszą pracę na NIPS'17. Aby uzyskać więcej informacji i szczegóły techniczne naszego badania, sprawdź: Pojawienie się języka w grach wieloagentowych: Naucz się komunikować za pomocą sekwencji symboli.