Sieci neuronowe 100 milionów razy szybsze od algorytmu Brutus
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.
Komentarze (7)
darekp, 6 listopada 2019, 08:39
Trochę OT, ale, czy wiecie może, jakie są możliwości, żeby zapoznać się samodzielnie z sieciami neuronowymi czy ML w domu? Tzn. od czego można w miarę szybko i sprawnie zacząć, np. (tak sobie wyobrażam) ściągnąć z internetu jakiś darmowy framework czy tp., napisać jakiś prosty program w Pythonie, który coś ciekawego robi? Można przyjąć, że mam podstawy teoretyczne - dawno temu mieliśmy na studiach dość obszerny kurs - bez praktycznego programowania - ale wzory itp. pewnie sobie przypomnę w miarę szybko "w boju"
Korhydron, 6 listopada 2019, 09:23
Biblioteki Tensorflow i Keras dla Pythona są przygotowane stricte do Deep learningu i uczenia maszynowego
Afordancja, 6 listopada 2019, 13:28
Nic nie trzeba nawet znać do prostych zastosowań, jak wspomniał przedmówca, tensorflow/keras przykładów jest mnóstwo.
Można wejść tak wysokopoziomowo, że praktycznie tylko wystarczy znormalizować wejście ustalić ilość warstw (są jeszcze typy) i jazda.
Jakiś czas temu był artykuł podobny do tego, co wyżej też jakieś "kosmiczne obliczenia" i dali link do githuba do kodu i okazuje się, że całą sieć była tak "skomplikowana" jak dowolne przykłady użycia sieci dla studentów/początkujących.
rozan, 6 listopada 2019, 13:43
Nie jestem żadnym fizykiem, ale z tego, co zrozumiałem, to sieć neuronowa może być kompatybilna z tym Brutusem, który w przeciwieństwie do tego pierwszego może obliczać różne rozwiązania bez wzorowania się na dostarczanych fizycznie widocznych danych. Ogólnie pewnie Newton byłby dumny Oglądałem kiedyś serial rozkminiaczowy na temat m.in fal grawitacyjnych tworzących się w pewnej szkole z czarną dziurą w centrum budynku, taka fajna produkcja dla młodzieży. Szczerze bardzo zachęcała do uczenia się tego, co wtedy uważałem za zbędne. Polecam "dziwne przypadki w Blake Hose-High". Tam będzie dużo o grawitacji, kombinowaniu co by było, gdyby pewne prawa fizyki przestały funkcjonować itd. Może wtedy jeszcze przy okazji wpadniecie na coś nowego i pochwalicie się tym tutaj.
Jurek55, 13 listopada 2019, 20:34
Problem nie trzech ale miliardów ciał poruszających się w "polu grawitacyjnym" Natura rozwiązuje on-line!
ex nihilo, 13 listopada 2019, 21:25
Raczej w ogóle nie rozwiązuje, bo nie ma takiej potrzeby. Co będzie, to będzie.
Uplink, 13 listopada 2019, 21:55
Kiedyś stworzymy komputer, który zasymuluje cały wszechświat, a istoty, ktore tam powstaną będą go nazywały Natura