Због чега је теже програмирати робота да отвара фрижидере, него да решава комплексне математичке проблеме?
Текст: Никола Здравковић
Програмери са МИТ–а објавили су летос програмски језик Picture. Он може да производи тродимензионални модел људскод лица на основу фотографија, и то у само 50 линија кода. Уместо детаљних програмских команди, Picture користи – статистику. И можда нам може појаснити начин на који фунцкионише људска перцепција.
У класичном, тзв. серијском програмирању, машину можете подесити да изврши било шта, под условом да уведете адекватне команде за релевантне услове. Комплексне машине и програми способни су да врше послове које од њих захтевамо јер поседују огромне системе операција и података сачињене од милиона линија компјутерског кода.
Не постоји проблем који начелно није могуће решити довољно комплексним кодом. Истраживачи су у деценијама од настанка информатике покушавали да моделирају људску интелигенцију у оквиру ове парадигме, са претпоставком да је људски ум један невероватно комплексан оперативни систем, са „кодом“ који је написала еволуција.
Међутим, постаје све јасније да разлика између људског ума и програма није само у комплексности, већ и у начину рада. Програмирањем су се одавно престигли људски капацитети претраживања база података или математичког рачунања, али је још тешко програмирати робота који уме да отвори било који фрижидер и, рецимо, узме пиво. То је један од разлога зашто је данас све више алтернативних приступа програмирању и компјутерском моделовању, а многи програми настају тако да боље опонашају (претпостављене) начине рада људског ума.
50 линија кода
Picture је производ једног таквог приступа. Он користи тзв. пробабилистичко (статистичко) програмирање да би стварао „сцене“, односно тродимензионалне моделе, на основу слика, нпр. фотографија људских лица. Он обрађује неколико врло базичних параметара, као што су позиција очију, носа и уста, заједно са огромном постојећом базом података у виду фотографија и адекватних тродимензионалних модела. Када му се унесе „проблем“, односно фотографија новог лица, он на основу само те неколицине параметара и постојеће базе модела производи сцену (модел) која има највеће шансе да буде адекватна.
Не постоје појединачни, унапред кодирани одговори на широк дијапазон параметара – зато и има само 50 линија кода. Пошто је његов прорачун статистички, верност сцена које производи зависи од величине узорка: што је већа база података адекватних решења, његови модели ће бити бољи. Ово такође значи да га сваки решени проблем, сваки креирани модел, чини способнијим – програмери овај процес називају „машинско учење“ (mashine learning).
Када су у јулу ове године јавно представљени резултати његовог рада, Picture се по резултатима могао поредити са комплексним, „класично“ писаним системима који поседују хиљаде и хиљаде линија кода за исте потребе. На страну инжењерске и дизајнерске могућности које доноси статистичко програмирање: да ли Picture представља и пробој у моделирању људске перцепције?
Учење на грешкама
Иако је још прерано за предвиђања, свакако има разлога за оптимизам. Људски мозак не долази унапред спреман за разумевање визуелних параметара као што су дубина, удаљеност, перспектива, или разликовање појединачних објеката. Врло рано у дечјем развоју, мозак се научи и навикне да користи ове параметре у свакодневној перцепцији.
У класичном програмирању употреба оваквих, само наизглед једноставних параметара постаје безмало непремостив проблем: сваки вектор, свако мерење раздаљине, свака операција мора бити прецизно дефинисана и извршена, због чега и јесте теже програмирати робота да отвара фрижидере него да решава комплексне математичке проблеме.
Са друге стране, програми као што је Picture само се добрим примерима „приуче“ да праве (информисана) нагађања. Да ли такав процес заиста личи на начин на који људи одмалена уче да разумеју визуелне садржаје? Једна наизглед велика разлика је у начину учења: Picture се ослања на унапред унету велику количину адекватних модела на основу фотографија, док деца науче да те операције врше „сама од себе“.
Међутим, питање је да ли је ова разлика тако велика као што се чини. Када су у питању деца која тек уче да систематизују перципиране информације, тачно је да немају спољног чиниоца као што је програмер, који ће се постарати да је њихова база података адекватна, али поседују унутрашње чиниоце као што су друга чула, способност кретања у простору или равнотеже која се временом усклађују са видом како би створиле релативно јединствену сцену света у ком то дете може успешно да функционише.
Тако мозак можда испрва нагађа параметре сцене са малом стопом успешности, али временом, током првих неколико година живота, он у томе постаје поприлично вешт. Ако се у мозгу бебе дешава овакво учење на грешкама, онда је уношење правилних решења унапред само убрзавање тог процеса – али није од њега принципијелно различито. Picture и људска перцепција можда ипак имају много тога заједничког.