Powstała 50 lat temu „Gra w życie” Johna Conwaya obnaża słabości współczesnych sieci neuronowych

Game of Life (Gra w życie) została wymyślona w 1970 roku przez brytyjskiego matematyka Johna Conwaya. Nie jest grą w powszechnym rozumieniu tego słowa. Sam autor nazywał ją „grą dla zera graczy” (zero-player game). Możemy o niej myśleć prędzej jako o symulacji – alegorii… życia.

Wygląda to tak. Jest płaszczyzna, a na niej rozmieszczone obok siebie kratki. Jak na kartce papieru w kratkę. Kratki to komórki (cells). Komórka może być martwa (pusta kratka) lub żywa (zamalowana komórka). Każda komórka może mieć maksymalnie 8 sąsiadów (z 4 graniczy ścianami, z 4 łączy się rogami). Życie płynie. W przypadku naszej gry – w turach zwanych krokami (steps).

W każdym kroku wszystkie komórki w grze zmieniają się (lub nie) zgodnie z czterema prostymi zasadami:

  1. Żywa komórka, która ma mniej niż dwóch sąsiadów, w kolejnym kroku umiera.
  2. Żywa komórka, która ma więcej niż trzech sąsiadów, umiera.
  3. Żywa komórka, która ma dwóch lub trzech sąsiadów – przeżywa.
  4. Martwa komórka, która ma trzech żywych sąsiadów – ożywa.

Te cztery zasady stanowią bardzo uproszczoną alegorię zasad rządzących życiem w jego różnych przejawach od organizmów jednokomórkowych po społeczeństwa.

Adres filmu na Youtube: https://www.youtube.com/watch?v=ouipbDkwHWA&t=3s

Wprowadzenie do „Gry o życie”
Źródło: Eric Steinhart / YouTube

Rola gracza ogranicza się do zaprojektowania stanu wyjściowego. Potem życie toczy się samo i podlega bezwzględnym zasadom cyklu życia i śmierci. Rozwój wypadków można śledzić na kartce papieru, co zdolniejsi symulacje tego rodzaju przeprowadzają w głowie. Od lat powstają również komputerowe implementacje.

Odpowiednie zaprojektowanie stanu wyjściowego prowadzi do powstania bardzo ciekawych, dynamicznych struktur żywych komórek, które od lat są nazywane i katalogowane przez miłośników tej rozrywki. Ich łączenie pozwala na stworzenie skomplikowanych mechanizmów, często składających się z tysięcy komórek.

Co ciekawe, dzięki prostym zasadom rządzącym rozwojem wypadków można ze stuprocentową pewnością przewidzieć stan nawet bardzo skomplikowanego układu komórek w dowolnym przedziale czasowym.

Specjaliści od sztucznej inteligencji ze Swarthmore College i Narodowego Laboratorium w Los Alamos postanowili sprawdzić, jak z tym zadaniem poradzą sobie sieci neuronowe. Swoje ustalenia opisali w pracy „It’s Hard For Neural Networks to Learn the Game of Life”.

Adres filmu na Youtube: https://www.youtube.com/watch?v=C2vgICfQawE

Animacje zainspirowane „rozgrywką”
Źródło: Oingo Boingo / YouTube

Pewnie się już domyślacie, do czego doszli.

Zespół pod kierownictwem Jacoba Springera zaczął od stworzenia małej konwolucyjnej sieci neuronowej i ręcznego zaprogramowania jej parametrów (liczbowo określonych wag połączeń pomiędzy neuronami), by miała stuprocentową skuteczność w przewidywaniu stanu komórek „Game of Life”.

Następnie wzięli ten sam model, zainicjowali go w klasyczny sposób – nadali parametrom przypadkowe wagi – i zaczęli go uczyć na zbiorze przypadkowych stanów komórek. Chcieli sprawdzić, czy modelowi uda się samodzielnie dojść do optymalnej konfiguracji parametrów, pozwalającej na stuprocentową skuteczność.

Okazało się to niemożliwe. Sieć zainicjowana przypadkowymi wagami, niezależnie od wielkości materiału treningowego, nie zdołała osiągnąć skuteczności porównywalnej z ręcznie zoptymalizowaną siecią. Na jakość sieci bardzo duży wpływ miał dobór przykładów do zestawu testowego oraz wagi, które zostały przypadkowo wylosowane podczas inicjalizacji.

Dopiero po powiększeniu modelu – zwiększeniu liczby parametrów – udało się osiągnąć skuteczność bliską stuprocentowej.

Te ustalenia są zgodne z „hipotezą losu na loterię”, którą w zeszłym roku sformułowali Jonathan Frankle i Michael Carbin z Massachusetts Institute of Technology. Pisaliśmy o niej w artykule „Zawartość sieci w sieci”.

Mówi ona, że w ramach każdej dużej sieci neuronowej działa mniejsza podsieć, która może wykonać zadanie z porównywalną skutecznością. Wynika to z faktu, że w wytrenowanej sieci neuronowej tylko część połączeń między neuronami odgrywa faktyczną rolę w wykonaniu zadania. Reszta ma znaczenie marginalne i można je usunąć. O tym, które neurony znajdą się w tej pierwszej grupie, decyduje ślepy traf – wagi przypisane losowo podczas inicjalizacji – stąd mowa o losie na loterię.

„Hipoteza losu na loterię sugeruje, że podczas treningu konwolucyjnej sieci neuronowej małe ‘szczęśliwe’ podsieci sprawnie skupiają się na rozwiązaniu. To sugeruje, że zamiast szukać optymalnego rozwiązania w całej przestrzeni parametrów, proces optymalizacji polega na szczęśliwych inicjalizacjach wag, które przypadkiem umiejscawiają podsieć w pobliżu rozwiązania” – piszą autorzy pracy.

Eksperyment z „Grą w życie” pokazał także słabość sieci neuronowych w odczytywaniu czy symulowaniu prostych zdawałoby się zasad rządzących układami. Z podobnym problemem borykają się badacze, którzy próbują użyć sieci neuronowych w logice, matematyce czy fizyce.

„Biorąc pod uwagę, jak dużą trudność sprawiła sieciom neuronowym ‘Gra w życie’, którą można dość prosto opisać w sposób symboliczny za pomocą kilku zasad, spodziewam się, że bardziej złożona manipulacja symboliczna byłaby dla sieci neuronowych znacznie trudniejsza do nauczenia i wymagałaby większych sieci” – mówi Jacob Springer w rozmowie z Tech Talks. „Nasze ustalenia niekoniecznie sugerują, że sieci neuronowe nie mogą nauczyć się wykorzystania reguł symbolicznych do podejmowania decyzji, jednak takie typy systemów mogą być dla nich wyjątkowo trudne do opanowania” – dodaje.

Skip to content