Сравнение между двете дефиниции на Изкуствен Интелект

Dimiter Dobrev
Institute of Mathematics and Informatics
Bulgarian Academy of Sciences
1113 Sofia, Bulgaria
dobrev@2-box.com

22 March, 2013 (има и по-стара версия)

     Резюме:

     В статиите [1] и [2] са предложени две различни дефиниции на понятието Изкуствен Интелект. Първата дефиниция е неформална, защото в нея се казва, че за изкуствен интелект признаваме тези програми, които са по-умни от човек. Втората дефиниция е формална благодарение на това, че избягва позоваването на понятието „човек“. Читателят, прочел статиите [1] и [2], остава с впечатлението, че тези две дефиниции са еквивалентни и че дефиницията от [2] е просто формален вариант на тази от [1]. В тази статия ще сравним двете дефиниции на Изкуствен Интелект, което ще помогне за разбирането на това понятие.

     Ключови думи: Artificial Intelligence, AI Definition.

 

     Каква е основната идея?

     Идеята, която стои зад дефинициите на Изкуствен Интелект от [1, 2], е следната: Ако една програма е интелигента, то тя би се справила добре в произволен свят. Това е вариант на народната мъдрост, че умният човек може да се справи с всяка професия. Разбира се, умният човек ще се справи, но не веднага, а чак след като премине известно обучение.

     Затова, когато оценяваме една програма как се справя в един конкретен свят, трябва да й дадем известен период за обучение и чак след като обучението е приключило да оценим доколко добре тази програма се справя.

     Можем да направим аналогия с хората. При нас през първите 18 години се смята, че сме в период на обучение и дори да извършим престъпление, ще получим по-малко наказание, именно защото се смята, че още не сме се обучили. При животните периодът на обучение обикновено е по-къс, което често е свързано с по-краткия им живот и по-тежките условия, в които те живеят. При животните често валидно е правилото: „Учи се бързо или ще бъдеш изяден!“

     Колко дълъг е периодът на обучение и може ли да се каже кога точно този период свършва?

     Тук идва първата разлика между дефинициите от [1] и [2]. Първата дефиниция предполага, че животът е безкраен и време за учене има достатъчно. Тоест, периодът за обучение е произволно крайно начало на живота, което е безкрайно по-малко от целия живот, който е безкраен.

     При втората дефиниция подходът е различен. Там се предполага, че животът е ограничен и че има един параметър, който ще наречем „максимална дължина на живота“. Оценката на интелигентността се прави на базата на живота от началото му до края. При втората дефиниция има разлика и в периода за обучение. Тук такъв период не се предвижда. Тоест в сила е правилото: „Учи се бързо или ще бъдеш изяден!“

     Защо при втората дефиниция дължината на периода за обучение е нула? Защото не можем да кажем колко дълъг трябва да е този период и кога точно свършва той и затова най-удобно е да приемем, че нямаме такъв период.


     Припомняне

     Нека да припомним как бяха формулирани дефинициите на AI в [1] и [2].

     Дефиниция 1: AI ще наричаме такава програма, която в произволен свят би се справила не по-зле от човек.

     Тук произволният свят не е съвсем произволен, защото предполагаме, че световете са без фатални грешки.

     Дефиниция 2: AI ще наричаме такава програма, чието IQ е по-голямо от 0.7.

     Тук IQ-то се изчислява като средния успех на програмата получен над някакво множество от тестови светове.

     Забележка: Когато казваме, че Изкуственият Интелект е програма не сме съвсем точни, защото програмата не е живо същество, а е просто някакъв текст написан на хартия или на друг носител. За да оживее програмата, тя трябва да бъде пусната на компютър. Има още една неточност. В теория на програмите те обикновено се разглеждат като функции. Там обикновено се предполага, че програмата работи върху някакви входни данни и след известно време извежда някакъв резултат (ако не увисне, разбира се). Тук под програма ще разбираме не функция, а трансдюсер, който на всяка стъпка въвежда и извежда някаква информация. В [1] казахме, че Изкуственият Интелект е стъпково устройство. Е, това стъпково устройство представлява компютър изпълняващ някаква програма и като казваме „програмата“ ще имаме предвид точно това устройство. В тази статия, когато говорим за AI, ще използваме думите ‘програма’, ‘устройство’ и ‘робот’ като синоними. (За всяка стъпка на стъпковото устройство неговата програма прави много малки стъпки съответстващи на компютърните тактове.)

     Когато казваме живота на програмата ще имаме предвид всичките стъпки, които устройството е направило от момента когато сме го включили докато го изключим или до безкрайност. Тоест, живота е крайна или безкрайна редица от входове и изходи, който получава устройството.


     Абстрактен човек

     Когато в дефиницията [1] сравняваме интелигентността на програмата с интелигентността на човек, трябва да приемем, че това не е реален, а че става дума за абстрактен човек. Реалния човек може да е болен, уморен или отегчен, а ние ще си представяме един абстрактен човек, който винаги е в кондиция.

     Какво би се случило, ако сравним програмата с реален вместо с абстрактен човек? Тогава почти всички програми биха удовлетворили дефиницията, защото дори и най-тъпата програма би се справила не по-зле от човек. Причина за това е факта, че човек е смъртен, а програмата безсмъртна. Тоест, в началото на живота човека ще се справя по-добре от тъпата програма, но това ще е само докато човека е още жив, от следващия момент нататък до безкрайност, тъпата програма ще се справя не по-зле от умрелия човек. Ако изчислим средния успех на човека и на тъпата програма ще се окаже, че те са равни. Това е така, защото, както вече казахме, всяко крайно начало на живота е безкрайно по-малко от целия живот.

     Коя програма ще наричаме тъпа? Възможно най-тъпата програма е тази, чието IQ е 1/2. (Какво е IQ ще кажем по-надолу.) Програми, чието IQ е по-малко от 1/2 не са тъпи, но нарочно се правят на луди и играят така че да загубят. Примери за програми с IQ от 1/2 са случайната и умрялата програма. Случайна програма ще наричаме тази която играе случайно независимо от входа й, а умряла ще наричаме тази която играе едно и също, независимо от входа й.

     Ако искаме човека, с когото ще сравняваме да е реален, а не абстрактен, тогава ще трябва да приемем, че живота е краен вместо безкраен. За да имаме достатъчно време за обучение, трябва да предположим, че живота е достатъчно дълъг, но не чак толкова, че човека да се умори, отегчи или да вземе да ритне камбаната.


     Еквивалентни ли са двете дефиниции?

     „Бавно развиваща се“ ще наричаме такава програма, която има нужда от почти безкрайно дълго време за обучение (тоест, времето й за обучение е крайно, но на практика е безкрайно). Пример за бавно развиваща се програма са TD1 и TD2 от [2]. От предишните параграфи следва, че двете дефиниции не са еквивалентни, защото бавно развиващата се програма е Изкуствен Интелект според първата дефиниция, но не и според втората.

     Бавно развиващата се програма всъщност не отговаря на нашата идея за Изкуствен Интелект, защото нашата цел е да конструираме робот, който да може да измете пода и ако на този робот ще са му нужни 1000 години, за да се научи да мете, то на нас това не ни върши работа.

     Има ли други програми, които формално да удовлетворяват дефиницията, но да не отговарят на идеята ни за Изкуствен Интелект? Да, безкрайно неефективната програма също не ни върши работа, макар формално да удовлетворява и първата и втората дефиниция. В [2] тази програма е описана като Trivial Decision 5. Тази програма би работила, ако разполагахме с безкрайно бърз компютър, защото тя за изчисляването на една стъпка прави почти безбройно много малки стъпки (тоест крайно много, но на практика безкрайно). Тук стъпковото устройство прави големите стъпки, а компютърните тактове са малките стъпки.

     Проблемът идва от това, че при дефиницията на Изкуствен Интелект ние определяме програма, без да поставяме никакво изискване за нейната ефективност.


     Двете дефиниции определят множества от програми, които ги удовлетворяват. За да бъдат дефинициите еквивалентни, трябва тези множества да съвпадат. Следователно двете дефиниции не са еквивалентни и пример за това е бавно развиващата се програма.

     Има още две причини, поради които двете дефиниции не са еквивалентни:

     Първо: Дефиницията от [1] е неформална и зависи от хората. Тоест, тя не определя едно конкретно множество, а по-скоро нещо като размито множество. Казваме, че за Изкуствен Интелект приемаме програмите, които са по-умни от човек и тук естествено изниква въпросът; „Кой е човекът, с когото сравняваме?“ Можем да кажем, че искаме да е по-умна от всеки човек, но това пак не определя множеството на тези програми еднозначно. Например, ако дефинираме програма играеща шах, като програмата, която играе по-добре от световния шампион, то пак ще има програми, които играят по-добре от един световен шампион и по-зле от друг. Тоест, една формална и една неформална дефиниция няма как да са напълно еквивалентни.

     Второ: Дефиницията от [2] зависи от няколко параметъра. Тоест, не става дума за множество от програми, а за функция, която при различните стойности на параметрите връща различни множества от програми.

     Предположението, което се прави в [2] е, че съществуват такива стойности на параметрите, за които множеството, определено от дефиницията, не е празното и програмите, които са в това множество, отговарят на идеята ни за Изкуствен Интелект.

     Разбира се, не всички програми в това множество отговарят на тази наша идея. Вече споменахме за проблема с безкрайно неефективната програма. Друг проблем, който се появява при дефиницията от [2], е програмата „зубрач“. Проблемът е, че при [2] се предполага, че интересуващите ни светове са краен брой. Следователно може да се напише програма, която да е специално за тези светове. Същият проблем имаме на кандидат-студентските изпити, където се явяват хора, зазубрили всички възможни теми, които могат да се паднат на изпита. Тези хора успяват да си вземат изпита, но те не могат да решат никоя задача, която е извън кръга на зазубрените теми.

     Предположението е, че ако се вземе най-късата и ефективна програма от множеството на програмите, удовлетворяващи дефиницията, то тя ще отговаря на идеята ни за Изкуствен Интелект. Трябва да ограничим и по дължина и по ефективност, защото безкрайно неефективната програма е доста къса, а програмите „зубрачи“ са доста ефективни. За малък брой светове програмата „зубрач“ е по-къса от Изкуствения Интелект, но за достатъчно голям брой светове програмата Изкуствения Интелект ще е по-къса от програмата „зубрач“.


     Продължителност на живота

     Първият параметър, от който зависи втората дефиниция, е продължителността на живота. Щом се отказваме от безкрайния живот, следователно животът трябва да е ограничен и да имаме параметър, който ни казва каква е очакваната продължителност на живота. За по-просто в [2] животът е фиксиран на 100 игри, всяка от които е не по-дълга от 1000 стъпки.

     Като се отказваме от безкрайния живот, се отърваваме от бавно развиващата се програма. Друго предимство е, че отпада изискването световете да са без фатални грешки. В [1] това изискване беше важно, защото, за да може да имаме достатъчно време за обучение, трябва да предполагаме, че няма опасност да допуснем фатална грешка, която да съсипе целия ни живот. Тоест, можем спокойно да си грешим, всяка грешка е поправима и никоя не е фатална.

     Дефиниция: Фатална грешка наричаме група от вътрешни състояния на света, в която група, ако попаднем, повече да не можем да излезем. Ако може да се излезе, то грешката не би била фатална. Освен това светът в тази група трябва да е по-лош, отколкото извън групата (т.е. оценките, които се получават там, да са относително по-ниски). Ако светът в групата не е по-лош, то тогава попадането ни там няма да е грешка.

     Друга възможна дефиниция на фатална грешка е следната. Ако сметнем за всеки момент от живота какъв е максималният очакван успех от този живот (това, което връща функцията Success), при условие, че оттук нататък играем (живеем) по най-добрата възможна стратегия, тогава фатална грешка ще наричаме стъпка, след която това число намалява.

     Когато сме предположили, че животът е краен, няма нужда да предполагаме, че в света няма фатални грешки, защото времето ни за обучение така или иначе е ограничено. Когато животът е краен, една обикновена грешка може да бъде равносилна на фатална, защото може да нямаме достатъчно време, за да я поправим.

     Тоест, съвсем естествено е предположението, че животът е краен и че търсим програма която би се справила добре при конкретна продължителност на живота, а не при произволно дълъг живот. От друга страна, неприятно е, че в нашата дефиниция участват параметри. Би било по-добре да дефинираме Изкуствения Интелект като програма, която да не зависи от нищо. Тоест, една програма, независимо от това колко дълъг се очаква да бъде животът.

     Въпреки всичко очакваната продължителност на живота е съществен параметър, който влияе на стратегиите. Вижте какво е поведението на хората по време война, природни бедствия и други катаклизми. Когато очакваната продължителност на живота се скъси, значително се променя и поведението на хората. Това се изразява най-вече в склонността от поемането на по-големи рискове. Също така можете да забележите, че младите хора са много по-смели от възрастните. Едно възможно обяснение за това е, че младите са по-склонни да експериментират и да поемат рискове, докато възрастните предпочитат да заложат на провереното и сигурното, защото преценяват, че няма за кога тепърва да експериментират. Тоест, очакваната продължителност на живота определено влияе на поведението на хората и на техните жизнени стратегии.


     Произволен свят

     При първата дефиниция имаме изискването в произволен свят Изкуственият Интелект да се справя не по-зле от човек. Това изискване е толкова силно, че изглежда сякаш никоя програма няма да може да го изпълни и че множеството на програмите, удовлетворяващи дефиницията, може да се окаже празното.

     Да видим можем ли да конструираме свят, който да е прекалено сложен, за която и да е програма, но да не е сложен за човек. Да си представим един свят, в който роботите не ги обичат. В този свят, познаят ли че си робот, веднага ти дават слаба оценка. Ако решат, че си човек, получаваш положителна оценка. Изглежда сякаш, че това е светът, в който хората ще се справят по-добре от роботите. Да си припомним каква беше дефиницията на свят. Там имаше две функции (World и View), които определяха света. Това са абсолютно произволни функции и можем да предполагаме, че те връщат успех, когато в света се подвизава човек, и неуспех, когато вътре има робот. Все пак, светът не е Господ и няма откъде да знае дали неговият обитател е човек или робот. Светът трябва да го разбере това на базата на действията на опонента. Тоест, ако роботът се държи като човек и ако се преструва достатъчно умело, то светът ще бъде излъган и ще го приеме за човек. Тоест, в този случай изискването към програмата е да може да играе имитационната игра. Същата тази игра беше предложена от Тюринг като тест за интелигентност. Излиза, че ако една програма удовлетворява дефиницията от [1], то тя удовлетворява и теста на Тюринг, но не веднага, разбира се, а след като се пообучи малко.

     Въпрос: Може ли светът да разбере, че срещу него има робот, (още докато роботът не се е обучил и не е започнал да се преструва на човек достатъчно умело) и от този момент нататък да започне да дава лоши оценки и така до безкрайност? Отговорът е: Не, защото разглеждаме само светове, в които няма фатални грешки, а този свят не отговаря на това условие.

     Значи ли това, че дефиницията от [1] е еквивалентна на теста на Тюринг? Не, ако обучим програмата от [1] да се прави на човек, то тя ще удовлетвори теста на Тюринг, но това ще стане чак след обучение. Може ли програмата, удовлетворяваща теста на Тюринг, да бъде обучена да се справи в произволен свят. Отговорът е: По-скоро не. Щом тази програма може да се прави на човек, значи може да се обучава, но тя трябва да се прави на тъпа, защото ако покаже колко е интелигента, ще се издаде, че не е човек, а робот. Ако забраним на изпитващия да наказва прекалената интелигентност, то дефиницията от [1] и тестът на Тюринг ще бъдат еквивалентни.


     Невъзможен свят

     Може ли светът да е толкова сложен, че никоя програма да не може да го разбере? Да, може. Нека например светът да генерира една безкрайна редица от нули и единици и целта на Изкуствения Интелект е да познае какво следва (нула или едно). Нека функцията, която описва тази безкрайна редица, да не е изчислима. Тогава няма как програмата да изчисли и да познае кое ще е следващото число, но същото важи и за човека. Въпреки това програмата и човекът ще открият различни зависимости. Например, че нулите са повече от единиците, че след нула е по-вероятно да се появи единица, отколкото нула и т.н.

     Не е необходимо Изкуственият Интелект да разбере света на 100%. Важното е да го разбере по-добре от човека.


     Коефициент на интелигентност

     В първата дефиниция сравнявахме интелигентността на програмата с интелигентността на човек. Във втората дефиниция не можем да си позволим да използваме сравнение с човек (защото искаме дефиницията да е формална.) Следователно нужно е да въведем една независима оценка на коефициента на интелигентност и чрез тази оценка да дефинираме Изкуствен Интелект, като кажем, че за такъв признаваме тези програми, чиито коефициент на интелигентност е над определена стойност. В [2] избрахме тази стойност да бъде 0.7, но този избор е в голяма степен произволен. По-скоро, казва се, че съществува някакъв коефициент на интелигентност и програмите, по-интелигентни от това ниво, могат да бъдат признати за Изкуствен Интелект.

     Въвеждаме функцията Success, която за всеки конкретен живот връща число в интервала [0, 1] и това число оценява успеха на устройството в конкретния живот. След това коефициентът на интелигентност се изчислява, като се избере множество от тестови светове, пуска се програмата да изживее по един живот във всеки от тези светове и се изчислява средния успех на програмата във всичките тестови живота.

     Тоест, коефициентът на интелигентност е средната стойност на функцията Success, изчислено за множеството на тестовите светове.


     Сложност на света

     Друга съществена разлика между двете дефиниции е, че в първата се разглеждат всички възможни светове, а във втората – множеството на световете е ограничено до краен брой тестови светове (предполага се, че тестовият свят е изчислим с фиксирана сложност). Тази фиксирана сложност е следващият параметър, от който зависи дефиницията.

     Защо избрахме множеството на тестовите светове да бъде именно това?

     В [1] се прави нещо подобно. Там се предлага да се подготви тест, състоящ се от краен или изброим брой тестови светове. Идеята е програмата, която може да се справи с всичките тези светове, да бъде призната за Изкуствен Интелект. В [1] се предлага тестовите светове да са подготвени от човек, а в [2] искаме да сме максимално формални, поради което ще определим множеството от тестовите светове, така че то да не зависи от човешкия избор. Друга разлика е, че в [1] искаме програмата да издържи всички изпити, т.е. да се справи във всички тестови светове, докато в [2] искаме средния успех (т.е. коефициента на интелигентност) да е по-голям от 0.7. Защо в [2] искаме по-малко, отколкото в [1]? Защото, ако задачите са предварително подготвени, можем да искаме програмата да ги реши всичките, но, ако задачите са произволно генерирани, тогава между тях ще има и нерешими и следователно не можем да разчитаме програмата да ги реши всичките.

     Какво ще бъде множеството от тестови светове, които ще използваме за изчисляването на коефициента на интелигентност на произволна програма?

     Първата естествена възможност е да вземем множеството на всички светове. Това множество е безкрайно, неизброимо и изглежда прекалено голямо (не е ясно, различните светове с каква тежест трябва да участват). Първото, което виждаме е, че много от световете са неразличими (т.е. имат еднакво дърво на света). Затова следващата ни идея е да вземем фактор множеството, т.е. множеството от всички възможни дървета на света и това да бъде нашето множество от тестови светове. Това множество отново е безкрайно неизброимо, но като съобразим, че ограничихме продължителността на живота, виждаме, че множеството от тези дървета е дори крайно (По-точно крайно е множеството на дърветата на детерминираните светове. При недетерминираните също е крайно, защото разклоненията са с еднаква вероятност – виж дефиницията на TM_W от [2]).

     Това множество, макар и крайно, е неподходящо, защото в този случай всичко е възможно! Как ще продължи света на следващата стъпка? Ами може да продължи, както си иска. Действително, всичко е възможно, но далеч не всичко е вероятно. Ако приемем това множество за тестово, то тогава всяко продължение ще е еднакво вероятно и няма да има никакво значение от това какво се е случвало до момента. Това тотално противоречи на идеята ни за Изкуствен Интелект, според която той натрупва опит и се обучава. Тоест, не е без значение какво се е случвало до момента.

     Тук е моментът да приложим правилото, наречено „Бръснача на Окам“, според което по-простият модел е по-вероятен от по-сложния. Т.е. по-простият свят е по-вероятен от по-сложния. За да говорим за сложност на света, трябва да въведем някакво описание на света и да дефинираме сложността на света като дължината на най-късото възможно описание.

     В [2] сме използвали машините на Тюринг като описание на световете. Това не е най-подходящият модел в случай, че се стремите да направите реална програма, която да удовлетворява дефиницията, но просто като теоретичен модел на изчислимост, това върши работа. Все пак ние не искаме да останем ограничени само в множеството на детерминираните светове и затова сме въвели недетерминирани машини на Тюринг и нашите тестови светове са изчислимите светове, генерирани от недетерминираните машини на Тюринг.

     Следващото ни предположение е да изберем множеството от тестовите светове да бъде множеството на недетерминираните машини на Тюринг, като вземем всички такива машини без значение от размера им. Mожем ли да изберем един конкретен размер и да минем само с машините, които са с този размер? Отговорът е: по-скоро да.

     Ако вземем всички машини на Тюринг, то ще трябва да им дадем различни тегла, защото няма как безброй много машини, всичките да са с еднакво тегло и сумата от теглата им да е единица. След като решим какви ще са теглата на различните машини, имаме два варианта – или средният размер на машините е някакво конкретно число или този среден размер е безкрайност (зависи от това какви тегла сме избрали). Ако средният размер е краен, можем да приемем, че вместо всички машини на Тюринг, тестови ще са само тези, чийто размер е средният. Това не е съвсем същото, но е почти същото. Ако средният размер е безкрайност, тогава има едно N, от което нататък машините с по-голям размер почти не влияят. Тоест, ако изберем едно ε, което ни се струва достатъчно малко за да може да бъде пренебрегнато, тогава съществува N, такова че машините с дължина по-голяма от N влияят по-малко от ε на средната оценка. Тогава може да изберем това N да бъде размерът на тестовите машини и резултатът ще е близък до този, който бихме имали, ако вземем всичките машини със съответните им тегла.

     Следващият въпрос: Щом сме избрали едно конкретно N, дали тестовите ни машини да бъдат тези с размер по-малък или равен на N или да бъдат тези, които са с размер точно N. Отговорът е, че няма нужда да включваме по-късите машини, защото всяка машина с размер N-1 има много еквивалентни машини с размер N (защото може да добавим едно ненужно състояние).

     Добре, решихме, че тестови светове ще бъдат изчислимите светове, които се изчисляват от недетерминирана машина на Тюринг, която има размер N и това е поредният параметър, от който зависи нашата дефиниция. В [2] за този параметър избрахме конкретната стойност 20. Решаваме всички тестови машини да участват с равни тегла (това е възможно, защото множеството е крайно).

     Дали така избраното множество отговаря на принципа на Окам? Дали простите светове са по-вероятни от по-сложните. Отговорът е: Да. Действително всички машини участват с еднаква тежест, но простите машини имат огромен брой еквивалентни (които изчисляват същия свят), докато най-сложните нямат нито една еквивалента машина (със съответната сложност, разбира се, в случая със сложност 20). Тоест, колкото по-прост е един свят, толкова повече машини с размер 20 го изчисляват и толкова повече този свят влияе на средната стойност на функцията Success, а тази средна стойност ние наричаме коефициент на интелигентност.


     Кой е подходящият модел?

     Казахме вече, че машините на Тюринг не са подходящият модел за описание на света. Ние бихме искали в света да има прости зависимости, които да са на повърхността и да са лесно откриваеми, а в дълбочина да се откриват все по-сложни и по-сложни зависимости. Машината на Тюринг представлява една зависимост, която може да е доста сложна, но разбереш ли я, тогава си разбрал света. Малко по-добре стоят нещата с недетерминираните машини, защото случайността е една безкрайно сложна зависимост. Тоест, това е зависимост, която никога няма да можем да я разберем, защото разберем ли я, тя става псевдо-случайност (като пример вземете псевдо-случайните числа, които генерира компютърът).

     Може ли една сложна машина на Тюринг да бъде частично описана с някакви по-прости зависимости? Може, но това не е характерно за модела на машината на Тюринг. Там обикновено или разбираш света, или нищо не разбираш.

     Ако търсим модел на света под формата на детерминирана машина, то твърде скоро (т.е. след съвсем кратък жизнен опит), ще се окаже, че първата машина на Тюринг, отговаряща на този жизнен опит, е толкова сложна, че на практика е невъзможно да я открием. Предимството на недетерминираните машини е, че винаги ще можем да намерим модел на света (колкото и дълъг да е жизненият опит). Друг е въпросът, доколко този модел ще е адекватен и доколко ще ни върши работа, защото недетерминираната машина не ни казва точно какво ще се случи на следващата стъпка, а ни казва, че може да се случи това или онова. В най-добрия случай ни дава вероятността, с която ще се случи това или онова.

     Добре, кой е подходящият модел на света? Трябва да си мислим света като сума от различни фактори, които може да са свързани, но в голяма степен са независими. Разбира се, един такъв по-добър модел ще ни е нужен, ако искаме да напишем конкретна програма, удовлетворяваща дефиницията на Изкуствен Интелект, но за самата дефиниция това не е важно.


     Работи на други учени

     Повод за написването на тази статия стана публикацията [5], в която двама учени от Швейцария се опитват да обобщят дефинициите от [1, 2]. Тяхната идея е била да се отърват от параметрите, от които зависи дефиницията в [2] и да получат едно ново понятие за коефициент на интелигентност, независещо от никакви параметри.

     Те са премахнали ограничението на дължината на живота и са предположили, че животът е безкраен, но при тях най-важно е началото на живота и на всяка следваща стъпка оценките олекват, като се умножават по коефициент на олекване.

     Разбира се, коефициентът на олекване (обезценка) също е параметър и те просто са заменили един параметър с друг. Освен това тяхното представяне противоречи на идеята, че началото на живота не е важно, а по-важно е какво се случва след като програмата вече се е обучила. При тяхното представяне най-важната част от живота е самото му начало и от един момент нататък животът така се обезценява, че практически е без значение какво прави програмата. Разбира се, в [2] също има един момент (максималната дължина на живота), от който нататък няма значение какво прави програмата, но поне до този момент всички оценки са равноправни. Тоест, при нас е: „Върви, върви и спре“, а при тях е: „Затихва, затихва, затихва и така до безкрайност“

     Трябва да признаем, че авторите на [5] са разбрали, че коефициентът на обезценка е параметър, от който тяхната дефиниция зависи и са предложили втори вариант. За съжаление, този втори вариант по-добре да не бяха го предлагали, защото в резултат са се появили големи недомислици, които компрометират цялата им статия. По-подробно за този втори вариант сме написали малко по-надолу (фрапиращи грешки 3 и 4).

     Другият параметър, от който авторите на [5] се опитват да се отърват е сложността на света. Ние сме избрали една конкретна сложност (т.е. брой състояния на машината на Тюринг, която генерира света). Те са предпочели да направят сума от всички сложности, като са използвали коефициент на обезценка 1/2. Като резултат се получава, че при тях средната сложност е 2 (ние сме избрали за този параметър числото 20). Тоест, ако искат да разрешат и по-големи стойности за средната сложност, ще трябва да заменят числото 1/2 с друг параметър. Тоест, отново заменят един параметър с друг.

     От параметъра 0.7 те се отървават като не казват какво е Изкуствен Интелект. Казват какво е коефициент на интелигентност, но колко трябва да бъде този коефициент, за да бъде една програма призната за Изкуствен Интелект, не казват.

     За съжаление, нашите швейцарски колеги са пропуснали да цитират българския първоизточник. Друг проблем е, че те не са успели да разберат много от детайлите на оригиналните статии и затова в получения като резултат текст има прекалено много грешки и неточности.


     Фрапиращи грешки

     Ето шест от най-фрапиращите грешки, допуснати в [5].

     1. Там пише, че от тезиса на Чърч следва, че светът е изчислим. Действително в [1] пише, че от тезиса на Чърч следва, че Изкуствения Интелект е програма, но не и че светът е програма. Дали светът е изчислим или не, дали е детерминиран или не е, това са въпроси, чийто отговор не знаем и никога няма да научим. Това е нещо, което няма как да бъде проверено, защото не съществува експеримент, чиито резултат може да отговори на тези въпроси. (Въпросът детерминиран ли е светът е разгледан подробно в [3]. Въпросът изчислим ли е светът е аналогичен.).

     2. Когато са дефинирали коефициент на интелигентност, така са го направили, че се е получило нещо, което е безкрайност за всяка програма. Там те не са предвидили, че броят на програмите нараства експоненциално с увеличаване на дължината им. Това може да го приемем за грешка от недоглеждане, още повече, че е ясно как тази грешка може да бъде поправена. (Там се прави сума от успеха на програмата в различните животи, т.е от функцията Success. В тази сума не трябва всеки член да се умножава по 1/2 на степен сложността, а трябва да се вземе средното за съответната сложност и то да се умножи.) По-нагоре, когато казахме че в [5] средната сложност на света при тях е 2, това беше при предположение, че тази грешка е оправена. Ако оставим нещата така както са ги написали, то средната сложност е безкрайност и сумата, която наричаме коефициент на интелигентност, също е безкрайност. Тоест, ако не се коригира грешката понятието коефициент на интелигентност се обезсмисля.

     3. Най-сериозният проблем в [5] това е вторият вариант, който се предлага, за да бъде избегнат коефициента на затихване. Там множеството на световете е различно и съответно различна е и функцията Success (тази, която за всеки живот казва какъв успех е достигнат в този живот.)

     Да обобщим какво се е получило в [1], [2] и в двата варианта на [5].

     В [1] се разглежда безкраен живот в множество от светове, които са без фатални грешки. В [2] се предполага, че животът е краен. В първия вариант на [5] животът е безкраен със затихване, което е същото, все едно, че животът е краен. Във втория вариант на [5] се предполага безкраен живот в свят, където всичките грешки са фатални. Тук проблемът не е в това, че може да имаме фатална грешка (фаталните грешки не пречат в [2] и тук също няма да пречат). Проблемът е в това, че всички грешки са фатални. Тоест, няма поправими грешки. Човек не се учи от фаталните си грешки, може би се учи от фаталните грешки на другите, но не и от своите фатални грешки. Затова тази концепция противоречи на идеята за обучението.

     Във втория вариант на [5] функцията Success е растяща. Тя е определена да бъде сумата от всички оценки, които са числа в интервала [0, 1]. Нормално е да смятаме, че през живота функцията Success може да расте и да намалява. Когато тя трайно започне да намалява, това може да го сметнем за поправима грешка. Авторите на [5] са предпочели тази функция да е растяща, което значи, че устройството не може да прави поправими грешки. Единствената възможна грешка е от тип „пропуснати ползи“ и тази грешка винаги е фатална, защото ползите пропуснеш ли ги веднъж, повече няма как да ги хванеш. Освен това при пропусканите ползи няма обратна връзка. Тоест, когато функцията Success се променя, това устройството го разбира, но когато е пропуснало ползи, това няма как да го разбере. Евентуално може да го разбере в бъдещето, но животът е безкраен и това значи, че и в бъдещето няма да го разбере. Винаги устройството ще се надява, че ползите не са пропуснати, а ще се появят съвсем скоро.

     4. Много странно и нелогично е решението на авторите на [5] да ограничат сумата от оценките. Това ми напомня на един мой преподавател, за когото студентите разправяха, че имал ограничение на шестиците и че трябва да си от първите изпитани, защото по-нататък шестиците свършвали и колкото и да знаеш, шестица няма да получиш.

     Това ограничение те го налагат, за да може функцията Success да бъде в интервала [0, 1]. Вместо да изкривяват света по този ужасен начин, по-добре би било функцията Success вместо да бъде сумата от оценките, да бъде средното им аритметично (както е направено в [2]). По този начин функцията Success щеше да бъде в интервала [0, 1] и освен това нямаше да бъде растяща.

     Заключението е, че при втория вариант (на дефиницията на коефициент на интелигентност) авторите на [5] използват светове, при които обучението е невъзможно. Успехът на устройството в такъв свят зависи единствено от късмета му, а когато световете са много, късметът престава да влияе. Тоест, всички програми са еднакво интелигенти.

     Поставяме си въпроса дали авторите на [5] изобщо са разбрали, че в [1] и [2] става дума за устройство, което се обучава и което ще постигне добър резултат вследствие на това обучение или те си мислят, че устройството се е родило обучено. В началото на [5] действително се казва, че на устройството трябва да му се даде достатъчно време, за да се обучи, но после предлагат два варианта на дефиниция, които противоречат на тази идея (особено втория вариант).

     Вярно е, че при дефиницията на Тюринг, също имаме устройство, което се е родило обучено, но там става дума за един конкретен свят. Може устройството да се роди обучено за един конкретен свят, но няма как да се роди обучено за всеки свят.

     5. За грешка можем да приемем и това, че в [5] е променена дефиницията на свят. В [1] светът има множество от вътрешни състояния и функция, която казва как от едно състояние можем да преминем към друго. Естествено, на всеки свят съответства дърво на света. В [5] за дефиниция на свят е взето дървото на света. Това е все едно в математиката да не разглеждаме функции, а само графики на функции. Можем донякъде да оправдаем авторите на [5], защото те се опитват по някакъв начин да подобрят дефиницията на AI, но тази промяна показва, че те не са разбрали нашата основна идея. Ние предполагаме, че светът има някаква структура и устройството се опитва да разбере тази структура. Те се отказват от структурата на света, което е грешка.

     По аналогичен начин те постъпват и когато дефинират устройство. При нас устройството е някаква програма, а при тях то е някаква стратегия. Разбира се, на всяка програма съответства стратегия (обратното не е вярно). Въпреки всичко, да си мислим за устройството като за стратегия е грешка, защото така предполагаме, че то няма вътрешни състояния, тоест че няма памет. Тази грешка е много разпространена сред специалистите занимаващи се с AI. Много от тях търсят AI в множеството на функциите, което означава че за тях AI е устройство без памет. Стратегията също е функция, входен аргумент, на която е целия жизнен опит (история на живота). На пръв поглед изглежда, че щом имаме на разположение целия си жизнен опит, то памет не ни е нужна, но не е така.

     Представете си, че в един момент (на базата на целия си жизнен опит) решавате да отидете до хладилника и да си вземете една бира. Десет секунди по-късно вие виждате, че сте тръгнал за хладилника, но не знаете дали сте тръгнал за бира или за мляко. Вярно е, че можете да ползвате целия си жизнен опит, но това няма да ви даде отговор на въпроса. Ако някой ви беше казал да донесете бира, то от жизнения опит това може да се извлече, но ако сам сте решил да си вземете бира, това не го помните (защото сте без памет) и няма как да го извлечете от жизнения опит. Тоест, памет е необходима. Друг е и въпросът, че е абсурдно на всяка стъпка устройството да взима решение на базата на целия си жизнен опит (защото това е огромно количество информация). Много по-логично е да предполагаме, че то взима решение на базата на вътрешното си състояние и непосредствения вход, които е получило на последната стъпка.

     6. Последната забележка, която ще направим за [5] е странното разсъждение по въпроса дали оценката трябва да е част от света или част от устройството. В началото на [5] те уверено са поставили оценката като част от света и е малко странно към края на статията да започнат да разсъждават къде й е мястото. Те сами си отговарят на този въпрос, като казват, че ако разрешим на учениците сами да си пишат оценки, то всички биха станали отличници.

     Въпреки всичко, объркването на Shane Legg и Marcus Hutter по въпроса къде трябва да бъде поставена оценката има своите основания. Те си задават въпроса, оценката при човека дали не са чувствата на болка и на удоволствие (от храна, секс, музика и други източници на удоволствие). Отговорът, който ще им дадем, е следният: Човек няма вградена оценка. При него оценката се дава от света чрез еволюцията. Според тази оценка в света оцеляват тези, които оцеляват и които успеят да се размножат. Самият човек не я получава тази оценка наготово. По-точно той никога не я получава. Ако е живял според еволюционната оценка, която той не знае, то той ще оцелее достатъчно дълго време и в следващото поколение ще има такива, подобни на него. Това е причината, поради която хората цял живот търсят смисъла на живота (търсят го, защото не го знаят). Що се отнася до чувството на болка и удоволствие, това не е смисълът на живота, а това е инстинкт. Тоест, човек се ражда донякъде научен и знае, че болката е нещо лошо, а удоволствието нещо добро. На тези инстинкти не трябва да се вярва сляпо. Например чувството на болка е погрешно, когато зъболекарят ви вади зъб (стига зъболекарят да вади правилния зъб, разбира се). Горчивата храна също инстинктивно се възприема за лоша, но с времето човек започва да харесва горчиви храни, като кафето и бирата. Чувството на удоволствие също често е погрешно.

     Въпреки всичките забележки, които изредихме, статиите на Shane Legg и Marcus Hutter са много ценни за нас, защото това е първото признание на дефинициите от [1, 2]. Освен това анализът на грешките, допуснати от нашите швейцарски колеги, също е полезен, защото той показва къде нещата не са достатъчно добре обяснени. Очевидно е, че Shane Legg и Marcus Hutter са поработили много сериозно по темата и за нас беше ценно да проучим техния опит да подобрят нашата дефиниция. Там където те не са разбрали дефинициите от [1, 2], вината е по-скоро наша за това, че лошо сме обяснили. В резултат на този анализ бе подготвена тази статия, която се надяваме да помогне на тях и на други бъдещи изследователи в областта на Изкуствения Интелект.


     Отърваване от параметрите

     Можем ли, все пак да се отървем от параметрите, от които зависи дефиницията от [2]? Бихме могли да се отървем от параметрите, които участват в дефиницията на IQ, но не се сещам как бихме могли да се отървем от коефициента, който ни казва, кое е минималното IQ, което е достатъчно, за да признаем програмата за AI.

     За да се отървем от параметрите, които участват в дефиницията на IQ нека да разгледаме IQ като функция на продължителността на живота и на сложността на света. Можем да вземем границата на тази функция когато тези две променливи клонят към безкрайност и тази граница да приемем за новото IQ, което не зависи от параметри.

     Забележка: Всъщност, в [2] има още един параметър. Това е максималния брой малки стъпки, който машината на Тюринг на съответния свят има право да направи на една голяма стъпка. Можем да приемем, че сложността на света се определя от дава параметъра – брой състояния на машината на Тюринг и максимален брой малки стъпки за една голяма. Тоест, дефиницията на IQ зависи не от два, а от три параметъра.

     Така дефинираме новото IQ. Въпросът е дали границата на тази функция съществува. Първото ни притеснение е дали границата не е безкрайност. Да припомним, че функцията Success се изчисляваше като средното аритметично от оценките получени за победата, загуба и реми, които са съответно 1, 0 и 1/2. Тоест, тази функция е в интервала [0, 1]. Оттук следва, че IQ също е в интервала [0, 1], защото това е средната стойност на функцията Success. Следователно границата на IQ, когато аргументите му клонят към безкрайност, също е в интервала [0, 1].

     Второто ни притеснение е дали функцията няма да се окаже разсходяща. Тоест, долната й граница да се окаже строго по-малка от горната. Възможно ли е има свят, в който успехът в течение на живота да скача ту нагоре, ту надолу и да не клони към никоя конкретна стойност. Да, представете си свят, в който на първата стъпка получаваш победа, на следващите две стъпки получаваш загуба, на следващите 4 отново получаваш победа и на следващите 8 отново загуба.

     Разбира се, подобни светове са малко и те не могат да повлияят на стойността на IQ, но възможно ли е да има програма, чието IQ да скача ту надолу, ту нагоре в зависимост от дължината на живота. Представете си програма, която е доста умна и знае какво става, но играе ту така, че да печели ту така че да губи. Пак ще използваме редицата от интервали 2n и ще предполагаме, че във всеки следващ интервал програмата обръща поведението си.

     Възможно ли е една програма да има добро IQ, когато сложността на света е ниска, но при увеличаване на сложността на света нейното IQ рязко да падне. Да, това е така при програмата „зубрач“. Тази програма се справя добре при малък брой светове, ако е направена специално за тези светове, но когато световете станат много като брой и като разнообразие, тогава програмата „зубрач“ се проваля.

     Следователно, възможно е функцията IQ да не е сходяща, но в този случай новото IQ няма да бъде границата й, а средното аритметично между долната и горната й граница.

     Ако приемем тази нова дефиниция на IQ ще загубим хубавото свойство на тази функция, че тя е изчислима. Въпреки всичко ние не изчисляваме точната стойност на тази функция поради комбинаторната експлозия предизвикана от твърде големия брой на възможните светове и възможните животи. Вместо това ние изчисляваме тази функция приблизително по метода на статистиката, като използваме някаква крайна извадка от произволно избрани светове и пускаме програмата да изживее по един тестов живот във всеки тестов свят. Приблизително можем да изчислим и новата функция IQ като изберем случайно една изброима извадка от светове, в която редицата от тестовите светове да са с нарастваща сложност и тестовите животи да бъдат с нарастваща продължителност. Така ще получим една редица от междинни резултати, която ще клони към границата на IQ (т.е. към новото IQ, ако старото IQ има граница). Ако функцията IQ няма граница, то редицата няма да е сходяща, но нейната горна и долна граница ще съвпадат с долната и горната граница на IQ.

     Въпросът е дали да дефинираме ново IQ като границата на IQ, когато сложността на света и продължителността на живота клонят към безкрайност или е по-добре да предположим, че сме избрали за тези параметри достатъчно големи стойности и това да е нашето IQ. Това, което е предпочетено в [2] е второто решение.

     Що се отнася до коефициента, който определя минималното IQ, което е нужно за да признаем програмата за AI. Тази стойност трябва да е някъде между 1/2 (интелигентността на най-тъпата програма) и интелигентността на най-умната, т.е. интелигентността на Trivial Decision 5. Добре е да вземем IQ-то на човек, защото за нас достатъчно интелигентни са тези програми, които са по-умни от човек. Проблемът е, че ние не знаем кое е това IQ. Можем да се опитаме да го изчислим приблизително като провеждаме експерименти с хора. Аз имам известен опит като съм експериментирал с мои студенти и резултата е, че дори за прост свят какъвто е света на играта Морски Шах, студентите не успяват да се справят. Вярно е, че в този случай имаше излишно кодиране, което усложни света и попречи на студентите да го разберат. Вярно е още, че обучението се предполага да продължи цял живот, а моите студенти се опитваха да разберат този свят в рамките на 45 минути. Предполагам, че ако студентите бъдат обучени да решават задачи от този вид, те биха показали много по-добри резултати. Тоест, резултатите от направения от мен експеримент със студенти не могат да се приемат за достоверни и въобще човешкото IQ е трудно да бъде определено по експериментален път.

     Разбира се, определянето на човешкото IQ е напълно безпредметно. За нас е важно да знаем какво е AI, а това са програмите, които са достатъчно интелигентни. Колкото по-интелигентна е една програма, толкова по-добре.


     Кой е по-съвършен?

     Когато променяме дефиницията на IQ ние променяме наредбата, която тази дефиниция ни дава. Тоест, променя се това кой е по-интелигентен и кой е по-глупав. Можем да имаме две програми и по една дефиниция на IQ първата програма да е по умната, а по другата дефиниция по-умната да е втората. Ако решим IQ да бъде границата когато продължителността на живота и сложността на света клонят към безкрайност, то ние бихме предпочели по-бавно развиващите се програми пред по-бързо развиващите се.

     Един от съучениците на баща ми [7] имаше теория според която колкото по-бавно се развива едно същество, толкова по-съвършено е то. Той даваше примери с животните и хората като твърдеше, че хората са по-съвършени от животните. Друг негов аргумент беше това, че повечето велики хора като деца не са блестели с особена интелигентност. Също така, той съпоставяше мъжете и жените и отбелязваше, че момичетата се развиват по-бързо от момчетата, но мъжете постигат по-добри резултати в областта на абстрактното мислене.

     Аз съм съгласен с неговите наблюдения, но не съм съгласен с неговите изводи. Първо не съм съгласен, че хората са по-съвършени от животните. Ако направим сравнение на физическата сила, бързината, издръжливостта на студ, глад и болка ще видим, че хората значително отстъпват на повечето животни. Красотата също е нещо по което отстъпваме на животните. Вярно е, че ние харесваме жени, но това е защото ние сме инстинктивно програмирани да ги харесваме, а не поради някакви обективни причини. Жените нямат цветни пера или нещо друго което би впечатлило животно от друг биологичен вид. Вземете като пример вимето на кравата. За бика вероятно то би било източник на вдъхновение достойно за написването на поема, но ние хората не виждаме в това виме нищо красиво.

     Тази статия е посветена на интелекта и затова нека да сравним хората и животните като интелект, абстрахирайки се от другите им качества. Можем ли да твърдим, че хората са по-умни от животните? Да сравняваме два мозъка е все едно да сравняваме два автомобила. Ако единият е по-бърз, а другият е по-мощен, то кой тогава е по-добрият? Мозъка има много характеристики и е трудно да се каже кой мозък е по-добрият. Например, дългосрочната памет при слоновете е значително по-добра от тази на хората. Има експерименти, които показват, че някои маймуни имат значително по-добра краткосрочна памет от хората. Ако приемем, че най-важната характеристика на мозъка е способността за абстрактно мислене, то може да се окаже, че октоподите са много по-способни от нас хората. Разбира се, октоподите са едни доста глупави създания, защото абстрактното мислене далеч не е всичко. При октоподите няма връзка между поколенията и те са самоуки. За да сравним човек и октопод, трябва човека да е израсъл без родители и без възпитатели.

     С две думи, не съм съгласен, че хората са по-съвършени от животните. Не съм съгласен и с това, че абстрактното мислене, което е силата на мъжете е по-важно от интуитивното мислене, което е по-развито при жените. Вярно е, че при абстрактното мислене, когато имаме отговор, знаем как сме достигнали до този отговор, докато интуитивното мислене ни дава отговор, но не можем този отговор да го обосновем. Затова, често когато говорим за мислене имаме предвид именно абстрактното мислене, но има области, където интуитивното мислене дава много по-добър резултат от абстрактното и в тези области жените са много по-успешни от мъжете.

     Що се отнася до така наречените велики хора, също не съм съгласен, че те са по-съвършени от нас останалите. Не случайно повечето гении не са признати приживе, а чак след смъртта им. Представяте ли си, колко още гении има, които не са признати дори и след смъртта им? Такива, които винаги са ги мислили за слабоумни и отдавна вече са ги забравили.

     Тоест, не е добра идеята да променяме дефиницията на IQ и вместо да търсим най-подходящата програма за определена продължителност на живота да вземем тази програма, която е най-подходяща в случая когато продължителността на живота клони към безкрайност. По този начин бавноразвиващата се програма ще стане една от най-умните, а както вече казахме тази програма не отговаря на идеята ни за Изкуствен Интелект.

     За различни задачи са подходящи различни инструменти. Идеята ни да намерим един универсален инструмент, който да е добър за всяка задача е похвална, но често неизпълнима. Много често едно качество е за сметка на друго. Когато имаме реален мозък, често когато един дял е по-развит, това е за сметка на друг дял (защото реалният мозък трябва да може да се събере в реалния череп). Когато описваме изкуствения мозък можем да считаме, че нямаме физически ограничения и че всички дялове могат да бъдат максимално развити, но времето необходимо за обучение е един ресурс, който е ограничен и при реалния и при изкуствения мозък.

     Когато говорим за време при изкуствения мозък имаме предвид брой стъпки, а при естествения имаме предвид секунди, часове и години. Нека приемем, че естествения мозък прави по 24 стъпки в секунда (колкото са кадрите в киното) и тогава идеята за време при естествения и изкуствения мозък ще се уеднакви.


     Благодарности

     Искам да благодаря на професор Димитър Скордев и професор Тинко Тинчев за направените от тях забележки и за съветите, които ми дадоха във връзка с тази статия. На професор Скордев искам да благодаря още за това, което той направи през 2004 г. Тогава той ме провокира да напиша дефиницията [2], като каза по повод на дефиницията [1] следното: „Тази дефиниция въобще не е формална. Вие твърдите, че тя може да бъде формализирана, но въобще не е ясно как това може да стане!“ Това, беше една конструктивна критика и в неин резултат се появи дефиницията [2].


     References

[1] Dobrev D. (2000) AI – What is this, In: PC Magazine – Bulgaria, November'2000, pp.12-13 (www.dobrev.com/AI/definition.html).
[2] Dobrev D. (2005) Formal Definition of Artificial Intelligence, In: International Journal "Information Theories & Applications", vol.12, Number 3, 2005, pp.277-285. (www.dobrev.com/AI/).
[3] Dobrev D. (2001) AI – How does it cope in an arbitrary world, In: PC Magazine – Bulgaria, February'2001, pp.12-13 (www.dobrev.com/AI/).
[4] S. Legg and M. Hutter. (2005) A Universal Measure of Intelligence for Artificial Agents, In: Proc. 21st International Joint Conf. on Artificial Intelligence (IJCAI-2005), pages 1509–1510, Edinburgh, 2005.
[5] S. Legg and M. Hutter. (2006) A formal measure of machine intelligence, In: Proc. 15th Annual Machine Learning Conference of Belgium and The Netherlands (Benelearn'06), pages 73–80, Ghent, 2006.
[6] S. Legg and M. Hutter. (2007) Universal Intelligence: A Definition of Machine Intelligence, Minds & Machines, 17:4 (2007) pages 391-444.