211service.com
Facebook ma sieć neuronową, która może wykonywać zaawansowaną matematykę
Oto wyzwanie dla uzdolnionych matematycznie wśród was. Rozwiąż następujące równanie różniczkowe dla Y :
Masz 30 sekund. Szybki! Żadnego żartowania.
Oczywiście odpowiedź brzmi:
Jeśli nie potrafiłeś znaleźć rozwiązania, nie czuj się źle. To wyrażenie jest tak skomplikowane, że nawet różne potężne pakiety oprogramowania matematycznego również zawiodły, nawet po 30 sekundach obliczeń liczbowych.
A jednak dzisiaj Guillaume Lample i François Charton z Facebook AI Research w Paryżu twierdzą, że opracowali algorytm, który wykonuje to zadanie po chwili namysłu. Ci faceci po raz pierwszy wyszkolili sieć neuronową, aby przeprowadzić niezbędne rozumowanie symboliczne, aby rozróżniać i integrować wyrażenia matematyczne. Praca jest znaczącym krokiem w kierunku silniejszego rozumowania matematycznego i nowego sposobu zastosowania sieci neuronowych poza tradycyjnymi zadaniami rozpoznawania wzorców.
Najpierw trochę tła. Sieci neuronowe stały się niezwykle skuteczne w zadaniach rozpoznawania wzorców, takich jak rozpoznawanie twarzy i obiektów, niektóre rodzaje przetwarzania języka naturalnego, a nawet granie w gry takie jak szachy, Go i Space Invaders.
Ale pomimo wielu wysiłków nikt nie był w stanie nauczyć ich wykonywania zadań rozumowania symbolicznego, takich jak te związane z matematyką. Najlepsze, co osiągnęły sieci neuronowe, to dodawanie i mnożenie liczb całkowitych.
Zarówno w przypadku sieci neuronowych, jak i ludzi, jedną z trudności związanych z zaawansowanymi wyrażeniami matematycznymi jest skrótowość, na której polegają. Na przykład wyrażenie x 3 to skrótowy sposób pisania x pomnożone przez x pomnożone przez x . W tym przykładzie mnożenie jest skrótem oznaczającym powtarzane dodawanie, co samo w sobie jest skrótem oznaczającym całkowitą wartość dwóch połączonych wielkości.
Łatwo zauważyć, że nawet proste wyrażenie matematyczne jest bardzo skondensowanym opisem sekwencji znacznie prostszych operacji matematycznych.
Nic więc dziwnego, że sieci neuronowe zmagają się z tego rodzaju logiką. Jeśli nie wiedzą, co oznacza skrót, jest niewielka szansa, że nauczą się go używać. Rzeczywiście, ludzie mają podobny problem, często wpajany od najmłodszych lat.
Niemniej jednak, na podstawowym poziomie, procesy takie jak integracja i różnicowanie nadal obejmują zadania rozpoznawania wzorców, aczkolwiek ukryte za pomocą matematycznego skrótu.
Oto Lample i Charton, którzy wymyślili elegancki sposób na rozłożenie skrótów matematycznych na podstawowe jednostki. Następnie uczą sieć neuronową rozpoznawania wzorców manipulacji matematycznych, które są równoważne integracji i różnicowaniu. Wreszcie uwolnili sieć neuronową na wyrażeniach, których nigdy nie widziała, i porównali wyniki z odpowiedziami uzyskanymi przez konwencjonalne solvery, takie jak Mathematica i Matlab.
Pierwszą częścią tego procesu jest rozbicie wyrażeń matematycznych na ich części składowe. Lample i Charton robią to, przedstawiając wyrażenia jako struktury drzewiaste. Liście na tych drzewach to liczby, stałe i zmienne, takie jak x ; węzły wewnętrzne są operatorami, takimi jak dodawanie, mnożenie, różnicowanie z uwzględnieniem i tak dalej.
Na przykład wyrażenie 2 + 3 x (5+2) można zapisać jako:
A wyrażenie
jest:
I tak dalej.
Drzewa są równe, gdy są matematycznie równoważne. Na przykład,
2 + 3 = 5 = 12 - 7 = 1 x 5 są równoważne; dlatego ich drzewa też są równoważne.
W ten sposób łatwiej jest wykonać wiele operacji matematycznych. Na przykład uproszczenie wyrażeń sprowadza się do znalezienia krótszej równoważnej reprezentacji drzewa, powiedzmy Lample i Charton.
Te drzewa można również zapisać jako sekwencje, biorąc kolejno każdy węzeł. W tej formie są gotowe do przetwarzania przez sieć neuronową o nazwie seq2seq.
Co ciekawe, to podejście jest często stosowane również w przypadku tłumaczenia maszynowego, w którym sekwencja słów w jednym języku musi zostać przetłumaczona na sekwencję słów w innym języku. Rzeczywiście, Lample i Charton twierdzą, że ich podejście zasadniczo traktuje matematykę jako język naturalny.
Kolejnym etapem jest proces szkoleniowy, a to wymaga ogromnej bazy przykładów, z których można się uczyć. Lample i Charton tworzą tę bazę danych, losowo łącząc wyrażenia matematyczne z biblioteki operatorów binarnych, takich jak dodawanie, mnożenie i tak dalej; operatory jednoargumentowe, takie jak cos, sin i exp; oraz zbiór zmiennych, liczb całkowitych i stałych, takich jak π i e. Ograniczają również liczbę wewnętrznych węzłów, aby równania nie stały się zbyt duże.
Nawet przy stosunkowo niewielkiej liczbie węzłów i elementów matematycznych liczba możliwych wyrażeń jest ogromna. Każde równanie losowe jest następnie całkowane i różnicowane za pomocą systemu algebry komputerowej. Każde wyrażenie, którego nie można zintegrować, jest odrzucane.
W ten sposób naukowcy generują ogromny zestaw danych treningowych, składający się na przykład z 80 milionów przykładów równań różniczkowych pierwszego i drugiego rzędu oraz 20 milionów przykładów wyrażeń zintegrowanych częściami.
Przetwarzając ten zbiór danych, sieć neuronowa uczy się, jak obliczyć pochodną lub całkę danego wyrażenia matematycznego.
Wreszcie, Lample i Charton przeprowadzili swoją sieć neuronową na próbę, dostarczając jej 5000 wyrażeń, których nigdy wcześniej nie widziały, i porównując wyniki, jakie daje w 500 przypadkach, z wynikami z dostępnych na rynku solverów, takich jak Maple, Matlab i Mathematica.
Rozwiązania te wykorzystują podejście algorytmiczne opracowane w latach 60. przez amerykańskiego matematyka Roberta Rischa. Jednak algorytm Rischa jest ogromny i obejmuje 100 stron dla samej integracji. Tak więc oprogramowanie do algebry symbolicznej często używa okrojonych wersji, aby przyspieszyć działanie.
Porównania między nimi a podejściem sieci neuronowej są odkrywcze. We wszystkich zadaniach obserwujemy, że nasz model znacznie przewyższa Mathematicę, twierdzą naukowcy. Przy integracji funkcji nasz model osiąga dokładność bliską 100%, podczas gdy Mathematica osiąga zaledwie 85%. A pakiety Maple i Matlab radzą sobie przeciętnie gorzej niż Mathematica.
W wielu przypadkach konwencjonalne solwery w ogóle nie są w stanie znaleźć rozwiązania, mając 30 sekund na wypróbowanie. Dla porównania, sieć neuronowa potrzebuje około sekundy, aby znaleźć swoje rozwiązania. Przykład na górze tej strony jest jednym z nich.
Jednym z interesujących wyników jest to, że sieć neuronowa często znajduje kilka równoważnych rozwiązań tego samego problemu. Dzieje się tak, ponieważ wyrażenia matematyczne można zwykle zapisać na wiele różnych sposobów.
Ta umiejętność jest dla badaczy czymś w rodzaju kuszącej tajemnicy. Zdolność modelu do odzyskiwania równoważnych wyrażeń bez przeszkolenia w tym zakresie jest bardzo intrygująca, powiedzmy Lample i Charton.
To znaczący przełom. Według naszej najlepszej wiedzy, żadne badanie nie sprawdzało zdolności sieci neuronowych do wykrywania wzorców w wyrażeniach matematycznych.
Teraz, gdy tak się stało, wynik wyraźnie ma ogromny potencjał w coraz ważniejszym i złożonym świecie matematyki obliczeniowej.
Badacze nie ujawniają planów Facebooka dotyczących tego podejścia. Ale nietrudno zobaczyć, w jaki sposób może zaoferować własną usługę algebry symbolicznej, która przewyższa liderów rynku.
Jednak konkurenci raczej nie usiądą w miejscu. Spodziewaj się potężnej bitwy w świecie matematyki obliczeniowej.
Nr ref.: arxiv.org/abs/1912.01412 : Głębokie uczenie się matematyki symbolicznej