Kolejny przełom w AI: Gen to programowanie probabilistyczne dla każdego zainteresowanego

Adam Golański , 01.07.2019 r.
AI

Informatycy coraz częściej mówią, że furora jaką robi dziś głębokie uczenie zakończy się tak samo, jak to było ze wszystkimi wcześniej popularnymi technologiami sztucznej inteligencji. Zanim jednak dojdziemy do granicy, za którą jest kolejna zima AI, wydarzyć się w tej dziedzinie może bardzo dużo. Pokazuje to nowy język programowania, opracowany przez naukowców z MIT i otwierający każdemu zainteresowanemu drogę do wyjścia poza głębokie uczenie i wykorzystania technik probabilistycznych w wielu kategoriach realnych problemów AI, w tym robotyki i komputerowego przetwarzania obrazu.

W zeszłym tygodniu miała miejsce konferencja Programming Language Design and Implementation, podczas której zaprezentowano Gen, innowacyjny system programowania probabilistycznego, który pozwala programistom AI z różnych dziedzin skupić się na logice i modelach i ominąć kwestie matematyczne i optymalizacyjne.

Ze względu na swoją prostotę, Gen może być używany przez każdego programistę, nawet i nowicjusza. Takie zresztą było podstawowe założenie autorów: chcieli uczynić techniki tworzenia automatycznych AI bardziej dostępnymi dla osób o mniejszym doświadczeniu w dziedzinie informatyki lub matematyki. Eksperci zaś docenią wzrost produktywności: programy pisanew Gen pozwalają na szybkie iteracje i prototypowanie ich systemów AI.

Pod tym względem Gen może stać się przełomem porównywalnym do google’owej biblioteki TensorFlow, która pozwala na automatyczne generowanie systemów maszynowego głębokiego uczenia także osobom nie mającym specjalistycznej wiedzy matematycznej czy informatycznej. Rozwiązanie to jest bardzo wydajne, jednak jego możliwości ograniczone w porównaniu do tego, co obiecuje cała dziedzina AI.

Wyjść poza głębokie uczenie

Jedną z takich niedostępnych dla TensorFlow dziedzin jest programowanie probabilistyczne. Tutaj algorytmy wnioskowania wykonują operacje na zbiorach danych i stale dostosowują prawdopodobieństwa w oparciu o nowe dane w celu dokonania przewidywań. W ten sposób powstaje model, który opisuje, w jaki sposób przewidywać nowe dane. Eksperci wierzą, że jest to kolejny przełom w AI właśnie po głębokim uczeniu.

Programowanie probabilistyczne jest oczywiście od dawna szeroko stosowane w przypadku niektórych wąskich klas modeli statystycznych, ale istniejące systemy nie są wystarczająco elastyczne i wydajne, aby można je było stosować w praktyce, a w takich dziedzinach jak widzenie komputerowe i robotyka pojawiają się bardziej wymagające modele.

Gen wychodzi poza te ograniczenia poprzez kilka nowych konstrukcji językowych, w tym generatywnego interfejsu funkcyjnego do hermetyzacji (ang. encapsulation) modeli probabilistycznych, interoperacyjnych metod modelowania o różnych kompromisach w zakresie elastyczności i wydajności, kombinatorów wykorzystujących wspólne wzorce warunkowej niezależności oraz biblioteki wnioskowania, pozwalających na wdrażanie na wysokim poziomie abstrakcji skutecznych algorytmów inferencyjnych.

swojej pracy badacze z MIT pokazują, jak za pomocą opisanego w kilkunastu wierszach modelu i dwóch krótkich programów inferencji możliwe jest wnioskowanie o pozycjach ciała w przestrzeni trójwymiarowej – zadaniu szczególnego znaczenia w interakcjach człowiek-maszyna, wspomaganej rzeczywistości i systemach autonomicznych.

Za tymi kilkunastoma wierszami kodu stoi jednak znacznie więcej: Gen przekłada je na pracę komponentów odpowiedzialnych za głębokie uczenie, symulacje probabilistyczne i renderowanie grafiki. Połączenie tego wszystkiego pozwala na znacznie szybsze i sprawniejsze rozwiązanie problemu niż za pomocą innych systemów.

Informatycy z MIT-u pokazali też, jak Gen może uprościć analitykę danych – napisany w tym języku program automatycznie generuje zaawansowane modele statystyczne, niezbędne do analizy interpretacji i przewidywania wzorców. W kilku wierszach kodu możliwe jest odkrycie trendów finansowych czy politycznych, ocena epidemii czy efektywności podróży lotniczych.

To już nie tylko laboratorium

Dzięki takim możliwościom Gen znalazło już realne zastosowania. Intel we współpracy z MIT-em wykorzystał ten język do szacowania pozycji ciał na podstawie kamer do pomiaru głębokości w robotyce i systemach rzeczywistości rozszerzonej. Laboratorium MIT Lincoln oferuje rozwiązanie na bazie Gen dla robotyki lotniczej w zakresie pomocy humanitarnej i reagowania na katastrofy.

Najciekawiej jednak zapowiada się wykorzystanie Gen w projekcie MIT Quest for Intelligence, realizowanym we współpracy z agencją badawczą DARPA. Jednym z jego celów jest zbudowanie modelu zdrowego rozsądku człowieka, który odpowiadałby możliwościom kognitywnym 18-miesięcznego dziecka.

Więcej na temat Gen znajdziecie na stronie projektu w repozytorium GitHub.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT: