Transcript 1 paskaita
Intelektikos pagrindai P176B100 2012 m. Robertas Damaševičius [email protected] Intelektika. Dirbtinis intelektas. Mašininis mokymas Intelektikos mokslas Intelektas gebėjimas gauti žinias ir jas panaudoti Intelektika – pažinimo mokslo (cognitive science) dalis nagrinėjanti „dirbtinio intelekto“ problemas ir jų taikymus Kompiuterinė intelektika Kompiuterinė Intelektika informatikos mokslo šaka, tirianti kompiuterių naudojimą imituojant žmogaus proto savybes Intelektikos objektai Intelektualios elgsenos modeliavimas (išmanieji agentai) Mąstymo proceso modeliavimas (sprendimų teorija) Smegenų ir nervų sistemos modeliavimas (neuroniniai tinklai) Intelektiniai sugebėjimai gebėjimas mąstyti; gebėjimas skaičiuoti – gebėjimas dirbti su skaičiais ir atlikti aritmetinius veiksmus; žodinis lankstumas – gebėjimas lengvai, laisvai ir tinkamais žodžiais išdėstyti savo mintis; verbalinis suvokimas – gebėjimas suvokti žodinę ir rašytinę informaciją; atmintis; erdvinė orientacija – gebėjimas įsivaizduoti erdvėje įvairius daiktus ir objektus. Pagr. intelektikos mokslo tikslai Suprasti (žmonių, gyvūnų, dirbtinių agentų) intelektą įgalinančius principus Kurti protingas mašinas ar agentus, sugebančias atlikti sudėtingas užduotis, kurių negali ar nenori daryti žmonės Formalizuoti pažinimo ir samprotavimo žinias Palengvinti žmonių darbą su kompiuteriu Kurti žmonių-kompiuterio sąsajas, grįstas žmogaus ir kompiuteriu intelektualiu bendradarbiavimu Intelektikos tyrimų šakos Žinių Paieška Logika Mašininis mokymasis Kalbos atpažinimas Vaizdo atpažinimas atvaizdavimas Valdymo, planavimo algoritmai Robotika Ekspertinės sistemos Dirbtinis intelektas Terminas naudojamas nuo 1956 m. Dirbtinis intelektas skiriasi nuo įprastų kompiuterinių algoritmų tuo, kad gali apsimokyti, tai atlikdamas tą patį veiksmą gali elgtis kitaip priklausomai nuo prieš tai atliktų veiksmų Siejasi su jutimu, kalbos apdorojimu, vaizdo apdorojimu, planavimo ir valdymo algoritmais, apsimokymu, adaptavimusi Dirbtinio intelekto sistemos MĄSTYMAS ELGSENA Sistemos, kurios mąsto kaip žmonės Sistemos, kurios mąsto racionaliai Sistemos, kurios veikia kaip žmonės Sistemos, kurios veikia racionaliai ŽMOGUS KOMPIUTERIS (skaitmeninė logika) Intelekto atpažinimas: Tiuringo testas (1950) ? Jei pagal atsaką negalima patikimai nuspręsti, ar jo šaltinis yra žmogus ar kompiuterinė sistema, tokia sistema yra intelektuali (sumani, protinga) Žmogus ne visada mąsto racionaliai Logika ne visada tinka neapibrėžtumui išspręsti Protinga ≠ Racionalu ≈ Tikslinga Tikslingumą aprašo tikslo funkcija Totalinis Tiuringo testas Papildomai apima kompiuterinį vaizdo apdorojimą Matyti aplinkos objektus robotiką Judėti / perkelti objektus Ekspertinės sistemos Sistemos, kurios elgiasi (priima sprendimus) racionaliai (kaip žmonės) Loginio samprotavimo nepakanka Reikalingos srities žinios Agentų technologija Agentas - kompiuterinė sistema, kuri, veikdama tam tikroje aplinkoje, gali atlikti savarankiškus veiksmus, atitinkančius jo veikimo paskirtį Savarankiškumas suprantamas kaip veikimas be tiesioginio žmogaus ar kito agento pagalbos ir sugebėjimas keisti savo vidinę būseną bei valdyti veiksmus pagal tam tikrą nustatytą valdomo proceso dėsningumą. Programinis agentas – programa, kuri nepertraukiamai ir autonomiškai funkcionuoja tam tikroje aplinkoje ir gali bendrauti su kitais agentais ar procesais 14 Agentų tipai (1) Svarstymo agentai Bendradarbiaujantieji agentai pasižymi autonomija, greita reakcija, iniciatyva, ir gebėjimu bendradarbiauti su kitais agentais, kad galėtų atlikti savo užduotis Sąsajos agentai turi simbolinį aplinkos modelį ir atlieka loginius samprotavimus pasižymi autonomiškumu ir gebėjimu mokytis tam, kad pasiekti jų vartotojų tikslus Mobilieji agentai sugeba klajoti kompiuteriniuose tinkluose, sąveikauti su kitais vartotojais, savo šeimininko vardu rinkti informaciją, prisijungti prie serverių ir lokaliai peržvelgti duomenų bazes, surasti tinkamą informaciją ir grįžti „namo“ atlikus vartotojo numatytas užduotis 15 Agentų tipai (2) Interneto agentai Reaktyvieji agentai neturi vidinio simbolinio aplinkos modelio, o vietoj to jie veikia/atsako į aplinkos poveikius. Hibridiniai agentai naudojami tik interneto aplinkoje. Jie tvarko, rūšiuoja arba atrenka reikiamą informaciją iš įvairių paskirstytų šaltinių. apjungia dviejų ar daugiau aukščiau minėtų agentų rūšių savybes. Sumanūs agentai agentai, kurie turi dirbtinį intelektą 16 Agento intelektualumas Kiekvienas agentas turi turėti tam tikrą intelektualumo laipsnį, kad galėtų būti agentu. Agento intelektualumas susideda iš trijų pagrindinių komponentų: vidinės žinių bazės apimtis, sprendimo galimybės, kuri remiasi žinių bazės turiniu, galimybės mokytis ar prisitaikyti prie aplinkos pasikeitimo (adaptyvus elgesys) 17 Vidinės agentų savybės (1) Vidinės savybės Reaktyvumas. formuoja agento vidinę būseną apima galimybę mokytis, reaktyvumą, autonomiškumą ir tikslo siekimą. Agentas turi elgesiu paremtą veiklos modelį ir turi sugebėti reaguoti į paprastus poveikius ar informacijos pasikeitimus jį supančioje aplinkoje. Ši aplinka gali būti reali probleminė sritis, vartotojas su atitinkama sąsaja, kitų agentų grupė, Interneto aplinka, arba visų šių komponentų kombinacija. Sprendimas/Mokymasis. Kiekvienas agentas turi turėti tam tikrą intelektualumo laipsnį, kad galėtų būti agentu. 18 Vidinės agentų savybės (2) Autonomiškumas. Tikslo siekimas. Agentas sugeba siekti savo tikslų autonomiškai, t.y., be jokių sąveikų ar komandų iš aplinkos. Vartotojas gali tik duoti agentui komandas, idėjas ar nurodyti jį dominančius dalykus, kad agentas galėtų nepriklausomai spręsti reikiamas užduotis Agentas turi žinoti konkrečius tikslus arba turėti tikslų sistemą Iniciatyvumas. Agentas nebūtinai tik reaguoja į savo aplinkos pokyčius, bet gali imtis ir iniciatyvos nustatytam tikslui siekti 19 Išorinės agentų savybės Išorinės savybės Bendravimas apima visas tas savybes, kurios turi reikšmės keleto agentų ar žmogaus-agento tarpusavio sąveikai, pvz., bendravimas ir bendradarbiavimas. naudojamas agento kontaktų su aplinka palaikymui. Agentas aprūpinamas tam tikra užklausų aibe, kad galėtų bendrauti su kitais agentais ir iš jų gauti atsakymus iš žinomos atsakymų aibės. Bendradarbiavimas agentų, kurie sprendžia bendrą užduotį, tarpusavio bendravimas keičiantis tikslais, savybėmis ir žiniomis. 20 Agento vidinė būsena (1) Įsitikinimai (beliefs) Norai (desires) sudaro bazinį agento požiūrį į aplinką. naudoja norėdamas nustatyti galimus aplinkos pasikeitimus. išvedami tiesiogiai iš įsitikinimų. sudaro agento nuomonę apie būsimas situacijas. Tikslai (goals) vaizduoja agento norų poaibį, kuriems vykdyti jis turi atlikti kokį nors veiksmą. tikslai turi būti realūs ir įgyvendinami bei neturi prieštarauti tarpusavyje. tikslai formuoja agento potencialių veiksmų aibę, nes jie perteikia galimų veiksmų alternatyvas tam tikru laiko momentu. 21 Agento vidinė būsena (2) Ketinimai (intentions) tikslų poaibis. jei agentas nusprendžia įgyvendinti tam tikrą tikslą, tai šis tikslas tampa ketinimu. Planai (plans) sustato agento ketinimus į nuoseklias sekas. visų planų aibė atspindi agento ketinimus. 22 Sumanieji agentai Sumanusis agentas yra sistema, kuri Gali suvokti savo aplinką Gali samprotauti, spręsti problemas, priimti sprendimus Gali siekti tikslų Duomenys / jutikliai Sumanusis agentas Vartotojas / aplinka Rezultatai / vykdikliai Agento architektūra AGENTAS Jutikliai APLINKA Sprendimo įrenginys Vykdikliai Planavimo modulis Koordinavimo modulis Veiksmų pasirinkimas yra atliekamas sprendimų įrenginyje, kuris naudoja planavimo ir koordinavimo modulius Planavimo veiklos metu nustatoma veiksmų seka užduotam tikslui pasiekti Reikia apmokyti 24 Mašininis mokymasis Intelektikos sritis Adaptyvių kompiuterinių sistemų, galinčių pagerinti savo veikimo efektyvumą mokydamosi iš įvesties duomenų arba savo pačių patirties, kūrimas Mašininio mokymosi tikslai Bendrųjų mokymosi principų, metodų ir algoritmų suradimas Žiniomis grįstų sistemų kūrimo automatizavimas Žmogaus mokymosi mechanizmų modeliavimas Mašininio mokymosi uždaviniai Klasifikaciniai uždaviniai skirti suskirstyti objektus į grupes. Paprasčiausias – binarinis klasifikatorius, pvz., žmogus serga/neserga Kai yra daugiau grupių naudojami keli klasifikatoriai, kurių pagalba gaunamas norimas rezultatas Prognozavimo uždaviniai tokie, kuomet pagal turimus duomenis yra spėjama, kokie bus tolimesni. Pvz.: oro prognozė, ligų diagnostika Apibrėžimas Kompiuterio programa mokosi iš patyrimo E atsižvelgdama į tam tikrą užduočių klasę T ir veiklos įvertį P, jei jos veikla užduotyje T, matuojant pagal įvertį P, gerėja patyrimo E atžvilgiu A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. [Mitchell, T. (1997). Machine Learning, McGraw Hill] Intelektikos teorija Apima 3 pagr. sritis Skaičiavimų (algoritmų) teorija – kaip gauti rezultatą Formalioji logika – kaip gauti teisingą rezultatą Tikimybių teorija – kaip gauti patikimą rezultatą, kai teisingas rezultatas nežinomas arba jį suskaičiuoti pernelyg sudėtinga Intelektikos metodai (1) Paieška Galimi atsakymai (sprendimai, veiksmai) saugomi struktūrizuotoje erdvėje (pvz., duomenų bazėje), kurioje reikia atlikti paiešką Paieška gali būti: Akla (pilnas perrinkimas) Heuristinė (dalis atskaymų atmetama priklausomai nuo ankstesnių atsakymų) Intelektikos metodai (2) Žinių apie aplinką atvaizdavimas Kaip aprašyti mūsų žinias apie pasaulį? Kaip tai aprašyti glaustai? Kaip tai aprašyti, kad būtų galima greitai atlikti paiešką? Kaip gauti naujas žinias iš jau turimų žinių? Kaip elgtis su neapibrėžtomis (nepatikimomis) žiniomis? Intelektikos metodai (3) Planavimas Turint tikslų aibę, reikia surasti tokią veiksmų seką, kuri leistų tuos tikslus pasiekti Problemos: Labai didelė paieškos erdvė Pasaulis gali keistis dinamiškai Ką daryti, kai atliktus veiksmus laukiami rezultatai nepasiekiami? Intelektikos metodai (4) Mokymasis Sistema turi sugebėti pakeisti savo veiksmų seką priklausomai nuo savo patirties (veiksmų istorijos) Problemos: Kaip iš senų faktų (žinių) sukurti naujus faktus (žinias)? Kaip nustatyti, kada naujoje aplinkoje situacija pasikeitė ir reikia keisti veiksmų seką? Intelektualios sistemos sąveika su aplinka Iš intelektualios sistemos tikimąsi, kad ji Turės jutiklius (vaizdo, garso ir kt.) Bendraus su žmonėmis (supras kalbą, generuos tekstą, paveikslus) Galės keisti savo buvimo vietą (aplinką) robotika Intelektikos taikymai Didelių duomenų kiekių analizė Kosmoso tyrimų duomenys Genetinio kodo analizė Brukalo filtravimas Intelektikos taikymai Teksto apdorojimas Kalbos analizė Mašininis vertimas Intelektikos taikymai Duomenų paieška Interneto paieškos serveriai Intelektikos taikymai Medicina: Lazerinės operacijos, vaizdų apdorojimas Intelektikos taikymai Pramogos Žaidimai Intelektikos taikymai Robotika Planavimas Autonominis valdymas Intelektikos taikymai Smegenų - kompiuterio sąsaja Išorinių elektroninų įrenginių (robotų) tirsioginis valdymas smegenų / nervinių signalų pagalba Robotai. Robototechnika. Robotų programavimas. Kas yra robotas? Robotas yra „perprogramuojamas daugiafunkcinis manipuliatorius suprojektuotas transportuoti medžiagas, detales, įrankius ar specializuotus įtaisus naudojant įvairius užprogramuotus judesius ir skirtas įvairių užduočių atlikimui“ [The Robot Institute of America, 1979] Robotas yra „automatinis įtaisas, kuris atlieka paprastai žmonių atliekamus veiksmus“ [Webster, 1993]. Robotas – „mašina, kuri gali suvokti aplinką, reaguoti į ją ir veikti“ [A. Machworth]. Kas yra robotas? (2) Robotas – „elektromechaninė, kompiuterio valdoma mašina atliekanti užprogramuotas užduotis“. Robotas – mechaninis aparatas, galintis atlikti užprogramuotas fizines užduotis. Robotas gali būti valdomas tiesiogiai žmogaus arba veikti valdomas užprogramuoto kompiuterio. Robotai gali atlikti užduotis, kurios yra pavojingos žmogui, dirbti žmonėms kenksmingoje aplinkoje. Jie taip pat gali atlikti monotoniškas, dažnai pasikartojančias užduotis, tokiu būdu pigiai pakeisdami žmogaus rankų darbą Kas yra robotika? Robototechnika (robotika) – mokslas apie robotų kūrimo, gamybos ir panaudojimo metodus Robotikos terminą sukūrė I. Asimov, 1941 m. Robotikos raida (1) 3 a. pr. m.e.: Kinijos rašytiniuose šaltiniuose (LieZi) pirmą kartą paminėtas mechaninis žmogus (automatas), kurį sukūrė ‘meistras’. Robotikos raida (2) apie 270 m. pr. m.e.: graikų mokslininko Ktesibo vandens laikrodžiai ir kiti vandeniu varomi mechanizmai Robotikos raida (3) I a.: Heronas iš Aleksandrijos aprašo apie 100-ą mašinų ir automatų (ne ginklų), įskaitant ugnies variklį, vargonus, mašiną, įjungiamą monetomis, ir garo variklį Robotikos raida (4) 1206: Programuojami humanoidai automatonai - AlDžazario (Al-Jazari) 'Valtis su keturiais muzikantais'. Robotikos raida (5) 1495: Planai robotui-humanoidui - Leonardo Da Vinčio 'Mechaninis riteris‘ Galėjo vaikščioti, pakelti rankas, atsisėsti, judinti burną Taip pat Da Vinči sukūrė mechaninį liūtą ir spyruokle varomą automobilį Robotikos raida (6) 1642 B. Pascal - sumatorius 1694 G. Leibnitz - skaičiuotuvas Robotikos raida (7) 1738: Mechaninė antis, kuri galėjo lesti, mosuoti sparnais - Žako de Vokansono "Virškinanti antis" Robotikos raida Mechaninis Turkas http://www.theturkbook.co m Robotikos raida Joseph Faber‚ – Euphonia, kalbanti mašina (1830-40's) Garso sintezatorius, valdomas suspaustu oru Turėjo net dirbtinį režimą Tuo metu susidomėjimo nesukėlė From http://www.haskins.yale.edu/haskins/HEADS/SI MULACRA/euphonia.html Robotikos raida (8) 1800: Japoniški mechaniniai žaislai, kurie patiekdavo arbatą, šaudydavo strėlėmis ir tapydavo - Tanakos Hišašigės '"Karakuri" žaislai'. Robotikos raida (9) 1834 Charles Babbage’s Analitinė mašina Robotikos raida 1898: N. Tesla – pirmas nuotoliniu būdu valdomas robotas – laivas (“teleautomatas”) Viduje buvo įmontuotas “paskolintas protas” U.S. patent no. 613,809 Robotikos raida (5) 1921: Pirmieji išgalvoti automatai, pavadinti "robotais", pasirodo pjesėje "R.U.R." Karelo Čiapeko 'Rossum'o Universalūs Robotai'. Robotikos raida (6) 1930: Robotas humanoidas eksponuojamas 1939-ųjų ir 1940ųjų Pasaulinėse mugėse Niujorke - Westinghouse Electric Corporation 'Elektro'. Robotikos raida 1945 ENIAC Pirmasis skaitmeninis kompiuteris Robotikos raida 1949 EDVAC - pirmasis kompiuteris su atmintimi Robotikos raida 1948: Paprasti robotai demonstruoja biologinius veiksmus - Wiljamo Grėjaus Volterio “Mechaninis vėžlys” Robotikos raida John McCarthy, “Dirbtinis intelektas”, Dartmouth konferencija, JAV, 1956. Teiginys: Kiekvienas mokymosi ir kiti intelekto aspektai gali būti tiksliai aprašyti, kad mašina galės juos imituoti 63 Robotikos raida 1964 Hopkins‘o pabaisa. Naudojo sonarą, kad surastų elektros lizdus ir galėtų pati pasikrauti. Robotikos raida 1970 Shakey robotas, valdomas nutolusio kompiuterio, kuris atliko planavimą ir veiksmų parinkimą. 1 metro distancijai nuvažiuoti reikėjo pusės valandos. Robotikos raida (12) 1971: baltos linijos sekimas 1975: važiavimas tiesiai sekant horizontą 1979: kliūčių apvažiavimas 1980: trimatis kliūčių modeliavimas 30 metrų distanciją įveikdavo per 5 val. 1/4 pasiklysdavo Stanford Cart Robotikos raida (8) 1961: Pirmasis įrengtas komercinis industrinis robotas Džordžo Devolio 'Unimate‘ General Motors gamykloje naudotas automobilių kėbulų suvirinimui Robotikos raida (9) 1963: Pirmasis robotas, kraunantis objektus ant industrinių padėklų - Fudžio Jusokio Kogijo 'Palletizer' Robotikos raida (10) 1973: Pirmasis industrinis robotas su 6 elektromechaniškai varomomis ašimis - KUKA Robot Group 'Famulus' Robotikos raida (11) 1975: Programuojama universali manipuliacinė ranka, kompanijos Unimation produktas - Viktoro Šeinemano 'PUMA‘. Robotikos raida (13) 1986: Brooks elgsena grįsti robotai – humanoidinis robotas ‘Cog’ Robotikos raida (14) 1997: Sojourney robotas Marse Robotikos raida (15) 2000: trimatis aplinkos modeliavimas naudojant stereo viziją 2005: Kinect technologija Pagrindinės robotikos raidos tendencijos Žmogaus-roboto bendradarbiavimas (co-robots) Apjungimas su 3D sensoriais (Kinect) Nuotolinis valdymas yra sudėtingas Roboto autonomiškumas sunkiai pasiekiamas Padeda robotams orientuotis realiame pasaulyje Robotika debesyse Sudėtingų skaičiavimų perkėlimas į debesis Pvz.: vaizdų, balso atpažinimas Paskirstytas užduočių sprendimo duomenų bazė RoboEarth projektas (robotų internetas) Pagrindinės robotikos raidos tendencijos Robotai su elastiniais vykdytuvais Išmanieji telefonai kaip robotų “smegenys” Robotas naudoja išmaniųjų telefonų jutiklius, procesorių, displėjų ir interneto prieigą Autonominiais automobiliai “Dirbtinė oda” Automatinis parkavimasis Važiavimas su “auto-pilotu” 3D spausdintuvai Nuotoliniu būdu valdomos skraidyklės Rototika kitų mokslų kontekste Robotika glaudžiai susijusi su : Mechanika – mechaninių dalių konstravimas ir valdymas Kinematika – mokslas apie judėjimą Elektronika – elektrinių komponentų sujungimas ir valdymas Informatika – valdymo algoritmai, dirbtinis intelektas Chemija – medžiagų tvirtumas, lengvumas, atsparumas Biologija – biologinių sistemų elgsena, gamtos procesų panaudojimas įgyvendinant robotikos uždavinius. Neuroinformatika Robotų įvairovė Platus taikymų spektras Komercinis Akademinis Asmeninis Kaip juos programuoti? Iššūkiai Sudėtingumas Atkartojamumas Patikimumas Resursai Įrankiai Technologijos Pasirinkimas Sprendimų dalinimasis Įgūdžių/patirtis perdavimas 77 Robotų klasifikavimas Industriniai robotai Buitiniai robotai Medicininiai robotai Kariniai robotai Aptarnavimo robotai Laisvalaikio robotai Tyrinėjimo robotai Industriniai robotai Automatiškai valdomas, programuojamas, manipuliatorius veikiantis 3 ar daugiau ašyse [ISO standartas 8373:1994] Naminiai (buitiniai) robotai Naudojami atlikti namų apyvokos darbus (kambarių siurbimas, baseino valymas, kiemo tvarkymas, žolės pjovimas). Medicininiai robotai Naudojami mūsų sveikatos gerinimui: operacijoms daryti, slaugyti, bioniniai protezai, nanorobotai. Kariniai robotai Skirti atlikti karinius veiksmus Gali būti naudojami sprogmenų paieškose, perimetro apsaugai, įrangos transportavimui nesaugioje zonoje Aptarnavimo robotai Naudojami aptarnavimo sferose, baruose, rūbinėse, bilietų pardavimo kasose Laisvalaikio robotai Atkartoja įvairias emocijas ir judesius Gali būti liūdni, linksmi, bendraujantys su žmonėmis Dažniausiai būna žaislai Tyrinėjimo robotai Robotai, kurie dažniausiai naudojami įvairiuose moksliniuose tyrimuose (pvz. kosmose). Papildoma vaizdo medžiaga Paskaitos apie dirbtinį intelektą (I.I.T.) http://www.youtube.com/watch?v=fV2k2ivttL0 http://www.youtube.com/watch?v=d39tTuUbDVw Paskaitos apie dirbtinį intelektą (Ravensburg Univ.) http://www.youtube.com/watch?v=katiy95_mxo Paskaitos apie mašininį mokymą (Stanford) http://www.youtube.com/watch?v=UzxYlbK2c7E http://www.youtube.com/watch?v=5u4G23_OohI Paskaita apie intelektinių sistemų valdymą http://www.youtube.com/watch?v=dZKvUyIdMhk Dirbtinis intelektas ir robotika (BBC) http://www.youtube.com/watch?v=mwdrMYgvpVw