Sieci neuronowe 100 milionów razy szybsze od algorytmu Brutus

| Astronomia/fizyka
J.C. Sprott, University of Wisconsin

Problem trzech ciał, czyli ruchu trzech ciał oddziałujących na siebie przez grawitację, stanowi poważne wyzwanie obliczeniowe od czasu sformułowania go przez Newtona. Obecnie, dzięki komputerom. możemy poznać dokładne rozwiązanie problemu, jednak nawet nowoczesnym maszynom obliczenia zajmują całe tygodnie, a nawet miesiące.

Grupa naukowców z Uniwersytetów w Lejdzie, Aveiro, Edynburgu i Cambridge zaprzęgła do obliczeń sztuczną inteligencję. Okazało się, że sieci neuronowe radzą sobie z obliczeniami nawet 100 milionów razy szybciej niż najbardziej zaawansowany obecnie algorytm Brutus. Jak mówi Chris Foley z University of Cambridge, to pokazuje, że sieci neuronowe mogą zostać wykorzystane do badania zachowania gromad gwiazd i lepszego poznania wszechświata.

Jak czytamy w opublikowanym w arXiv artykule pod tytułem „Newton vs the machine: solving the chaotic three-body problem using deep neural networks [PDF]”, równania takie odgrywają główną rolę w rozwiązaniu wielu klasycznych problemów fizyki. Na przykład wyjaśniają one dynamiczną ewolucję gromad kulistych i jąder galaktycznych, które są uważane za miejsca powstawania układów podwójnych czarnych dziur, które w końcu łączą się, wytwarzając fale grawitacyjne. Los tych systemów zależy od interakcji trzech ciał, układów podwójnych czarnych dziur i pojedynczej czarnej dziury. Interakcje pomiędzy nimi zachodzą zwykle w ściśle określonym przedziale czasu i, biorąc pod uwagę silne interakcje pomiędzy tymi trzema ciałami, można zignorować wpływ innych ciał, co oznacza, że interakcje pomiędzy trzema ciałami można obliczać w izolacji od innych interakcji.

Foley zauważa, że jeśli potwierdzi się, że sieć neuronowa pozwala na dokonanie precyzyjnych obliczeń w bardo krótkim czasie, to będziemy mogli myśleć o odpowiedziach na znacznie głębsze pytania, jak np. te o powstawanie fal grawitacyjnych.

Jako, że sieci neuronowe wymagają odpowiedniego treningu przed zaprzęgnięciem ich do pracy Foley i jego koledzy – Philip G. Breen, Tjarda Boekholt i Simon Portegies Zwart – przygotowali za pomocą Brutusa 9900 uproszczonych scenariuszy dotyczących problemu trzech ciał. One posłużyły do treningu. Następnie przetestowali swoją sieć neuronową dając jej do rozwiązania 5000 kolejnych problemów tego typu, z którymi wcześniej się nie zetknęła. Okazało się, że wykonane przez nią obliczenia dały bardzo podobne wyniki, jak te, które uzyskano z Brutusa. O ile jednak Brutus potrzebował na rozwiązanie każdego z tych 5000 problemów około 2 minut, sieć neuronowa radziła sobie z nimi w ułamku sekundy.

Christopher Foley wyjaśnia, że Brutus i podobne mu algorytmy są znacznie wolniejsze od SI, gdyż prowadzą obliczenia dla każdego niewielkiego przesunięcia się każdego z ciał w układzie. Tymczasem sztuczna inteligencja przygląda się ruchowi i poszukuje wzorców, które pozwolą na przewidzenie przyszłego zachowania ciał.

Uczony zauważa, że problemem może być skalowanie możliwości sieci neuronowej. Musi ona bowiem się uczyć na istniejącym zestawie danych. Teraz była trenowana na uproszczonych scenariuszach. Jeśli jednak będzie potrzeba nauczenia jej radzenia sobie z bardziej złożonymi scenariuszami, czy z układami czterech lub nawet pięciu ciał, konieczne będzie wcześniejsze przygotowanie scenariuszy treningowych. A te trzeba będzie wykonać za pomocą powolnego Brutusa. Tu właśnie dochodzimy do momentu, gdy z jednej strony możemy trenować fantastycznie pracującą sieć neuronową, a z drugiej potrzebujemy danych treningowych. To wąskie gardło, stwierdza Foley. Sposobem na poradzenie sobie z tym problemem byłoby stworzenie całego zestawu danych uzyskanych za pomocą takich programów jak Brutus. To jednak oznacza, że najpierw musiałyby powstać standardowe protokoły, dzięki którym dane uzyskane od różnych programów będą spełniały te same wymagania i zostaną zapisane w tych samych formatach.

Innym problemem jest fakt, że sieć neuronowa może zostać uruchomiona na określony czas. Nie sposób jednak przewidzieć, jak długo potrwają konkretne obliczenia zatem sieć może przestać działać zanim dostarczy wyników. Foley przewiduje powstawanie hybryd, w których część pracy wykonają programy takie jak Brutus, a sieci neuronowe zajmą się przetwarzaniem tylko najbardziej wymagających obliczeń. Za każdym razem gdy podczas obliczeń Brutus się zatnie, może włączać się sieć neuronowa i popchnie obliczenia do przodu, a gdy Brutus znowu będzie gotów do pracy, podejmie ją na nowo.

problem trzech ciał sieć neuronowa sztuczna inteligencja Brutus