Posljednjih godina puno se govori o umjetnoj inteligenciji, iako je vrlo upitno radi li se uopće o stvarnoj inteligenciji.
Prvi kompjutorski programi su radili samo ono što su programeri predvidjeli da rade. Povezivanje programa sa bazama podataka programi su obrađivali podatke i korisnicima nudili rezultate svojih obrada.
Daljnjim razvojem programskih aplikacija stvorena je mogućnost promjene rada programa ovisno o novim podacima koje program vremenom ubacuje u baze podataka.
Dodavanjem različitih senzora na osnovu koji program puni baze podataka stvorena je mogućnost promjene ponašanja aplikacije u različitim uvjetima koji vladaju u okolini. Različiti potezi uvjetovani podacima iz senzora mogu dati određene podatke o rezultatima pojedinih poteza, te na osnovu rezultata koji se unose u baze podataka stvorena je mogućnost stjecanja iskustva pojedinih aplikacija. Na taj način aplikacija uči na greškama, te ne ponavlja poteze koji daju loše rezultate. To je omogućilo pojedinim aplikacijama naučiti nove koncepte, donijeti zaključke, razumjeti prirodni jezik, raspoznavati prizore i slično. Glavna područja primjene su računalne igre i simulacije procesa, razumijevanje govora, prevođenje, rješavanje problema, pretraživanje podataka, automatsko programiranje, inteligentni agenti, računalni vid.
Rješavanjem ovakvih zadataka stvorene su aplikacije koje mogu učiti i koje su vezane za termin "Umjetna inteligencija" UI. Međutim, sve to je i dalje samo automatsko povezivanje niza znakova jednih sa drugima. Unatoč tome, mnoge nove aplikacije se nazivaju Inteligentnim sustavima pošto se mogu uz intervenciju korisnika ili senzora prilagoditi, učiti na temelju iskustva, koristi velike količine znanja, ostavljati dojam svjesnosti, komunicirati s čovjekom prirodnim jezikom i govorom, a sve više dopustiti i nejasnoće u komunikaciji. Ali to su i dalje samo kompjuterski programi povezan sa bazama podataka koje se mijenjaju i tako mogu promijeniti i rad programa.
Razvijeni su oblici umjetne inteligencije za planiranje različitih zadataka koji povezuju vrijeme, zadatke i osobe, sustavi za pretraživanje prema veće broju različitih kriterija koji se mogu međusobno kombinirati, ekspertni sustavi koji rješavaju probleme određenih uskih stručnih poslova, sustavi zasnovani na znanju pohranjenom u velikim bazama podataka o određenim činjenicama, te neuronske mreže. Sve te "inteligentne" aplikacije za razne poslova međusobno su posve nepovezane. Iza svih tih nepovezanih aplikacija ne postoji nikakva svijest, niti te aplikacije išta razumiju. Sve su one specijalizirane za pojedinu poslove, te na mogu istodobno pokazivati različite inteligentne odlike i obavljati različite funkcije. Međusobno povezivanje različitih aplikacija za različite poslove bit će vrlo težak posao usklađivanja koje treba rezultirati međusobnim razumijevanjem različitih aplikacija.
Najčešće vrste aplikacija
Aplikacije za planiranje različitih zadataka koji povezuju vrijeme i zadatke i osobe vrše poslove tajnika, te vlasnike u određeno vrijeme upozoravaju na posao koji trebaju obaviti.
Digitalni asistenti prate što korisnik radi na svome računalu i sve više prepoznaju navike korisnika, te mu na prva mjesta na ekranu nude ono što bi mu moglo biti najzanimljivije i što on najčešće koristi.
Sustavi za pretraživanje prema veće broju različitih kriterija koji se mogu međusobno kombinirati, omogućuju korisnicima pronalazak informacija iz čitavog svijeta pomoću pretrage po ključnim riječima, kombinirano sa teritorijalnim, vremenskim, jezičnim i drugim kriterijima.
Ekspertni sustavi koji rješavaju probleme određenih uskih stručnih poslova za koje je potrebno određeno specifično znanja iz jednog ili više određenih područja znanosti. Najčešće se radi o području knjigovodstva i financija, medicine, proizvodnje, projektiranja, kontrole procesa određenih aktivnosti i sl. Ovakvi programi su vrlo korisni dok se koriste za ono što su napravljeni, ali mogu i griješiti kada se koriste za nešto što autori nisu predvidjeli.
Sustavi zasnovani na znanju pohranjenom u velikim bazama podataka o određenim temama i činjenicama. To su računalni programi koji se služe znanjem eksperta iz nekoga specijaliziranog područja u svrhu boljeg odlučivanju. Najpoznatija baza znanja je Wikipedija koju svatko može koristiti, ali i dopunjavati bazu podataka.
Umjetne neuronske mreže su zbir umjetnih "neurona" koji su međusobno povezani i interaktivni kroz operacije obrade signala. Mreža može imati niz ili jedan ulaz ulaza i uvijek jedan izlaz, između kojih se nalazi jedan ili više slojeva "neurona" koji su međusobno spojeni vezama kroz koje idu signali. Veze među njima se aktiviraju ako je zadovoljen unaprijed zadan uvjet. Te mreže mogu „učiti”, kroz niz ponavljajućih postupaka analize. Veći dio podataka koristi se za učenje, a manji za predviđanje poznatih vrijednosti. Sa većim brojem pokušaja moguće je smanjiti vjerojatnost pogreške u predviđanju rezultata. Primjer umjetnih neuronskih mreža su umrežavanje više tisuća računalnih procesora koji rade na istom zadatkom raspodjelom resursa.
Inteligentni agenti su programi koji mogu fleksibilno, samostalno i bez intervencije korisnika izvršavati postavljeni zadatak, te korisnika izvijestiti o završetku zadatka, ili pojavi događaja koji se očekuje. Sam agent je u interakciji s okolinom kako bi na što precizniji način izvršio postavljeni zadatak. Inteligentni agenti su programske komponente i služe kao posrednici između korisnika i računala. Oni rade za korisnika i sa njegovom dozvolom i specijalizirani su za neko područje. Inteligentni agenti su poznati kao softverski agenti, vodiči , roboti znanja i softverski roboti. Oni mogu pomagati u donošenju odluka, procesuiraju podatke sa senzora, rješavaju probleme, povezuju računalo i korisnika sa realnim svijetom i slično.
Robotika je spoj inženjerske znanost, tehnologije robota, softvera za upravljanje robotima, te njihov dizajn, proizvodnju i primjenu.
Umjetni život pokušava emitirati biološke fenomene u pokušaju stvaranja programa koji imaju osobine živog bića.
Raspoređena umjetna inteligencija služi za rješavanje složenijih problema njihovim rastavljanjem i na više dijelova, te svaki dio rješavaju različiti ekspertni sustavi. To zahtijeva ekspertne sustave koji će moći surađivati da bi riješili ukupni problem.
Genetsko programiranje je automatsko pisanje programa prema modelu evolucije. Računalo može napisati program koji rješava zadani problem na način da nasumično napisane programe poboljšava križanjima sa drugim programima.
Inteligencija roja je sposobnost skupine u pronalaženja boljih rješenja za rješavanje problema pojedinih članova i problema u skupini. Ova vrsta umjetne inteligencije pokušava problema riješiti na način koji to zajednički rade mravi, pčele, jata ptica, jata riba, životinjska krda, razmnožavanje bakterija i slično. Ovaj pojam je najviše vezan za internet koji je najkorisniji u podijeli znanja i informacija.
Aplikacije za prepoznavanja riječi mogu napisani tekst pretvoriti u niz riječi ili fraza koje su samo niz znakova, a taj niz znakova mogu povezati sa zvukom, ili slikom. Iako takve aplikacije ne razumiju značenje riječi one mogu po riječima pretraživati ogromne baze podataka, ili čitav internet. Mogu tiskane riječi pretvarati u zvuk kao izgovorenu riječ, ili obrnuto. Ali ako se neka riječ, ili fraza ne nalazi u bazi podataka ne mogu znati njezino značenje čak i kada je ta riječ složenica od drugih riječi. Ovime se bavi računalna lingvistika koja pomaže jezikoslovnim stručnjacima u obradi jezičnih podataka, ponajprije za potrebe informatičkih, leksikografskih, novinskih, dokumentarističkih, arhivskih, knjižničnih ustanova i sličnim jezikoslovnim obradama teksta.
Pojedine jezične aplikacije omogućuju samim korisnicima unos novih riječi u bazu podataka te se tako povećava preciznost aplikacije koja piše izgovorene riječi, ili izgovara napisani tekst. One mogu riječi ili fraze povezivati sa istim riječima istog značenja u drugom jeziku. Pošto riječi mogu imati više različitih značenja u različito kontekstu aplikacije za prevođenje znaju pogriješiti u izborima pojedinih riječi drugih jezika. Još teže je prepoznati značenje nekih odlomaka, misli i ideja. Zahvaljujući tome kada se tekst iz jednog jezika prevede na drugi jezik, te natrag na prvi jezik, nakon 6-7 takvih prevođenja istog teksta može se dobit tekst koji ništa ne znači. Većina prevoditelja omogućuje korisnicima da unesu nove riječi koje prevoditelj nema u svojoj bazi podataka, te se tako kvaliteta prevoditelja poboljšava. Time se može poboljšati bolji izbor prioritetnog značenja pojedinih riječi, ali još uvijek prevoditelj ne zna značenje onog što prevodi. Zbog toga ne može ni odrediti koje je značenje riječi bitnije, a koje je manje bitno.
Aplikacije za prepoznavanje riječi su temelj za pretraživanje interneta.
Internetski pretraživači ili tražilice su posebne Web stranice koje imaju funkciju pomoći u pronalaženju informacija koje se nalaze na nekim drugim Web mjestima. Informacije mogu biti Web stranice, slike, filmovi, datoteke, baza podataka, društvene mreže, otvoreni imenici i slično. Internetski pretraživači djeluju po nekom matematičkom algoritmu koji može biti kombiniran sa ljudskim intervencijama. Pretraživanje se najčešće vrši po ključnim riječima koje su povezane sa operatorom I (AND), mogu se povezati i sa operatorom ILI (OR), a ponekad i sa operatorom NE (NO). Google je razvio alat PageRank koji raspoređuje Web stranice temeljem broja i PageRankova ostalih Web mjesta i stranica koje se na njih spajaju, s pretpostavkom da se na češće korištene stranice spajaju također bolje stranice. Osim toga, što je neka stranica više posjećena to se ona nalazila više pri vrhu kada korisnik želi naći pojam koji se nalazi na toj stranici.
Internetski pretraživači skupljaju različite podatke o internetskim stranicama, uključuju ih u svoju bazu, te nude svakom korisniku koji traži određeni pojam, uslugu, proizvod, ili nešto drugo. Internetski pretraživač se sastoji od programa za prikupljanje podataka sa drugih Web stranica, index koji sadrži pojmove koje je program za sakupljanje sakupio tijekom pretrage neke Web stranice, te pretraživač indeksa.
Korisnost pretraživača ovisi o relevantnosti rezultata koje on daje. Iako mogu postojati milijuni Web stranica koje uključuju određenu riječ ili izraz, neke stranice mogu biti relevantnije, popularnije, ili pouzdanije od drugih. Većina pretraživača primjenjuje metode nizanja rezultata sa ciljem pribavljanja „najboljih“ rezultata, pri čemu se razlikuju pojedini pretraživači.
Web društvene mreže služe za plasiranje masovnih sadržaja određene vrste spremljenih u svojim bazama podataka. Najpoznatija takva web adresa je Youtube koja prikuplja filmove od korisnika, te omogućuje pretragu i po drugim kriterijima, a ne samo po ključnim riječima. Osim traženja po ključnim riječima (tagovima) algoritmi mjere intenzitet i prioritet stranica na kojima pronalaze ključne riječi. Tu su moguće manipulacije rezultatima koje mogu biti algoritamski ugrađene, ili organizirane od strane konkurencije koja želi sakriti određene sadržaje tržišnih protivnika.
Pretraživači društvenih mreža na osnovu onoga što korisnici pretražuju, ili tamo stavljaju, sve bolje prepoznaju interes pojedinih korisnika, te na osnovu toga određuju koja bi reklama mogla biti zanimljiva baš tom korisniku. Algoritamski se može nekim sadržajima i stranicama dati veći prioritet tako da se te stranice nalaze pri vrhu rezultata pretrage. Veći prioritet se obično daje onima koji plaćaju reklamu i onima stranicama koje se češće otvaraju, osobito u bliskoj prošlosti.
Aplikacije za prepoznavanja govora mogu zvuk ili sliku povezati sa riječima ili frazama koje su samo niz znakova, ili niz znakova povezati sa zvukom ili slikom. Na taj način one izgovorene riječi pretvaraju u pisani tekst, ili obrnuto. Iako takve aplikacije ne razumiju značenje riječi one mogu po riječima pretraživati ogromne baze podataka, ili čitav internet.
Najsloženije su aplikacije koje simuliraju vid. Za ovo program mora iz slike izdvojiti uzorak ili predmet u više nivoa, analizirati scenu, te trodimenzionalno razlučiti fiksnu scenu od objekata koji se kreću kroz scenu. Ovakvi programi sve bolje prepoznaju tekst iz slike, iz oblika lica mogu prepoznati osobe iz baze podataka, a mogu prepoznati i pojedine emocije sa lica ili iz pokreta.
Razvijaju se i sustavi samovozećih automobila koji na osnovu niza senzora i kamera moraju predvidjeti poteze drugih objekata (vozila, ljudi i životinja) koji se kreću kroz prostor, ali i navike osoba koje se voze u takvom vozilu.
Pametni samorazvijajući softveri već pomalo sami sebi postavljaju “dijagnozu” pokretanjem u pozadini programa za analizu rada računala koje sada koriste sistemski administratori.
Budućnost umjetne inteligencije
Unatoč svih navedenih oblika umjetne inteligencije aplikacije još uvijek nemaju nikakvu osobinu života ili svijesti. Za život nije dovoljno znati obrađivat podatke (misliti) i imati osjetila (senzore). Potrebno je imati emocije koje određuju ciljeve i potrebe. Na osnovu emocija, ciljeva, znanja i iskustva određuju se intenzitet i prioritet različitih potreba. Obična bakterija ima potrebu hranjenja i razmnožavanja, ima i osjetila "senzore" kojima prati uvjete okoline, ali ima i emociju straha koja joj omogućuje odlučiti treba li se trenutno hraniti, ili bježati.
Aplikacije nemaju ni emocije, a ni svoje potrebe. Oni se brinu za potrebe korisnika, te nemaju nikakve osobine živih bića. Tek pojedini roboti poput samostalnih usisavača i kosilica imaju svoje potrebe poput potrebe prekidanja osnovnog posla kako bi otišle napuniti akumulator. Budući samovozeći automobili namijenjeni za vožnju izvan cesta morati će osim potrebe za odlazak na punionicu imati i emociju straha kako bi se zaštitili od blata, velike kiše ili požara.
Kako bi se sve vrste umjetne inteligencije povezale potrebno je napraviti programe koji će povezati parcijalna rješenja problema u jedinstveni program. U tome je najvažnije omogućiti programsko razumijevanje riječi. Riječi treba povezati sa zvučnim, vidnim osjetilnim, emocionalnim i apstraktnim značenjima.
Vidna značenja pojedinih riječi se mogu definirati slikama, ili kratkim filmovima pokreta. Slušna značenja pojedinih riječi se mogu definirati kao izgovor riječi, ili kao zvuk prirodnih procesa. Kada se riječ čita onda ta riječ može asocirati na druga slušna, vidna i ostala značenja, a kada riječ čujemo iz nje možemo doznati i informacije o tome da li ju je izgovorio neko poznat ili nepoznat, odrastao čovjek, žena dijete i slično. Na isti način i iz drugih vrsta značenja riječi moguće je izvući više različitih informacija.
Značenja pojedinih riječi se razlikuju po prioritetu, intenzitetu i vremenskom redoslijedu. Od više različitih značenja riječi u rečenici neko značenje je važnije od drugog. U nekoj drugoj rečenici neko peto značenje može imati najviši prioritet, što ovisi o kontekstu riječi u rečenici, ili nekom odlomku teksta.
Po intenzitetu značenja riječi može se mijenjati važnost neke riječi u rečenici, ili rečenice u širem tekstu, iz čega se mogu dobiti i informacije o važnosti riječi u konkretnom kontekstu. Riječi u nizu mogu označavati i različiti vremenski tijek događanja, kojim se slika, zvuk, ili drugo značenje mijenja kroz vrijeme.
Da bi umjetni prevoditelji mogli ispravno prevoditi baze podataka koje služe za prevođenje morali bi osim samih riječi na različitim jezicima za svaki jezik imati tabelarni prikaz svih mogućih značenja za svaku pojedinu riječ. Uz svako samostalno slovo, riječ, frazu ili izraz morala bi biti slika te riječi ili izraza u nekoliko varijanti, kratki film, zvuk, oznaka mirisa, okusa opipa, te svih emocija i svih ostalih značenja koja slovo, riječ, fraza ili izraz može imati. Tek tada bi umjetna inteligencija mogla niz riječi prevoditi u neki "smisleni prostorno vremenski četverodimenzionalni film" koji bi ponovno prevodila u riječi i rečenice drugog jezika.
Ostale moje tehničke analize i inovaciju mogu se naći ovoj knjizi.
Oznake
Izdvojeni tekstovi