Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Në cilën gjuhë është shkruar inteligjenca artificiale? Hyrje në AI. Gjuhë pak të njohura për krijimin e inteligjencës artificiale

Në cilën gjuhë është shkruar inteligjenca artificiale? Hyrje në AI. Gjuhë pak të njohura për krijimin e inteligjencës artificiale

Për sa kohë që programuesit mund të fitojnë para duke programuar, atëherë AI-të ekzistuese nuk janë AI, pavarësisht se çfarë mbështjellësi karamele është varur në to. Zgjidhja që propozoj mund ta zgjidhë këtë çështje.

Si rezultat i kërkimit tim, unë ndalova përdorimin e shprehjes "inteligjencë artificiale" për veten time si shumë të paqartë dhe arrita në një formulim tjetër: një algoritëm për vetë-mësim, kërkim dhe aplikim të rezultateve të gjetura për të zgjidhur çdo detyrë të mundshme për zbatim.

Çfarë është AI, tashmë është shkruar shumë për të. E shtrova pyetjen në një mënyrë tjetër, jo "çfarë është AI", por "pse nevojitet AI". Më duhet për të fituar shumë para, pastaj që kompjuteri të bëjë gjithçka për mua që unë vetë nuk dua të bëj, pasi të ndërtoj një anije kozmike dhe të fluturoj drejt yjeve.

Kështu që unë do të përshkruaj këtu se si ta bëjmë kompjuterin të përmbushë dëshirat tona. Nëse prisni që këtu të shihni një përshkrim ose përmendje të mënyrës se si funksionon vetëdija, çfarë është vetëdija, çfarë do të thotë të mendosh ose arsyesh - atëherë kjo nuk është këtu. Të menduarit nuk ka të bëjë me kompjuterët. Kompjuterët llogaritin, llogarisin dhe ekzekutojnë programe. Pra, le të mendojmë se si të bëjmë një program që mund të llogarisë sekuencën e nevojshme të veprimeve për të realizuar dëshirat tona.

Në çfarë forme futet detyra jonë në kompjuter - përmes tastierës, mikrofonit ose nga sensorët e implantuar në tru - kjo nuk është e rëndësishme, kjo është një çështje dytësore. Nëse mund ta bëjmë një kompjuter të përmbushë dëshirat e shkruara në tekst, atëherë pas kësaj mund t'i vendosim një detyrë që të bëjë një program që gjithashtu përmbush dëshirat, por përmes mikrofonit. Analiza e imazhit është gjithashtu e tepërt.

Të thuash që në mënyrë që AI i krijuar të njohë imazhet dhe tingujt, algoritme të tilla duhet të përfshihen fillimisht në të, është si të thuash që çdo person që i krijoi ato e dinte që nga lindja se si funksionojnë programe të tilla.

Le të formulojmë aksiomat:
1. Çdo gjë në botë mund të llogaritet sipas disa rregullave. (më shumë për gabimet më vonë)
2. Llogaritja sipas rregullit, kjo është një varësi e paqartë e rezultatit nga të dhënat fillestare.
3. Çdo varësi e paqartë mund të gjendet statistikisht.
Dhe tani deklaratat:
4. Ekziston një funksion i konvertimit të përshkrimeve të tekstit në rregulla - në mënyrë që të mos keni nevojë të kërkoni njohuri që janë gjetur prej kohësh.
5. Ekziston një funksion i shndërrimit të detyrave në zgjidhje (kjo është përmbushja e dëshirave tona).
6. Rregulli i parashikimit arbitrar të të dhënave përfshin të gjitha rregullat dhe funksionet e tjera.

Le ta përkthejmë këtë në gjuhën e një programuesi:
1. Çdo gjë në botë mund të llogaritet duke përdorur disa algoritme.
2. Algoritmi jep gjithmonë të njëjtin rezultat kur përsërit të dhënat fillestare.
3. Nëse ka shumë shembuj të të dhënave fillestare dhe rezultateve ndaj tyre, me një kohë kërkimi të pafund, mund të gjeni të gjithë grupin e algoritmeve të mundshme që zbatojnë këtë varësi të të dhënave fillestare dhe rezultatit.
4. Ekzistojnë algoritme për konvertimin e përshkrimeve të tekstit në algoritme (ose ndonjë të dhënë tjetër informative) - në mënyrë që të mos kërkohen algoritmet e kërkuara statistikisht, nëse dikush i ka gjetur dhe përshkruar ato tashmë.
5. Është e mundur të krijojmë një program që do të përmbushë dëshirat tona, qofshin ato në formë teksti apo zanore, me kusht që këto dëshira të realizohen fizikisht dhe brenda afatit kohor të kërkuar.
6. Nëse arrini të krijoni një program që mund të parashikojë dhe të mësojë të parashikojë me ardhjen e të dhënave të reja, atëherë pas një kohe të pafundme një program i tillë do të përfshijë të gjithë algoritmet e mundshme në botën tonë. Epo, me një kohë jo të pafundme për përdorim praktik dhe me ndonjë gabim, mund të detyrohet të ekzekutojë algoritmet e programit f. 5 ose ndonjë tjetër.

Gjithashtu, IMHO:
7. Nuk ka asnjë mënyrë tjetër për të mësuar plotësisht të pavarur dhe të pavarur nga një person, përveç kërkimit me numërim të rregullave dhe kontrollit statistikor të tyre për parashikim. Dhe ju vetëm duhet të mësoni se si ta përdorni këtë pronë. Kjo veti është pjesë e mënyrës se si funksionon truri.

Çfarë duhet parashikuar. Që nga lindja, një rrjedhë informacioni fillon të rrjedhë në trurin e njeriut - nga sytë, veshët, të prekshëm, etj. Dhe të gjitha vendimet merren prej tij në bazë të të dhënave të marra më parë. Për analogji, ne po bëjmë një program që ka një hyrje të informacionit të ri për një bajt - një rrjedhë bajt hyrëse. Gjithçka që është marrë më herët paraqitet në formën e një liste të vazhdueshme. Nga 0 në 255, informacioni i jashtëm do të hyjë, dhe mbi 255 ne do ta përdorim atë si shënues të veçantë kontrolli. Ato. input ju lejon të shkruani, të themi, në 0xFFFF dimensionin e një numri. Dhe është kjo rrjedhë, ose më mirë sasia e ardhshme e shtuar e informacionit, që ju duhet të mësoni se si të parashikoni, bazuar në të dhënat e marra më parë. Ato. programi duhet të përpiqet të gjejë se cili do të shtohet numri tjetër.

Sigurisht, opsione të tjera për paraqitjen e të dhënave janë gjithashtu të mundshme, por për qëllime kur një shumëllojshmëri formatesh merren si hyrje, ne thjesht mbushim html të ndryshëm me përshkrime atje fillimisht, ky është më optimali. Megjithëse shënuesit mund të zëvendësohen me ikje sekuence për qëllime optimizimi, është më pak e përshtatshme të shpjegohen me ta. (Gjithashtu, imagjinoni që gjithçka është në ASCII, jo UTF).

Pra, së pari, si në lindje, ne i fusim të gjitha faqet e internetit me përshkrime atje dhe i ndajmë ato me një shënues të ri teksti - - në mënyrë që kjo kuti e zezë të mësojë gjithçka me radhë. Shënuesit do t'i caktoj me etiketa, por kuptohet që ato janë thjesht një lloj numri unik. Pasi të ketë kaluar një sasi e caktuar e të dhënave, ne fillojmë të manipulojmë informacionin në hyrje duke përdorur shënuesit e kontrollit.

Me parashikim, nënkuptoj një algoritëm të tillë që di jo vetëm se cilat modele kanë qenë tashmë, por gjithashtu kërkon vazhdimisht të reja. Dhe për këtë arsye, nëse sekuenca dërgohet në hyrjen e një programi të tillë
qielli blu
bari jeshile
tavani
, atëherë ai duhet të kuptojë se çfarë është prapa shënuesit ndjek ngjyrën nga objekti i specifikuar më parë, dhe në vend të elipsës do të parashikojë ngjyrën më të mundshme të tavanit.

I kemi përsëritur disa shembuj në mënyrë që ai të kuptojë se cili funksion duhet të zbatohet brenda këtyre etiketave. Dhe vetë ngjyra, natyrisht, ai nuk duhet ta shpikë atë, por duhet ta dijë tashmë vetë, pasi ka studiuar modelet e llogaritjes së parashikimit.

Kur kërkohet një përgjigje nga algoritmi, atëherë cili ishte parashikimi i hapit të mëparshëm futet në hyrjen e hapave pasues. Lloji i auto-parashikimit (për analogji me fjalën autokorrelacion). Dhe në të njëjtën kohë, ne çaktivizojmë kërkimin për sekuenca të reja.

Një shembull tjetër, mund të tregoni pyetjen pas shënuesit të parë, dhe përgjigjen në të dytin, dhe më pas nëse ky algoritëm është super-mega-cool, duhet të fillojë të japë përgjigje edhe për pyetjet më të vështira. Përsëri, brenda kufijve të fakteve tashmë të studiuara.

Ju mund të gjeni shumë truke të ndryshme me shënuesit e kontrollit të futur në hyrjen e mekanizmit parashikues dhe të merrni çdo funksion të dëshiruar. Nëse mërziteni duke lexuar për arsyetimin algoritmik për këtë veti, mund të lëvizni poshtë te shembujt e mëposhtëm me shënuesit e kontrollit.

Nga se përbëhet kjo kuti e zezë? Para së gjithash, vlen të përmendet se nuk është e mundur të bëhet një parashikim qind për qind gjithmonë dhe në të gjitha situatat. Nga ana tjetër, nëse rezultati është gjithmonë zero, atëherë ky do të jetë gjithashtu një parashikim. Edhe pse me një diferencë gabimi 100%. Tani le të llogarisim me çfarë probabiliteti, çfarë numri, çfarë numri pason më pas. Për secilin numër përcaktohet numri më i mundshëm i radhës. Ato. mund ta parashikojmë pak. Ky është hapi i parë i një udhëtimi shumë të gjatë.

Një hartë e qartë e të dhënave hyrëse me rezultatin sipas algoritmit, kjo korrespondon me përkufizimin matematikor të fjalës funksion, përveç që siguria në numrin dhe vendosjen e të dhënave hyrëse dhe dalëse nuk i imponohet përcaktimit të algoritmit. Si shembull, le të ketë një pjatë të vogël: një objekt-ngjyrë, ne do të futim shumë rreshta në të: qielli është blu, bari është i gjelbër, tavani është i bardhë. Ky doli të ishte një funksion i vogël i hartës së paqartë lokal. Dhe nuk ka rëndësi që në realitet ngjyrat shpesh nuk janë të njëjta - do të ketë tabela të tjera të tyre. Dhe çdo bazë të dhënash që përmban vetitë e ruajtura të diçkaje është një grup funksionesh, dhe harton ID-të e objekteve me vetitë e tyre.

Për të thjeshtuar, më tej në shumë situata, në vend të termit algoritëm, do të përdor termin funksion, si p.sh. një parametër, përveç nëse specifikohet ndryshe. Dhe çdo përmendje e tillë, ju duhet të nënkuptoni shtrirjen ndaj algoritmeve në kokën tuaj.

Dhe unë do të jap një përshkrim shembullor, sepse në realitet, unë ende nuk i kam kuptuar të gjitha këto ... Por gjithçka është logjike. Dhe gjithashtu duhet të kihet parasysh se të gjitha llogaritjet kryhen me koeficientë, dhe jo të vërteta ose të rreme. (e mundur edhe nëse thuhet shprehimisht se e vërtetë dhe e rreme).

Çdo algoritëm, veçanërisht ai që funksionon në numra të plotë, mund të zbërthehet në një grup kushtesh dhe kalimesh ndërmjet tyre. Në nënalgoritme nga kushtet dhe kalimet zbërthehen edhe veprimet e mbledhjes, shumëzimit etj. Dhe gjithashtu operatori i rezultatit. Nuk është një deklaratë kthimi. Operatori i kushtit merr një vlerë nga diku dhe e krahason atë me një vlerë konstante. Dhe operatori i rezultatit shton një vlerë konstante diku. Vendndodhja e marrjes ose palosjes llogaritet në lidhje ose me pikën bazë ose në lidhje me hapat e mëparshëm të algoritmit.

Struktura t_node ( lloji int; // 0 - kushti, 1 - bashkimi i rezultatit ( struct ( // deklarata e gjendjes t_node* source_get; t_value* compare_value; t_node* next_if_then; t_node* next_if_else; ); struct ( // deklaratë e rezultatit t_node* dest_set ; t_vlera* rezultati_vlera; ); ) );
E çuditshme, diçka e tillë. Dhe algoritmi është ndërtuar nga elementë të tillë. Si rezultat i gjithë arsyetimit, do të dalë një strukturë më komplekse, dhe kjo është për prezantimin fillestar.

Çdo pikë e parashikuar llogaritet nga një funksion. Funksionit i është bashkangjitur një kusht, i cili teston për zbatueshmërinë e këtij funksioni në këtë pikë. Zinxhiri i përgjithshëm kthen ose false - nuk zbatohet, ose rezultatin e llogaritjes së funksionit. Dhe parashikimi i vazhdueshëm i rrjedhës është një kontroll një nga një i zbatueshmërisë së të gjitha funksioneve të shpikura tashmë dhe llogaritja e tyre, nëse është e vërtetë. Dhe kështu për çdo pikë.

Përveç kushtit për zbatueshmëri, ka edhe distanca. Midis të dhënave fillestare dhe rezultatit, dhe kjo distancë është e ndryshme, me të njëjtin funksion të aplikuar në varësi të gjendjes. (Dhe nga kushti në atë fillestar ose të parashikuar ka të njëjtën distancë, do ta nënkuptojmë, por e lëmë në shpjegime. Dhe distancat janë dinamike).

Me akumulimin e një numri të madh funksionesh, do të rritet numri i kushteve që testojnë zbatueshmërinë e këtyre funksioneve. Por, në shumë raste, këto kushte mund të rregullohen në formën e pemëve, dhe krasitja e grupeve të funksioneve do të ndodhë në proporcion me varësinë logaritmike.

Kur funksioni krijohet dhe matet fillimisht, në vend të deklaratës së rezultatit, grumbullohet shpërndarja e rezultateve aktuale. Pas grumbullimit të statistikave, shpërndarja zëvendësohet nga rezultati më i mundshëm, dhe funksioni paraprihet nga një kusht, duke testuar edhe kushtin për probabilitetin maksimal të rezultatit.

Ai kërkon fakte të vetme korrelacioni. Pasi kemi grumbulluar një mori të tillë beqarësh, ne po përpiqemi t'i kombinojmë ato në grupe. Ne shikojmë, nga e cila është e mundur të veçojmë gjendjen e përgjithshme dhe distancën totale nga vlera fillestare deri në rezultat. Dhe gjithashtu, ne kontrollojmë që në kushte dhe distanca të tilla, në raste të tjera, kur vlera origjinale përsëritet, rezultati të mos shpërndahet gjerësisht. Ato. në disa përdorime të shpeshta, është shumë identike.

Koeficienti i identitetit. (Ky është një identitet me dy drejtime. Por më shpesh është i njëanshëm. Unë do ta rimendoj formulën më vonë.)
Numri i çdo çifti XY është në katror dhe përmbledhur.
Pjestojeni me: shumën e sasive në katror me çdo vlerë X plus shumën e sasive në katror me Y minus dividentin.
Ato. SUM(XY^2) / (SHUMË(X^2) + SUM(Y^2) - SUM(XY^2)).
Ky raport është nga 0 në 1.

Dhe si rezultat, çfarë ndodh. Ne u bindëm me fakte të frekuencës së lartë se në këto kushte dhe distancë, këto fakte janë të paqarta. Dhe pjesa tjetër e rrallë - por në total do të ketë shumë më tepër sesa të shpeshta - kanë të njëjtin gabim si faktet e hasura shpesh në këto kushte. Ato. ne mund të grumbullojmë një bazë parashikimi mbi ndodhitë e vetme të fakteve në këto kushte.

Le të ketë një bazë njohurish. Qielli është shpesh blu, dhe mbeturinat tropikale-të rralla diku e panë se ishte gri-kafe-kuq. Dhe mbani mend, sepse ne kontrolluam rregullin - është i besueshëm. Dhe parimi nuk varet nga gjuha, qoftë ajo kineze apo e huaj. Dhe më vonë, pasi të keni kuptuar rregullat e përkthimit, do të jetë e mundur të kuptoni se një funksion mund të mblidhet nga gjuhë të ndryshme. Në të njëjtën kohë, duhet të merret parasysh se baza e njohurive mund të përfaqësohet edhe në formën e algoritmeve - nëse vlera fillestare është e tillë dhe e tillë, atëherë vlera që rezulton është e tillë dhe e tillë.

Më tej, si rezultat i numërimit të rregullave të tjera, konstatojmë se në rregullime dhe kushte të tjera, lind identiteti tashmë i parë. Për më tepër, tani nuk duhet të mbledhim një bazë të madhe për të konfirmuar identitetin, mjafton të mbledhim një duzinë faktesh të vetme dhe të shohim që brenda kësaj duzine, hartëzimi ndodh me të njëjtat vlera si në funksionin e mëparshëm. Ato. i njëjti funksion përdoret në kushte të tjera. Kjo veti formon faktin që ne mund të përshkruajmë të njëjtën veti në përshkrim me shprehje të ndryshme. Dhe ndonjëherë ato thjesht renditen në tabela në faqet e internetit. Dhe më tej, mbledhja e fakteve mbi këtë funksion mund të bëhet tashmë për disa raste përdorimi.

Ekziston një grumbullim i kushteve dhe rregullimeve të ndryshme të mundshme në lidhje me funksionet, dhe gjithashtu mund të përpiqeni të gjeni modele mbi to. Jo rrallë, rregullat e përzgjedhjes janë të ngjashme për funksione të ndryshme, duke ndryshuar vetëm në disa veçori (për shembull, një fjalë që identifikon një pronë ose një titull në një tabelë).

Në përgjithësi, ne gjetëm një sërë funksionesh me një parametër. Dhe tani, si në rastin e formimit nga fakte të vetme në fakte njëparametërshe, edhe këtu do të përpiqemi t'i grupojmë ato njëparametërore për nga kushti dhe pjesa e distancës. Pjesa që është e zakonshme është kushti i ri, dhe pjesa që ndryshon është parametri i dytë i funksionit të ri - dy-parametër, ku parametri i parë do të jetë parametri me një parametr.

Rezulton se çdo parametër i ri në ato me shumë parametra është me të njëjtin linearitet si formimi nga faktet e vetme në ato me një parametra (mirë, ose pothuajse me të njëjtën). Ato. gjetja e parametrit N është proporcionale me N. I cili, duke u përpjekur për shumë parametra, bëhet pothuajse një rrjet nervor. (Kush dëshiron, ai do ta kuptojë.)

funksionet e konvertimit.

Sigurisht, është mirë kur na janë dhënë shumë shembuj përkatës, të themi, tekste të vogla përkthimi nga rusishtja në anglisht. Dhe mund të filloni të përpiqeni të gjeni modele midis tyre. Por në realitet, gjithçka është e përzier në rrjedhën hyrëse të informacionit.

Këtu morëm gjetëm një funksion dhe shtegun midis të dhënave. E dyta dhe e treta. Tani le të shohim nëse mund të gjejmë një pjesë të përbashkët të shtigjeve midis tyre. Mundohuni të gjeni strukturat X-P1-(P2)-P3-Y. Dhe pastaj, gjeni më shumë struktura të ngjashme, me X-P1 dhe P3-Y të ngjashme, por P2 të ndryshme. Dhe atëherë mund të konkludojmë se kemi të bëjmë me një strukturë komplekse, mes së cilës ka varësi. Dhe grupi i rregullave të gjetura, minus pjesën e mesme, do të kombinohet në grupe dhe do të quhet funksioni i konvertimit. Kështu, formohen përkthimi, përpilimi dhe entitete të tjera komplekse.

Këtu, merrni një fletë me një tekst rusisht dhe me përkthimin e tij në një gjuhë të panjohur. Pa një tutorial, është jashtëzakonisht e vështirë të gjesh një kuptim të rregullave të përkthimit nga këto fletë. Por është e mundur. Dhe në të njëjtën mënyrë siç do ta bënit ju, ai duhet të përpunohet në një algoritëm kërkimi.

Kur të kuptoj funksione të thjeshta, atëherë do të vazhdoj të mendoj për kërkimin e konvertimit, derisa skica dhe të kuptuarit se kjo është gjithashtu e mundur do të ndodhë.

Përveç kërkimit statistikor të funksioneve, është e mundur edhe formimi i tyre nga përshkrimet, me anë të një funksioni konvertimi në rregulla - një funksion leximi. Statistikat për krijimin fillestar të një funksioni leximi mund të gjenden me bollëk në internet në tekstet shkollore - korrelacionet midis përshkrimeve dhe rregullave të aplikuara për shembujt në ato përshkrime. Ato. rezulton se algoritmi i kërkimit duhet të shohë në mënyrë të barabartë si të dhënat fillestare ashtu edhe rregullat e zbatuara për to, d.m.th. gjithçka duhet të vendoset në një grafik të dhënash që është homogjen për sa i përket llojeve të aksesit. Nga i njëjti parim, vetëm në të kundërt, mund të gjenden rregulla për kthimin e rregullave të brendshme në përshkrime të jashtme ose programe të jashtme. Dhe gjithashtu për të krijuar një kuptim të sistemit, çfarë di dhe çfarë jo - përpara se të kërkoni një përgjigje, mund të pyesni nëse sistemi e di përgjigjen - po ose jo.

Funksionet për të cilat po flisja në fakt nuk janë vetëm një pjesë e vetme e një algoritmi që mund të gjendet, por mund të përbëhet nga një sekuencë funksionesh të tjera. E cila, nga ana tjetër, nuk është një thirrje procedurash, por një sekuencë transformimesh, siç është puna me tub në linux. Për shembull, unë përshkrova përafërsisht parashikimin e fjalëve dhe frazave menjëherë. Por për të marrë një parashikim vetëm të një simboli, funksioni i marrjes së këtij simboli duhet të zbatohet në këtë frazë. Ose funksioni ka mësuar të kuptojë detyrat në anglisht, dhe TK në Rusisht. Pastaj RussianTK->TranslateInto English->ExecuteTSinEnglish->Rezultati.

Funksionet mund të mos fiksohen në përkufizim, dhe të ripërcaktohen ose ripërcaktohen kur informacioni shtesë bëhet i disponueshëm ose kur kushtet ndryshojnë fare - funksioni i përkthimit nuk është i kufizuar dhe përveç kësaj, ai mund të ndryshojë me kalimin e kohës.

Përsëritshmëria e një grupi në funksione të ndryshme ndikon gjithashtu në vlerësimin e probabiliteteve - ai formon ose konfirmon llojet.

Duhet përmendur gjithashtu se mjaft grupe të botës reale, dhe jo faqe interneti, janë të renditura dhe mundësisht të vazhdueshme, ose me karakteristika të tjera të grupeve, gjë që përmirëson disi llogaritjet e probabilitetit.

Përveç matjes së drejtpërdrejtë të rregullit të gjetur në shembuj, supozoj ekzistencën e metodave të tjera të vlerësimit, diçka si një klasifikues rregullash. Dhe ndoshta klasifikuesi i këtyre klasifikuesve.

Më shumë nuanca. Parashikimi përbëhet nga dy nivele. Niveli i rregullave të gjetura dhe niveli i kërkimit të rregullave të reja. Por kërkimi për rregulla të reja është në thelb i njëjti program me kriteret e veta. Dhe e pranoj (edhe pse nuk e kam menduar ende) se gjithçka mund të jetë më e thjeshtë. Ajo që nevojitet është një nivel zero, i cili do të kërkojë algoritme të mundshme kërkimi në të gjithë diversitetin e tyre, i cili nga ana tjetër do të krijojë rregullat përfundimtare. Ose ndoshta është përgjithësisht një rekursion me shumë nivele ose një fraktal.

Le të kthehemi te shënuesit e kontrollit. Si rezultat i të gjitha këtyre argumenteve rreth algoritmit, rezulton se përmes tyre i kërkojmë kësaj kutie të zezë të vazhdojë sekuencën dhe të lëshojë një llogaritje për një funksion të përcaktuar nga ngjashmëria. Shkruani për të bërë siç u tregua më parë.

Ekziston një mënyrë tjetër për të përcaktuar një funksion në këtë mekanizëm - për të nxjerrë një funksion përmes një përkufizimi. Për shembull:
Perktheje ne anglisht tabela tabela
Përgjigju pyetjes ngjyra e qiellit blu
Krijo një program TK Dua inteligjencë artificiale ...

Përdorimi i këtij sistemi për të zgjidhur problemet tona konsiston në algoritmin e mëposhtëm. Ne bëjmë një përshkrim të përkufizimit të një identifikuesi të veçantë për përshkrimin e detyrave. Më pas, ne krijojmë një përshkrim të detyrës dhe i caktojmë asaj një identifikues të ri. Ne bëjmë një përshkrim të veprimeve të lejuara. Për shembull (edhe pse jo praktike), komandat e procesorit janë drejtpërdrejt përshkrime nga interneti dhe manipuluesit janë të lidhur me kompjuterin, i cili mund të kontrollohet përmes porteve. Dhe pas kësaj, ne mund të pyesim sistemin se çfarë veprimi tjetër duhet të kryhet për ta afruar detyrën me zgjidhjen, duke iu referuar detyrës sipas identifikuesit. Dhe gjithashtu pyesni çdo herë tjetër nëse keni nevojë për ndonjë informacion shtesë të nevojshëm për llogaritjen e mëtejshme të veprimeve - informacion mbi njohuritë e përgjithshme ose për gjendjen aktuale të zgjidhjes së problemit. Dhe ne vendosim kërkesat për veprime dhe kërkesat për informacion në një qark të jashtëm. E gjithë kjo skemë bazohet në përkufizime tekstuale, dhe për këtë arsye mund të drejtohet përmes funksioneve të marra me përkufizim. Dhe dalja - vetëm komanda - nuk bëhet fjalë për shumë probabilitet të teksteve. Çështja e shkallës së parashikimit të kërkuar nuk po diskutohet tani - nëse ekziston një funksionalitet i nevojshëm dhe i mjaftueshëm parashikimi, logjikisht duhet të funksionojë.

Nëse dikush në AI nuk sheh një mënyrë për të zgjidhur problemet, por disa karakteristika të një personi, atëherë mund të themi se sjellja dhe cilësitë njerëzore janë gjithashtu të llogaritura dhe të parashikueshme. Dhe në literaturë ka mjaft përshkrime të kësaj apo asaj prone. Prandaj, nëse përshkruajmë në sistem se cilën nga vetitë duam, atëherë ai do ta imitojë atë në mënyrën më të mirë të njohurive. Dhe do të riprodhojë ose sjellje mesatare abstrakte, ose duke iu referuar një personi specifik. Epo, ose nëse dëshironi, mund të provoni të nisni superinteligjencën - nëse i jepni një përkufizim.

Ju mund të parashikoni diçka që do të ndodhë pas njëfarë kohe. Objektet lëvizin me shpejtësi dhe nxitime, dhe të gjitha llojet e ndryshimeve të tjera të mundshme në çdo gjë me kalimin e kohës. Hapësira gjithashtu mund të parashikohet. Për shembull, ju hyni në një dhomë të panjohur, në të cilën ka një tavolinë, në të cilën një nga qoshet është e mbuluar me një fletë letre. Ju nuk mund ta shihni këtë cep, por mund të parashikoni mendërisht se ka shumë të ngjarë të jetë drejtkëndor sa qoshet e tjera (në vend se të rrumbullakosura), dhe ngjyra e këtij këndi është e njëjtë me qoshet e tjera. Natyrisht, parashikimi i hapësirës ndodh me gabime - papritmas ai cep i tryezës gërryhet dhe mbi të ka një njollë bojë. Por parashikimi i proceseve kohore është gjithashtu gjithmonë me gabime. Përshpejtimi i rënies së lirë në tokë nuk është gjithmonë 9.81, por varet nga lartësia mbi nivelin e detit dhe nga malet afër. Dhe instrumentet matëse nuk mund t'i bëni kurrë absolutisht të sakta. Ato. parashikimi i hapësirës dhe i proceseve në kohë ndodh gjithmonë me gabime, dhe entitete të ndryshme të parashikuara kanë gabime të ndryshme. Por thelbi është i njëjtë - algoritmet e gjetura statistikisht.

Rezulton se parashikimi i rrjedhës sonë të bajtit është si të parashikosh hapësirën e informacionit. Ai kodon hapësirën dhe kohën. Aty gjendet një lloj strukture - le të jetë një pjesë e programit. Kjo pjesë e softuerit është një hapësirë ​​e parashikueshme, ashtu si një tabelë. Grupi i rregullave të parashikimit të kësaj strukture formojnë rregullat e kësaj strukture - diçka si shprehje të rregullta. Për të përcaktuar strukturën e këtyre strukturave, parashikimi nuk llogaritet me një vlerë të vetme, por me një grup vlerash të vlefshme. Në kohën e përshkrimit të algoritmit, nuk isha ende i vetëdijshëm për rolin e veçantë të strukturave në të, dhe për këtë arsye ai nuk arriti atje. Por duke shtuar këtë pronë, formohet një kuptim i plotë i figurës dhe me kalimin e kohës do të përpiqem ta rishkruaj atë. Mbani në mend se strukturat janë të zgjerueshme me kusht - nëse një pronë e tillë ka një vlerë të tillë, atëherë shtohet një grup tjetër i pronave.

Në përgjithësi, gjithçka që është e mundur në botën tonë përshkruhet sipas llojeve, strukturave, shndërrimeve dhe proceseve. Dhe të gjitha këto veti u binden rregullave që janë rezultat i parashikimit. Truri bën të njëjtën gjë, vetëm jo me metoda ekzakte, sepse. është një pajisje analoge.

A do të kërkojë ai kërkime me qëllim pa vendosur një detyrë të tillë? Jo, sepse ai nuk ka dëshirat e veta, por vetëm detyrat e vendosura. Ajo që kemi është përgjegjëse për realizimin e dëshirave dhe interesave tona, kjo është ajo që ne e quajmë personalitet. Ju gjithashtu mund të programoni personalitetin tuaj në një kompjuter. Dhe nëse do të jetë i ngjashëm me një njeri, apo një lloj analog kompjuteri - por do të mbetet ende vetëm një detyrë.

Dhe veprimtaria jonë krijuese në art është i njëjti kërkim, kërkohen vetëm esenca që ndikojnë në emocionet, ndjenjat dhe mendjen tonë.

Nuk ka ende udhëzime përfundimtare për prodhimin e një programi të tillë. Kanë mbetur shumë pyetje, si për vetë algoritmin, ashtu edhe për përdorimin e tij (dhe për multivariancën e teksteve). Me kalimin e kohës, unë do ta përmirësoj më tej dhe do të detajoj përshkrimin.

Një drejtim alternativ për zbatimin e parashikimit është përdorimi i rrjeteve nervore të përsëritura (të themi, rrjeti Elman). Në këtë drejtim, nuk keni nevojë të mendoni për natyrën e parashikimit, por ka shumë vështirësi dhe nuanca. Por nëse ky drejtim zbatohet, atëherë pjesa tjetër e përdorimit mbetet e njëjtë.

Përfundime mbi artikullin:
1. Parashikimi është një mënyrë për të gjetur të gjithë algoritmet e mundshme.
2. Duke manipuluar hyrjen e parashikimit, këto algoritme mund të nxirren nga atje.
3. Kjo veçori mund të përdoret për të folur me kompjuterin.
4. Kjo pronë mund të përdoret për të zgjidhur çdo problem.
5. Inteligjenca artificiale do të jetë mënyra se si e përcaktoni atë, dhe pasi të përcaktohet ajo mund të zgjidhet si problem.

Disa do të thonë se do të duhet shumë kohë për të gjetur ndonjë model me forcë brutale. Në ndryshim nga kjo, mund të them se një fëmijë mëson të flasë për disa vite. Sa opsione mund të llogarisim në pak vite? Rregullat e gjetura dhe të gatshme zbatohen shpejt, dhe shumë më shpejt për kompjuterët sesa për njerëzit. Por kërkimi për të reja është këtu dhe atje për një kohë të gjatë, por nëse një kompjuter do të zgjasë më shumë se një person, ne nuk do ta dimë këtë derisa të bëjmë një algoritëm të tillë. Gjithashtu, vërej se forca brutale paralelizohet në mënyrë të përsosur dhe ka miliona entuziastë që ndezin kompjuterët e tyre të shtëpisë për këtë qëllim. Dhe rezulton se këto pak vite mund të ndahen ende në një milion. Dhe rregullat e gjetura nga kompjuterët e tjerë do të studiohen menjëherë, në kontrast me një proces të ngjashëm tek njerëzit.

Të tjerë do të argumentojnë se ka miliarda qeliza në tru të dedikuara për paralelizimin. Atëherë pyetja është, si përdoren këto miliarda kur përpiqemi të mësojmë një gjuhë të huaj pa një tekst shkollor duke përdorur shembuj? Personi do të ulet mbi printime për një kohë të gjatë dhe do të shkruajë fjalët përkatëse. Në të njëjtën kohë, një kompjuter do ta bëjë këtë në grupe në një pjesë të sekondës.

Dhe analiza e imazhit - lëvizni një duzinë topa të bilardos dhe numëroni sa përplasje do të ketë. (duke u fshehur nga tingulli). Dhe dy duzina ose tre ... Dhe çfarë ka të bëjë kjo me miliarda qeliza?

Në përgjithësi, shpejtësia e trurit dhe shumë paralelizmi i tij është një çështje shumë e diskutueshme.

Kur mendoni për krijimin e një kompjuteri të menduari, ju kopjoni në të atë që një person ka mësuar gjatë gjithë jetës dhe nuk përpiqeni të kuptoni se cilët janë mekanizmat që e lejojnë atë të grumbullohet nga programi fillestar - të hajë dhe të flejë. Dhe këto mekanizma nuk bazohen aspak në aksiomat e logjikës formale. Por në matematikë dhe statistikë.

PPS: Mendimi im është se nuk ka një përkufizim shkencor të termit “Inteligjencë Artificiale”. Ka vetëm fantashkencë. Dhe nëse keni nevojë për realitet, atëherë shihni paragrafin 5 në përfundimet e artikullit.

PPPS: Kuptova shumë interpretime të ndryshme shumë më vonë pas shkrimit të artikullit. Le të themi se kërkimi për një marrëdhënie pyetje-përgjigje është një përafrim. Ose cilat janë përkufizimet më të sakta shkencore të nxjerrjes së funksionit të dëshiruar nga shumëllojshmëria e funksioneve të parashikimit që gjenden në procesin e kërkimit. Është e pamundur të shkruhet një artikull i veçantë për çdo moment të vogël kuptimi, por është e pamundur për gjithçka në përgjithësi, sepse nuk mund të kombinohet në një titull. Dhe të gjitha këto kuptime japin një përgjigje se si të merren përgjigjet për pyetjet e bëra nga fuqia kompjuterike kompjuterike, përgjigjet e të cilave nuk mund të lexohen gjithmonë në përshkrimet ekzistuese, siç themi për projektin Watson. Si të krijoni një program që, me një përmendje, ose një lëvizje të gishtit, përpiqet të kuptojë dhe të bëjë atë që duan prej tij.

Një ditë do të bëhet një program i tillë. Dhe quani atë një vegël tjetër. Jo AI.

****
Burimet për këtë temë, si dhe zhvillimi i mëtejshëm i pamjes mund të gjenden në faqe

Procesi i krijimit të inteligjencës artificiale, në pamje të parë, duket të jetë një detyrë mjaft e vështirë. Duke parë këta shembuj të bukur të AI, mund të kuptoni se është e mundur të krijohen programe interesante me AI. Në varësi të qëllimit, nevojiten nivele të ndryshme njohurish. Disa projekte kërkojnë njohuri të thella të AI, projekte të tjera kërkojnë vetëm njohuri të një gjuhe programimi, por pyetja kryesore me të cilën përballet programuesi. Cila gjuhë të zgjidhni për programimin e inteligjencës artificiale? Këtu është një listë e gjuhëve të AI që mund të jenë të dobishme.

LISP


Gjuha e parë kompjuterike e përdorur për të krijuar inteligjencën artificiale është LISP. Kjo gjuhë është mjaft fleksibël dhe e zgjerueshme. Karakteristikat si prototipi i shpejtë dhe makro janë shumë të dobishme në ndërtimin e AI. LISP është një gjuhë që i kthen detyrat komplekse në të thjeshta. Sistemi i fuqishëm i orientuar nga objekti e bën LISP një nga gjuhët më të njohura të programimit për inteligjencën artificiale.

Java

Përparësitë kryesore të kësaj gjuhe të pasur me veçori janë: transparenca, transportueshmëria dhe mirëmbajtja. Një avantazh tjetër i gjuhës Java është shkathtësia e saj. Nëse jeni fillestar, atëherë do të jeni të lumtur të dini se ka qindra video mësimore në internet që do ta bëjnë mësimin tuaj më të lehtë dhe më efikas.

Karakteristikat kryesore të Java janë: korrigjimi i lehtë, përvoja e mirë e përdoruesit, e lehtë për të punuar me projekte të mëdha. Projektet e krijuara duke përdorur gjuhën Java kanë një ndërfaqe tërheqëse dhe të thjeshtë.

Prolog

Kjo gjuhë programimi simbolike interaktive është e njohur për projektet që kërkojnë logjikë. Me një bazë të fuqishme dhe fleksibël, përdoret gjerësisht për programim jo-numerik, vërtetim të teoremave, përpunim të gjuhës natyrore, ndërtimin e sistemeve të ekspertëve dhe inteligjencës artificiale në përgjithësi.

Prolog është një gjuhë deklarative me logjikë formale. Zhvilluesit e AI e vlerësojnë atë për nivelin e lartë të abstraksionit, motorin e integruar të kërkimit, jo-determinizmin, etj.

Python

Python përdoret gjerësisht nga programuesit për shkak të gramatikës dhe sintaksës së pastër, dizajnit të këndshëm. Strukturat e ndryshme të të dhënave, një sërë kornizash testimi, programimi i nivelit të lartë dhe të ulët e bëjnë Python një nga gjuhët më të njohura të programimit për inteligjencën artificiale.

Historia e zhvillimit të AI

Për të parë lidhjen midis AI dhe një gjuhe programimi, le të shohim ngjarjet më të rëndësishme në historinë e AI. Gjithçka filloi në vitin 1939 kur roboti Electro u prezantua në Panairin Botëror. Roboti tjetër u ndërtua në vitin 1951 nga Edmund Berkeley.

Roboti Robbie është ndërtuar në vitin 1956. Fatkeqësisht, nuk ka asnjë informacion se si është zhvilluar. Në vitin 1958, u shpik gjuha e programimit LISP. Edhe pse kjo gjuhë u zhvillua 60 vjet më parë, ajo është ende gjuha kryesore për shumë programe të inteligjencës artificiale.

Në vitin 1961 u ndërtua UNIMATE. Ky është roboti i parë industrial që prodhohet në masë. Ky robot u përdor nga General Motors për të punuar në linjën e prodhimit. Për të bërë UNIMATE, shkencëtarët përdorën Val, një variabël montues. Kjo gjuhë përbëhet nga fraza të thjeshta, komanda monitorimi dhe udhëzime vetë-shpjeguese.

Sistemi i inteligjencës artificiale Dendral u ndërtua në vitin 1965. Ndihmoi për të përcaktuar lehtësisht strukturën molekulare të përbërjeve organike. Ky sistem është shkruar në Lisp.

Në vitin 1966, Weizenbaum krijoi Eliza, shoqëruesja e parë virtuale. Një nga modelet më të famshme quhej Doktori, ai iu përgjigj pyetjeve në stilin e një psikoterapeuti. Ky bot u zbatua gjatë krahasimit të mostrave të automjeteve. Versioni i parë i Eliza u shkrua në SLIP, lista e përpunimit të gjuhës u zhvillua nga Weizenbaum. Më vonë, një nga versionet e tij u rishkrua në Lisp.

Roboti i parë celular i programuar në Lisp ishte Sheki. Me ndihmën e një programi për zgjidhjen e problemeve me tavolina dhe sensorë, Qafa lëvizte, ndizte dhe fikte dritat, ngjitej lart e poshtë, hapte dyert, mbyllte dyert, shtynte objektet dhe lëvizte sendet. Sheki lëvizte me shpejtësi 5 km në orë.

Në 15 vitet e ardhshme, bota pa shumë shpikje mahnitëse: roboti rojtar i Denning, LMI Lambda, Omnibot 2000, droni MQ-1 Predator, Furby, qen robot AIBO dhe Honda ASIMO.

Në vitin 2003, iRobot shpiku fshesën me korrent të robotit Roomba. Zhvilluar në Lisp, kjo vakum e pavarur pastron dyshemetë duke përdorur algoritme specifike. Ai zbulon pengesat dhe i anashkalon ato.


Çfarë gjuhe programimi përdorni për të zhvilluar programe AI? Shkruani për punën tuaj në komente ose në grupin tonë VKontakte.

Si ndodh që inteligjenca artificiale po zhvillohet me sukses, por ende nuk ka një përkufizim "të saktë" për të? Pse nuk u realizuan shpresat e lidhura me neurokompjuterët dhe cilat janë tre detyrat kryesore me të cilat përballet krijuesi i inteligjencës artificiale?

Përgjigjet për këto dhe pyetje të tjera do t'i gjeni në artikullin nën prerje, shkruar në bazë të një fjalimi të Konstantin Anisimovich, Drejtor i Departamentit të Zhvillimit të Teknologjisë në ABBYY, një nga ekspertët kryesorë të vendit në fushën e inteligjencës artificiale.
Me pjesëmarrjen e tij personale, u krijuan teknologjitë e njohjes së dokumenteve, të cilat përdoren në produktet ABBYY FineReader dhe ABBYY FormReader. Konstantin foli për historinë dhe bazat e zhvillimit të AI në një nga klasat master për studentët e Technopark Mail.Ru. Materiali i klasës master u bë baza për një seri artikujsh.

Gjithsej do të ketë tre postime:
Inteligjenca artificiale për programuesit

Përvetësimi i njohurive: inxhinieria e njohurive dhe mësimi i makinerive

Rritjet dhe uljet e qasjeve në AI

Që nga vitet 1950, dy qasje janë shfaqur në fushën e inteligjencës artificiale - llogaritja simbolike dhe koneksionizmi. Llogaritja simbolike është një drejtim i bazuar në modelimin e të menduarit njerëzor, dhe koneksionizmi bazohet në modelimin e strukturës së trurit.

Përparimet e para në fushën e llogaritjes simbolike ishin gjuha Lisp e krijuar në vitet 1950 dhe puna e J. Robinson në fushën e konkluzionit. Në koneksionizëm, ky ishte krijimi i një perceptroni, një klasifikues linear vetë-mësues që simulon funksionimin e një neuroni. Arritjet e mëtejshme të jashtëzakonshme ishin kryesisht në përputhje me paradigmën simbolike. Në veçanti, këto janë veprat e Seymour Pipert dhe Robert Anton Winson në fushën e psikologjisë së perceptimit dhe, natyrisht, kornizat e Marvin Minsky.

Në vitet '70 u shfaqën sistemet e para të aplikuara që përdorin elementë të inteligjencës artificiale - sisteme ekspertësh. Pastaj pati një rilindje të caktuar të lidhjes me ardhjen e rrjeteve nervore me shumë shtresa dhe algoritmin për trajnimin e tyre duke përdorur metodën e përhapjes së pasme. Në vitet '80, magjepsja me rrjetet nervore ishte thjesht e shfrenuar. Përkrahësit e kësaj qasjeje premtuan të krijonin neurokompjuterë që do të punonin pothuajse si truri i njeriut.

Por asgjë e veçantë nuk erdhi nga kjo, sepse neuronet e vërtetë janë shumë më të ndërlikuar se ato formale në të cilat bazohen rrjetet nervore me shumë shtresa. Dhe numri i neuroneve në trurin e njeriut është gjithashtu shumë më i madh se sa mund të përballohet në një rrjet nervor. Gjëja kryesore për të cilën rrjetet nervore me shumë shtresa rezultuan të përshtatshme është zgjidhja e problemit të klasifikimit.

Paradigma tjetër popullore në fushën e inteligjencës artificiale ishte mësimi i makinerive. Qasja filloi të zhvillohet me shpejtësi që nga fundi i viteve '80 dhe nuk e ka humbur popullaritetin deri më sot. Një shtysë e rëndësishme për zhvillimin e mësimit të makinerive i dha ardhja e internetit dhe një sasi e madhe e të dhënave të ndryshme lehtësisht të arritshme që mund të përdoren për të trajnuar algoritme.

Detyrat kryesore në hartimin e inteligjencës artificiale

Është e mundur të analizohet se çfarë i bashkon ato detyra që lidhen me inteligjencën artificiale. Është e lehtë të shihet se ato kanë të përbashkët - mungesën e një procedure zgjidhjeje të mirënjohur, të përcaktuar mirë. Në këtë, në fakt, problemet që lidhen me AI ndryshojnë nga problemet e teorisë së kompilimit ose matematikës llogaritëse. Sistemet inteligjente po kërkojnë zgjidhje jo optimale për problemin. Është e pamundur të vërtetohet apo garantohet se zgjidhja e gjetur nga inteligjenca artificiale do të jetë rreptësisht optimale. Megjithatë, në shumicën e problemeve praktike, zgjidhjet jo optimale i përshtaten të gjithëve. Për më tepër, duhet të mbahet mend se një person pothuajse kurrë nuk e zgjidh një problem në mënyrë optimale. Përkundrazi, përkundrazi.

Lind një pyetje shumë e rëndësishme: si mundet AI të zgjidhë një problem për të cilin nuk ka algoritëm zgjidhjeje? Çështja është ta bëni atë në të njëjtën mënyrë si një person - të parashtroni dhe testoni hipoteza të besueshme. Natyrisht, njohuritë janë të nevojshme për të paraqitur dhe testuar hipoteza.

Njohuria është një përshkrim i fushës lëndore në të cilën funksionon një sistem inteligjent. Nëse kemi një sistem të njohjes së karaktereve të gjuhës natyrore, atëherë njohuritë përfshijnë përshkrime të pajisjes së simboleve, strukturën e tekstit dhe veçori të caktuara të gjuhës. Nëse është një sistem vlerësimi i kredisë së klientit, ai duhet të ketë njohuri për llojet e klientëve dhe njohuri se si profili i klientit lidhet me falimentimin e tyre të mundshëm. Njohuritë janë dy llojesh - për fushën lëndore dhe për gjetjen e zgjidhjeve (meta-njohuri).

Detyrat kryesore të hartimit të një sistemi inteligjent reduktohen në zgjedhjen e metodave për përfaqësimin e njohurive, metodat për marrjen e njohurive dhe metodat për aplikimin e njohurive.

Përfaqësimi i njohurive

Ekzistojnë dy mënyra kryesore të përfaqësimit të njohurive - deklarative dhe procedurale. Njohuri deklarative mund të paraqitet në formë të strukturuar ose të pastrukturuar. Pamjet e strukturuara janë një ose një lloj tjetër qasjeje kornizë. Rrjetet semantike ose gramatikat formale, të cilat gjithashtu mund të konsiderohen varietete kornizash. Njohuritë në këto formalizma paraqiten si një tërësi objektesh dhe marrëdhëniesh ndërmjet tyre.


Përfaqësimet e pastrukturuara zakonisht përdoren në ato zona që lidhen me zgjidhjen e problemeve të klasifikimit. Këto janë zakonisht vektorë të vlerësimeve të peshës, probabiliteteve dhe të ngjashme.

Pothuajse të gjitha metodat e përfaqësimit të strukturuar të njohurive bazohen në formalizmin e kornizave, të cilat Marvin Minsky i MIT i prezantoi në vitet 1970 për të treguar strukturën e njohurive për perceptimin e skenave hapësinore. Siç doli, kjo qasje është e përshtatshme për pothuajse çdo detyrë.

Një kornizë përbëhet nga një emër dhe njësi individuale të quajtura lojëra elektronike. Vlera e një slot mund, nga ana tjetër, të jetë një referencë për një kornizë tjetër... Një kornizë mund të jetë një fëmijë i një kuadri tjetër, duke trashëguar vlerat e tij të slotit. Në këtë rast, pasardhësi mund të ripërcaktojë vlerat e lojërave të paraardhësve dhe të shtojë të reja. Trashëgimia përdoret për ta bërë përshkrimin më kompakt dhe për të shmangur dyfishimin.

Është e lehtë të shihet se ka një ngjashmëri midis kornizave dhe programimit të orientuar nga objekti, ku një objekt korrespondon me një kornizë dhe një fushë i korrespondon një slot. Kjo ngjashmëri nuk është e rastësishme, sepse kornizat ishin një nga origjinat e OOP. Në veçanti, një nga gjuhët e para të orientuara kah objekti, Small Talk, zbatoi pothuajse saktësisht paraqitjet me kornizë të objekteve dhe klasave.

Për pamje procedurale përdoren njohuritë, produktet ose rregullat e prodhimit. Një model prodhimi është një model i bazuar në rregulla që lejon që njohuritë të përfaqësohen në formën e fjalive "kusht-veprim". Kjo qasje ka qenë e popullarizuar në sisteme të ndryshme diagnostikuese. Është krejt e natyrshme të përshkruhen simptomat, problemet apo keqfunksionimet si gjendje dhe si veprim, një mosfunksionim i mundshëm që çon në praninë e këtyre simptomave.

Në artikullin vijues do të flasim për mënyrat e zbatimit të njohurive.

Bibliografi.

  1. John Alan Robinson. Një logjikë e orientuar nga makina e bazuar në parimin e rezolucionit. Communications of the ACM, 5:23-41, 1965.
  2. Seymour Papert, Marvin Minsky. Perceptronet. MIT Press, 1969
  3. Russell, Norvig. Inteligjenca Artificiale: Një Qasje Moderne.
  4. Simon Haykin. Rrjetet nervore: një themel gjithëpërfshirës.
  5. Nils J. Nilsson. Inteligjenca Artificiale: Një sintezë e re.
  • Përkthimi

Makinat e të kuptuarit të gjuhës do të ishin shumë të dobishme. Por ne nuk dimë si t'i ndërtojmë ato.

Rreth ilustrimeve për artikullin: një nga vështirësitë në të kuptuarit e gjuhës së kompjuterëve është fakti se shpesh kuptimi i fjalëve varet nga konteksti dhe madje edhe nga pamja e shkronjave dhe fjalëve. Në imazhet e cituara në artikull, disa artistë demonstrojnë përdorimin e shenjave të ndryshme vizuale që përcjellin një kuptim që shkon përtej vetë shkronjave.

Në mes të një loje të tensionuar të Go në Seul, Koreja e Jugut midis Lee Sedol, një prej lojtarëve më të mirë të të gjitha kohërave, dhe AlphaGo, një AI i krijuar nga Google, programi bëri një lëvizje misterioze që tregoi epërsinë e tij befasuese ndaj një kundërshtar njerëzor.

Në lëvizjen e 37-të, AlphaGo vendosi ta vendosë gurin e zi në një pozicion të çuditshëm në shikim të parë. Gjithçka shkoi deri në pikën që ajo duhej të kishte humbur një pjesë të konsiderueshme të territorit - një gabim fillestar në një lojë të ndërtuar mbi kontrollin e hapësirës në tabelë. Dy komentues televiziv po diskutonin nëse e kishin kuptuar saktë rrjedhën e kompjuterit dhe nëse ai ishte prishur. Doli që, pavarësisht nga kontradikta e sensit të përbashkët, lëvizja e 37-të i lejoi AlphaGo të ndërtonte një strukturë të pakapërcyeshme në qendër të bordit. Programi i Google në thelb fitoi lojën me një lëvizje që askush nuk mund ta kishte menduar.

Është gjithashtu mbresëlënëse sepse loja e lashtë Go shpesh shihej si një provë e inteligjencës intuitive. Rregullat e tij janë të thjeshta. Dy lojtarë vendosin me radhë gurë të zinj ose të bardhë në kryqëzimet e vijave horizontale dhe vertikale të tabelës, duke u përpjekur të rrethojnë gurët e kundërshtarit dhe t'i heqin nga tabela. Por është tepër e vështirë të luash mirë.

Nëse shahistët janë në gjendje të llogarisin lojën disa hapa përpara, në Go ajo bëhet shpejt një detyrë e paimagjinueshme e vështirë, dhe përveç kësaj, nuk ka lojëra klasike në lojë. Nuk ka gjithashtu asnjë mënyrë të lehtë për të matur avantazhin, madje edhe për një lojtar me përvojë mund të jetë e vështirë të shpjegohet pse ai bëri një lëvizje të veçantë. Për shkak të kësaj, është e pamundur të shkruhet një grup i thjeshtë rregullash që do të ndiqte një program që luan në nivel ekspertësh.

AlphaGo nuk u mësua të luante Go. Programi analizoi qindra mijëra lojëra dhe luajti miliona ndeshje kundër vetvetes. Ndër teknikat e ndryshme të AI, ajo përdori një metodë që po fiton popullaritet të njohur si mësimi i thellë. Ai bazohet në llogaritjet matematikore, metoda e të cilave është frymëzuar nga mënyra se si aktivizohen shtresat e ndërlidhura të neuroneve në tru kur përpunohet informacioni i ri. Programi mësoi veten gjatë shumë orësh praktikë, duke përmirësuar gradualisht ndjenjën e tij intuitive të strategjisë. Dhe fakti që ajo ishte në gjendje të mposhtte një nga lojtarët më të mirë të Go në botë është një moment historik i ri në inteligjencën e makinerive dhe AI.

Disa orë pas lëvizjes 37, AlphaGo fitoi ndeshjen dhe kaloi në epërsi 2-0 në një ndeshje me pesë ndeshje. Pas kësaj, Sedol qëndroi përballë një turme gazetarësh dhe fotografësh dhe kërkoi falje me mirësjellje që zhgënjeu njerëzimin. "Unë jam pa fjalë," tha ai, duke ndezur sytë nën shpërthimet e elektrik dore.

Suksesi i mahnitshëm i AlphaGo tregon se sa përparim është bërë në AI gjatë viteve të fundit, pas dekadash dëshpërimi dhe problemeve të përshkruara si "dimër i AI". Të mësuarit e thellë i lejon makinat të mësojnë vetë se si të kryejnë detyra komplekse që do të ishin të paimagjinueshme disa vite më parë pa pjesëmarrjen e inteligjencës njerëzore. Robomobilët tashmë po shfaqen në horizont. Në të ardhmen e afërt, sistemet e bazuara në të mësuarit e thellë do të ndihmojnë në diagnostikimin e sëmundjeve dhe rekomandimet e trajtimit.

Por pavarësisht këtyre përparimeve mbresëlënëse, një nga aftësitë thelbësore të AI është ende e pakapshme: gjuha. Sistemet si Siri dhe IBM Watson mund të njohin komanda të thjeshta verbale dhe të shkruara dhe t'u përgjigjen pyetjeve të thjeshta, por ata nuk janë në gjendje të vazhdojnë një bisedë ose të kuptojnë fjalët e përdorura. Që AI të ndryshojë botën tonë, kjo duhet të ndryshojë.

Edhe pse AlphaGo nuk flet, ai ka teknologji që mund të japë një kuptim më të mirë të gjuhës. Në Google, Facebook, Amazon dhe në laboratorët shkencorë, studiuesit po përpiqen të zgjidhin këtë problem kokëfortë duke përdorur të njëjtat mjete të AI - duke përfshirë mësimin e thellë - që janë përgjegjës për suksesin e AlphaGo dhe rigjallërimin e AI. Suksesi i tyre do të përcaktojë shtrirjen dhe karakteristikat e asaj që tashmë ka filluar të kthehet në një revolucion të AI. Kjo do të përcaktojë të ardhmen tonë – nëse do të kemi makina me të cilat do të jetë e lehtë të komunikohet, apo nëse sistemet e AI do të mbeten kuti të zeza misterioze, edhe pse më autonome. "Nuk ka asnjë mënyrë që të krijoni një sistem humanoid me AI nëse nuk bazohet në një gjuhë," thotë Josh Tenenbaum, profesor i shkencës njohëse dhe informatikës në MIT. “Është një nga gjërat më të dukshme që përcakton inteligjencën njerëzore”.

Ndoshta të njëjtat teknologji që lejuan AlphaGo të pushtojë Go do të lejojnë gjithashtu kompjuterët të zotërojnë gjuhën, ose do të kërkohet diçka tjetër. Por pa kuptimin e gjuhës, ndikimi i AI do të jetë i ndryshëm. Sigurisht, ne do të kemi ende programe jorealiste të fuqishme dhe inteligjente si AlphaGo. Por marrëdhënia jonë me AI nuk do të jetë aq e ngushtë dhe ndoshta jo aq miqësore. “Pyetja e madhe që nga fillimi i hulumtimit ishte: “Po sikur të mund të merrni pajisje që janë inteligjente për sa i përket efikasitetit, por jo si ne për sa i përket mungesës së ndjeshmërisë për atë që jemi?” thotë Terry Winograd, profesor emeritus në Universiteti i Stanfordit. "Ju mund të imagjinoni makina të bazuara në inteligjencën jo-njerëzore, duke punuar me të dhëna të mëdha dhe duke drejtuar botën."

Folësit e makinës

Disa muaj pas triumfit të AlphaGo, shkova në Silicon Valley, zemra e bumit të AI. Doja të takohesha me studiues që kanë bërë përparim të konsiderueshëm në aplikimet praktike të AI dhe që po përpiqen t'u japin makinerive të kuptojnë gjuhën.

Fillova me Winograd, i cili jeton në periferi në skajin jugor të kampusit Palo Alto të Stanfordit, jo shumë larg selive të Google, Facebook dhe Apple. Flokët e tij të thinjura kaçurrela dhe mustaqet e mbuluara me shkurre i japin atij ajrin e një studiuesi të respektuar dhe ai infekton me entuziazmin e tij.

Në vitin 1968, Winograd bëri një nga përpjekjet më të hershme për të mësuar makineritë të flasin. Një mjeshtër matematikor me pasion për gjuhën, ai erdhi në laboratorin e ri të AI të MIT për të marrë doktoraturën. Ai vendosi të krijojë një program që komunikon me njerëzit përmes futjes së tekstit në gjuhën e përditshme. Në atë kohë, nuk dukej si një qëllim kaq i guximshëm. Janë bërë hapa të mëdhenj në zhvillimin e AI dhe ekipe të tjera në MIT kanë ndërtuar sisteme të sofistikuara të vizionit kompjuterik dhe krahëve robotikë. "Kishte një ndjenjë të mundësive të panjohura dhe të pakufizuara," kujton ai.

Por jo të gjithë menduan se gjuha ishte kaq e lehtë për t'u pushtuar. Disa kritikë, duke përfshirë gjuhëtarin me ndikim dhe profesorin e MIT, Noam Chomsky, menduan se do të ishte shumë e vështirë për studiuesit e AI që t'u mësonin makinave të kuptojnë, sepse mekanika e gjuhës tek njerëzit nuk kuptohej aq dobët. Winograd kujton një festë ku studenti Chomsky u largua prej tij pasi dëgjoi se po punonte në një laborator të AI.

Por ka edhe arsye për optimizëm. Joseph Weizenbaum, një profesor i MIT me origjinë gjermane, bëri programin e parë chatbot disa vite më parë. Emri i saj ishte ELIZA dhe ishte programuar të përgjigjej si një psikologe vizatimore, duke përsëritur pjesët kryesore të deklaratave ose duke bërë pyetje për të inkurajuar bisedën. Nëse i thoni asaj se jeni zemëruar me nënën tuaj, programi mund të përgjigjet "Çfarë tjetër ju vjen në mendje kur mendoni për nënën tuaj?". Një truk i lirë që funksionoi çuditërisht mirë. Weizenbaum u trondit kur disa nga subjektet e testimit i besuan sekretet e tyre të errëta makinës së tij.

Winograd donte të bënte diçka që mund të pretendonte bindshëm se kuptonte gjuhën. Ai filloi duke zvogëluar shtrirjen e problemit. Ai krijoi një mjedis të thjeshtë virtual, një "botë bllok", e përbërë nga një koleksion objektesh fiktive në një tryezë fiktive. Ai më pas krijoi një program, të quajtur SHRDLU, që mund të analizonte të gjithë emrat, foljet dhe rregullat e thjeshta gramatikore të nevojshme për të komunikuar në këtë botë virtuale të thjeshtuar. SHRDLU (një fjalë e pakuptimtë e përbërë nga shkronja të tastierës linotip në një rresht) mund të përshkruajë objekte, t'u përgjigjet pyetjeve në lidhje me marrëdhëniet e tyre dhe të ndryshojë botën e bllokuar në përgjigje të komandave të hyrjes. Madje, ajo kishte një kujtesë të caktuar, dhe nëse i kërkonit të lëvizte "konin e kuq" dhe më pas shkruani për një kon të caktuar, ajo supozoi se do të kishit parasysh këtë kon të kuq, dhe jo ndonjë tjetër.

SHRDLU është kthyer në një flamur progresi të madh në fushën e AI. Por ishte thjesht një iluzion. Kur Winograd u përpoq të zgjeronte botën e bllokuar të programit, rregullat e nevojshme për të llogaritur fjalët shtesë dhe kompleksitetin gramatikor u bënë të pamenaxhueshme. Pas vetëm disa vitesh, ai hoqi dorë dhe u largua nga fusha e AI, duke u përqëndruar në kërkime të tjera. “Kufizimet doli të ishin shumë më të forta nga sa dukej në atë kohë,” thotë ai.

Winograd vendosi që me mjetet e disponueshme në atë kohë, ishte e pamundur të mësohej një makinë për të kuptuar vërtetë gjuhën. Problemi, sipas Hubert Dreyfus, profesor i filozofisë në Universitetin e Kalifornisë në Berkeley, në librin e tij të vitit 1972 What Computers Can't Do, është se shumë veprime njerëzore kërkojnë një kuptim instinktiv që nuk mund të jepet nga një sërë rregullash të thjeshta. . Kjo është arsyeja pse, para fillimit të ndeshjes midis Sedol dhe AlphaGo, shumë ekspertë dyshuan se makinat mund të zotëronin lojën e Go.

Por ndërsa Dreyfus po argumentonte pikëpamjen e tij, disa studiues po zhvillonin një qasje që përfundimisht do t'u jepte makinerive llojin e inteligjencës që kishin nevojë. Të frymëzuar nga neuroshkenca, ata eksperimentuan me rrjete nervore artificiale, shtresa simulimesh matematikore të neuroneve që mund të trajnohen për të ndezur në përgjigje të inputeve specifike. Në fillim, këto sisteme ishin jashtëzakonisht të ngadalta, dhe qasja u hodh poshtë si jopraktike për logjikën dhe arsyetimin. Megjithatë, aftësia kryesore e rrjeteve nervore ishte aftësia për të mësuar atë që nuk ishte e programuar me dorë, dhe më vonë u tregua e dobishme për detyra të thjeshta si njohja e shkrimit të dorës. Kjo aftësi gjeti përdorim komercial në vitet 1990 për leximin e numrave nga çeqet. Përkrahësit e metodës ishin të sigurt se me kalimin e kohës, rrjetet nervore do t'i lejonin makinat të bënin shumë më tepër. Ata pohuan se një ditë kjo teknologji do të ndihmojë në njohjen e gjuhës.

Gjatë viteve të fundit, rrjetet nervore janë bërë më komplekse dhe më të fuqishme. Qasja lulëzoi falë përmirësimeve kyçe matematikore, dhe më e rëndësishmja, harduerit më të shpejtë të kompjuterit dhe shfaqjes së sasive të mëdha të të dhënave. Deri në vitin 2009, studiuesit në Universitetin e Torontos kishin treguar se rrjetet e të mësuarit të thellë me shumë shtresa mund të njihnin fjalimin me saktësi rekord. Dhe në vitin 2012, i njëjti grup fitoi një konkurs për vizionin e makinës duke përdorur një algoritëm të të mësuarit të thellë që tregoi saktësi të mahnitshme.

Një rrjet nervor i të mësuarit të thellë njeh objektet në foto me një truk të thjeshtë. Shtresa e neuroneve të simuluara merr të dhëna në formën e një fotografie dhe disa prej neuroneve ndezin në përgjigje të intensitetit të pikselëve individualë. Sinjali që rezulton kalon nëpër shumë shtresa të neuroneve të ndërlidhura përpara se të arrijë në shtresën e daljes që sinjalizon vëzhgimin e një objekti. Një teknikë matematikore e quajtur "shpërndarja e pasme" përdoret për të rregulluar ndjeshmërinë e neuroneve në rrjet për të gjeneruar përgjigjen e saktë. Është ky hap që i jep sistemit mundësinë për të mësuar. Shtresa të ndryshme në rrjet u përgjigjen veçorive të tilla si skajet, ngjyrat ose tekstura. Sisteme të tilla tani janë të afta të njohin objekte, kafshë ose fytyra me saktësi që rivalizon me atë të njerëzve.

Ekziston një problem i dukshëm me aplikimin e teknologjisë së mësimit të thellë në një gjuhë. Fjalët janë simbole arbitrare, dhe në këtë ato janë thelbësisht të ndryshme nga imazhet. Dy fjalë mund të kenë një kuptim të ngjashëm dhe të përmbajnë shkronja krejtësisht të ndryshme. Dhe e njëjta fjalë mund të nënkuptojë gjëra të ndryshme në varësi të kontekstit.

Në vitet 1980, studiuesit dolën me idenë e zgjuar për ta kthyer gjuhën në llojin e problemit që një rrjet nervor mund të trajtojë. Ata treguan se fjalët mund të përfaqësoheshin si vektorë matematikorë, duke lejuar që të llogaritet ngjashmëria e fjalëve të lidhura. Për shembull, "varka" dhe "uji" janë afër në hapësirën vektoriale, megjithëse duken ndryshe. Studiuesit e Universitetit të Montrealit të udhëhequr nga Yoshua Bengio dhe një grup tjetër në Google kanë përdorur këtë ide për të ndërtuar rrjete në të cilat çdo fjalë në një fjali përdoret për të ndërtuar një përfaqësim më kompleks. Geoffrey Hinton, një profesor në Universitetin e Torontos dhe një studiues i shquar i të mësuarit të thellë, i cili gjithashtu punon për Google, e quan këtë një "vektor të të menduarit".

Duke përdorur dy rrjete të tilla, është e mundur të bëhen përkthime nga një gjuhë në tjetrën me saktësi të shkëlqyer. Dhe duke i kombinuar këto lloje rrjetesh me një që njeh objektet në foto, mund të merrni titra jashtëzakonisht të sakta.

Kuptimi i jetes

I ulur në një sallë konferencash në zemër të selisë së zhurmshme të Google në Mountain View, Kaliforni, një nga studiuesit e kompanisë që zhvilloi këtë qasje, Kuok Lee, flet për idenë e një makinerie të aftë për të zhvilluar një bisedë të vërtetë. Ambicia e Lee shpjegon se si makinat që flasin mund të jenë të dobishme. "Më duhet një mënyrë për të simuluar mendimet në një makinë," thotë ai. "Dhe nëse doni të simuloni mendimet, atëherë mund ta pyesni makinën se për çfarë po mendon."

Google tashmë po u mëson kompjuterëve të saj bazat e gjuhës. Në maj, kompania zbuloi Parsey McParseface, një sistem i aftë për të njohur sintaksën, emrat, foljet dhe elementët e tjerë të tekstit. Është e lehtë të shihet se si të kuptuarit e një gjuhe mund të ndihmojë një kompani. Algoritmi i kërkimit të Google dikur thjesht gjurmonte fjalë kyçe dhe lidhje midis faqeve të internetit. Tani sistemi RankBrain lexon tekstin e faqeve për të kuptuar kuptimin e tij dhe për të përmirësuar rezultatet e kërkimit. Lee dëshiron ta çojë këtë ide edhe më tej. Duke përshtatur një sistem që doli i dobishëm për përkthimet dhe titrat e fotografive, ai dhe kolegët krijuan Smart Reply, i cili lexon përmbajtjen e emaileve të Gmail dhe sugjeron përgjigje të mundshme. Ata krijuan gjithashtu një program që mësoi nga biseda mbështetëse e Google për t'iu përgjigjur pyetjeve të thjeshta teknike.

Lee krijoi kohët e fundit një program që mund të gjenerojë përgjigje të tolerueshme për pyetjet e vështira. Ajo u trajnua për dialog nga 18,900 filma. Disa nga përgjigjet janë tmerrësisht të sakta. Për shembull, Lee pyeti "Cili është kuptimi i jetës?" dhe programi u përgjigj "Në shërbim të së mirës më të madhe". "Jo një përgjigje e keqe," kujton ai me një buzëqeshje. "Ndoshta më mirë se sa do të isha përgjigjur vetë."

Ekziston vetëm një problem që bëhet i dukshëm kur shikojmë më shumë nga përgjigjet e sistemit. Kur Lee pyeti: "Sa këmbë ka një mace?" sistemi u përgjigj: "Unë mendoj se katër". Më pas pyeti “Sa këmbë ka një centipedë?” dhe mori përgjigjen e çuditshme “Tetë”. Në fakt, programi Lee nuk e kupton se për çfarë po flet. Ajo e kupton që disa kombinime personazhesh shkojnë së bashku, por ajo nuk e kupton botën reale. Ajo nuk e di se si duket një centipede, apo si lëviz. Është ende një iluzion inteligjence, pa sensin e përbashkët që njerëzit e marrin si të mirëqenë. Sistemet e të mësuarit të thellë janë mjaft të lëkundshme në këtë kuptim. Sistemi i titrave të imazheve të Google ndonjëherë bën gabime të çuditshme, si përshkrimi i një tabele rrugore si frigorifer ushqimor.

Nga një rastësi e çuditshme, fqinji i Terry Winograd në Palo Alto doli të ishte një njeri që mund t'i ndihmojë kompjuterët të kuptojnë më mirë kuptimin e vërtetë të fjalëve. Fei-Fei Li, drejtoresha e Stanford AI Lab, ishte me leje lehonie kur e vizitova, por ajo më ftoi në shtëpi dhe me krenari më prezantoi me fëmijën e saj tre muajsh, Phoenix. "Vini re se ajo po shikon ty më shumë sesa mua," tha Lee ndërsa Phoenix më shikonte. - Është sepse je i ri; është njohja e hershme e fytyrës”.

Li e ka shpenzuar pjesën më të madhe të karrierës së saj duke kërkuar mësimin e makinerive dhe vizionin kompjuterik. Disa vite më parë, nën drejtimin e saj, u bë një përpjekje për të krijuar një bazë të dhënash me miliona imazhe të objekteve, secila prej të cilave ishte e nënshkruar me fjalët kyçe të duhura. Por Lee beson se makinat kanë nevojë për një kuptim më të sofistikuar të asaj që po ndodh në botë, dhe këtë vit ekipi i saj publikoi një tjetër bazë të dhënash imazhesh me shënime më të pasura. Për secilën fotografi, njerëzit bënin dhjetëra mbishkrime: "Një qen në një skateboard", "Qeni ka lesh të trashë të valëvitur", "Rrugë me të çara" etj. Ata shpresojnë që sistemet e mësimit të makinerive do të mësojnë të kuptojnë botën fizike. “Pjesa gjuhësore e trurit merr shumë informacion, duke përfshirë edhe nga sistemi vizual”, thotë Lee. "Një pjesë e rëndësishme e AI do të jetë integrimi i këtyre sistemeve."

Ky proces është më afër mësimit të fëmijëve për të lidhur fjalët me objektet, marrëdhëniet dhe veprimet. Por analogjia me mësimin e njerëzve nuk shkon shumë larg. Fëmijët nuk kanë nevojë të shohin një qen në një skateboard për ta imagjinuar ose përshkruar atë me fjalë. Lee beson se mjetet e sotme për AI dhe mësimin e makinerive nuk do të jenë të mjaftueshme për të krijuar AI të vërtetë. “Nuk do të jetë thjesht mësim i thellë me një grup të madh të dhënash,” thotë ajo. "Ne njerëzit jemi shumë të këqij në llogaritjet e të dhënave të mëdha, por shumë të mirë në abstraksion dhe kreativitet."

Askush nuk e di se si t'i pajisë makinat me këto cilësi njerëzore dhe nëse është e mundur fare. A ka diçka jashtëzakonisht njerëzore në këto cilësi që e pengon AI-në t'i ketë ato?

Shkencëtarët njohës si Tenenbaum i MIT besojnë se rrjeteve të sotme nervore u mungojnë komponentët kritikë të mendjes, pavarësisht sa të vogla janë këto rrjete. Njerëzit janë në gjendje të mësojnë relativisht shpejt në sasi relativisht të vogla të dhënash dhe kanë aftësinë e integruar për të modeluar në mënyrë efikase botën 3D. "Gjuha është e ndërtuar mbi aftësi të tjera që ndoshta shtrihen më thellë dhe janë të pranishme tek foshnjat edhe para se të fillojnë të flasin gjuhën: perceptimi vizual i botës, puna me aparatin tonë motorik, të kuptuarit e fizikës së botës dhe synimet e krijesave të tjera." thotë Tenenbaum.

Nëse ai ka të drejtë, atëherë pa u përpjekur të simulojë procesin e të mësuarit njerëzor, të krijojë modele mendore dhe psikologji, do të jetë shumë e vështirë të rikrijohet të kuptuarit e gjuhës në AI.

shpjego veten

Zyra e Noah Goodman në Departamentin e Psikologjisë në Stanford është pothuajse bosh, me përjashtim të disa pikturave abstrakte në një nga muret dhe disa bimëve të mbipopulluara. Kur mbërrita, Goodman po shkarraviti në një laptop me këmbët e tij zbathur mbi tavolinë. Ne ecnim nëpër kampusin e lagur nga dielli për të blerë kafe të akullta. “E veçanta e gjuhës është se ajo mbështetet jo vetëm në një sasi të madhe informacioni për gjuhën, por edhe në të kuptuarit universal të botës që na rrethon, dhe këto dy fusha të dijes janë të lidhura në mënyrë implicite me njëra-tjetrën,” shpjegon ai. .

Goodman dhe studentët e tij zhvilluan gjuhën e programimit Webppl, e cila mund të përdoret për t'i pajisur kompjuterët me sens të përbashkët probabilistik, i cili rezulton të jetë mjaft i rëndësishëm në biseda. Një version eksperimental është në gjendje të njohë lojërat e fjalës, dhe tjetri është në gjendje të njohë hiperbolën. Nëse asaj i thuhet se disa njerëz duhet të kalojnë "përjetësinë" duke pritur për një tavolinë në një restorant, ajo automatikisht do të supozojë se kuptimi i mirëfilltë i fjalës në këtë rast nuk ka gjasa dhe se njerëzit ka të ngjarë të presin një kohë mjaft të gjatë dhe të marrin i mërzitur. Sistemi mund të mos quhet ende inteligjencë e vërtetë, por tregon se si qasjet e reja mund të ndihmojnë programet e AI të flasin pak më vitalisht.

Shembulli i Goodman tregon gjithashtu se sa e vështirë do të jetë t'u mësosh gjuhë makinerive. Të kuptuarit e kuptimit të konceptit të "përjetësisë" në një kontekst të caktuar është një shembull i asaj që sistemet e AI do të duhet të mësojnë, ndërsa në fakt është një gjë mjaft e thjeshtë dhe rudimentare.

Megjithatë, pavarësisht nga kompleksiteti dhe ndërlikimi i detyrës, sukseset fillestare të studiuesve që përdorin mësimin e thellë për njohjen e modeleve ose lojën Go japin shpresë se jemi në prag të një përparimi edhe në fushën e gjuhës. Në këtë rast, ky zbulim erdhi pikërisht në kohë. Nëse AI do të bëhet një mjet universal, për t'i ndihmuar njerëzit të plotësojnë dhe përforcojnë inteligjencën e tyre dhe të kryejnë detyrat në një mënyrë simbiozë pa probleme, atëherë gjuha është çelësi për arritjen e kësaj gjendje. Sidomos nëse sistemet e AI përdorin gjithnjë e më shumë të mësuarit e thellë dhe teknologji të tjera për vetë-programim.

"Në përgjithësi, sistemet e të mësuarit të thellë janë mahnitëse," thotë John Leonard, një profesor që studion automjetet robotike në MIT. "Nga ana tjetër, puna e tyre është mjaft e vështirë për t'u kuptuar."

Kompania e teknologjisë autonome të drejtimit Toyota ka nisur një projekt kërkimor në MIT të udhëhequr nga AI dhe eksperti i gjuhës programuese Gerald Sussman për të zhvilluar një sistem autonom drejtimi që mund të shpjegojë pse bëri diçka në një moment. Mënyra e qartë për të dhënë një shpjegim të tillë do të ishte verbale. “Ndërtimi i sistemeve të vetëdijshme është një detyrë shumë e vështirë,” thotë Leonard, i cili drejton një tjetër projekt të Toyota-s në MIT. "Por, po, në mënyrë ideale ata duhet të japin jo vetëm një përgjigje, por një shpjegim."

Disa javë pasi u ktheva nga Kalifornia, u takova me David Silver, një studiues i Google DeepMind dhe zhvillues i AlphaGo. Ai foli për ndeshjen kundër Sedolit në një konferencë shkencore në Nju Jork. Silver shpjegoi se kur programi në ndeshjen e dytë bëri lëvizjen e tij vendimtare, ekipi i tij u befasua jo më pak se të tjerët. Ata mund të shihnin vetëm se AlphaGo parashikoi shanset për të fituar dhe ky parashikim ndryshoi pak pas lëvizjes 37. Vetëm pak ditë më vonë, pasi analizoi me kujdes lojën, skuadra bëri një zbulim: pasi treti lojërat e mëparshme, programi llogariti se një lojtar njerëzor mund të bënte një lëvizje të tillë me një probabilitet 1 në 10,000. Dhe lojërat e tij stërvitore treguan se të tilla një manovër siguron një avantazh pozicional jashtëzakonisht të fortë.

Pra, në një farë mënyre, makineria e dinte se kjo lëvizje do të godiste pikën e dobët të Sedolit.

Silver tha se Google po shikon disa mënyra për të komercializuar teknologjinë, duke përfshirë asistentët inteligjentë dhe mjetet e kujdesit shëndetësor. Pas leksionit, e pyeta për rëndësinë e komunikimit me AI që kontrollon sisteme të tilla. "Pyetje interesante," tha ai pas një pauze. – Për disa aplikacione kjo mund të jetë e dobishme. Për shembull, në kujdesin shëndetësor, mund të jetë e rëndësishme të dihet se pse është marrë një vendim i caktuar.”

Në të vërtetë, AI-të po bëhen gjithnjë e më komplekse dhe të ndërlikuara, dhe është shumë e vështirë të imagjinohet se si do të punonim me to pa gjuhë - pa aftësinë për t'i pyetur ata, "Pse?". Për më tepër, aftësia për të komunikuar lehtësisht me kompjuterët do t'i bënte ata më të dobishëm dhe do të dukeshin si magji. Në fund të fundit, gjuha është mënyra më e mirë për të kuptuar dhe ndërvepruar me botën. Është koha që makinat të na arrijnë.

Procesi i krijimit të inteligjencës artificiale, në pamje të parë, duket të jetë një detyrë mjaft e vështirë. Duke parë këta shembuj të bukur të AI, mund të kuptoni se është e mundur të krijohen programe interesante me AI. Në varësi të qëllimit, nevojiten nivele të ndryshme njohurish. Disa projekte kërkojnë njohuri të thella të AI, projekte të tjera kërkojnë vetëm njohuri të një gjuhe programimi, por pyetja kryesore me të cilën përballet programuesi. Cila gjuhë të zgjidhni për programimin e inteligjencës artificiale? Këtu është një listë e gjuhëve të AI që mund të jenë të dobishme.

LISP


Gjuha e parë kompjuterike e përdorur për të krijuar inteligjencën artificiale është LISP. Kjo gjuhë është mjaft fleksibël dhe e zgjerueshme. Karakteristikat si prototipi i shpejtë dhe makro janë shumë të dobishme në ndërtimin e AI. LISP është një gjuhë që i kthen detyrat komplekse në të thjeshta. Sistemi i fuqishëm i orientuar nga objekti e bën LISP një nga gjuhët më të njohura të programimit për inteligjencën artificiale.

Java

Përparësitë kryesore të kësaj gjuhe të pasur me veçori janë: transparenca, transportueshmëria dhe mirëmbajtja. Një avantazh tjetër i gjuhës Java është shkathtësia e saj. Nëse jeni fillestar, atëherë do të jeni të lumtur të dini se ka qindra video mësimore në internet që do ta bëjnë mësimin tuaj më të lehtë dhe më efikas.

Karakteristikat kryesore të Java janë: korrigjimi i lehtë, përvoja e mirë e përdoruesit, e lehtë për të punuar me projekte të mëdha. Projektet e krijuara duke përdorur gjuhën Java kanë një ndërfaqe tërheqëse dhe të thjeshtë.

Prolog

Kjo gjuhë programimi simbolike interaktive është e njohur për projektet që kërkojnë logjikë. Me një bazë të fuqishme dhe fleksibël, përdoret gjerësisht për programim jo-numerik, vërtetim të teoremave, përpunim të gjuhës natyrore, ndërtimin e sistemeve të ekspertëve dhe inteligjencës artificiale në përgjithësi.

Prolog është një gjuhë deklarative me logjikë formale. Zhvilluesit e AI e vlerësojnë atë për nivelin e lartë të abstraksionit, motorin e integruar të kërkimit, jo-determinizmin, etj.

Python

Python përdoret gjerësisht nga programuesit për shkak të gramatikës dhe sintaksës së pastër, dizajnit të këndshëm. Strukturat e ndryshme të të dhënave, një sërë kornizash testimi, programimi i nivelit të lartë dhe të ulët e bëjnë Python një nga gjuhët më të njohura të programimit për inteligjencën artificiale.

Historia e zhvillimit të AI

Për të parë lidhjen midis AI dhe një gjuhe programimi, le të shohim ngjarjet më të rëndësishme në historinë e AI. Gjithçka filloi në vitin 1939 kur roboti Electro u prezantua në Panairin Botëror. Roboti tjetër u ndërtua në vitin 1951 nga Edmund Berkeley.

Roboti Robbie është ndërtuar në vitin 1956. Fatkeqësisht, nuk ka asnjë informacion se si është zhvilluar. Në vitin 1958, u shpik gjuha e programimit LISP. Edhe pse kjo gjuhë u zhvillua 60 vjet më parë, ajo është ende gjuha kryesore për shumë programe të inteligjencës artificiale.

Në vitin 1961 u ndërtua UNIMATE. Ky është roboti i parë industrial që prodhohet në masë. Ky robot u përdor nga General Motors për të punuar në linjën e prodhimit. Për të bërë UNIMATE, shkencëtarët përdorën Val, një variabël montues. Kjo gjuhë përbëhet nga fraza të thjeshta, komanda monitorimi dhe udhëzime vetë-shpjeguese.

Sistemi i inteligjencës artificiale Dendral u ndërtua në vitin 1965. Ndihmoi për të përcaktuar lehtësisht strukturën molekulare të përbërjeve organike. Ky sistem është shkruar në Lisp.

Në vitin 1966, Weizenbaum krijoi Eliza, shoqëruesja e parë virtuale. Një nga modelet më të famshme quhej Doktori, ai iu përgjigj pyetjeve në stilin e një psikoterapeuti. Ky bot u zbatua gjatë krahasimit të mostrave të automjeteve. Versioni i parë i Eliza u shkrua në SLIP, lista e përpunimit të gjuhës u zhvillua nga Weizenbaum. Më vonë, një nga versionet e tij u rishkrua në Lisp.

Roboti i parë celular i programuar në Lisp ishte Sheki. Me ndihmën e një programi për zgjidhjen e problemeve me tavolina dhe sensorë, Qafa lëvizte, ndizte dhe fikte dritat, ngjitej lart e poshtë, hapte dyert, mbyllte dyert, shtynte objektet dhe lëvizte sendet. Sheki lëvizte me shpejtësi 5 km në orë.

Në 15 vitet e ardhshme, bota pa shumë shpikje mahnitëse: roboti rojtar i Denning, LMI Lambda, Omnibot 2000, droni MQ-1 Predator, Furby, qen robot AIBO dhe Honda ASIMO.

Në vitin 2003, iRobot shpiku fshesën me korrent të robotit Roomba. Zhvilluar në Lisp, kjo vakum e pavarur pastron dyshemetë duke përdorur algoritme specifike. Ai zbulon pengesat dhe i anashkalon ato.


Çfarë gjuhe programimi përdorni për të zhvilluar programe AI? Shkruani për punën tuaj në komente ose në grupin tonë VKontakte.

Artikujt kryesorë të lidhur