Cum să faci inteligență artificială pe un computer. Cum se creează inteligență artificială emoțională

PLAN.

1. Introducere.

2. Fenomenul gândirii.

3. Crearea inteligenței artificiale.

3.1 Abordare mecanică.

3.2 Abordare electronică.

3.3 Abordare cibernetică.

3.4 Abordare neuronală.

3.5 Apariția perceptronului.

4. Concluzie.

5. Lista referințelor.

1. INTRODUCERE.

Filosofii moderni și cercetătorii în știință consideră adesea științele interdisciplinare ca una dintre realizările redescoperirii secolului al XX-lea.

Inteligența artificială și viata artificiala oferă un exemplu excelent de astfel de integrare a multor domenii științifice.

Din păcate, viața este prea complexă pentru a permite conturarea direcțiilor generale de cercetare. Dovezi pot fi găsite în faptul că unii sunt interesați să studieze „sisteme care demonstrează fenomenele sistemelor vii”, alții studiază natura reproducerii chimice sau încearcă să rezolve probleme filozofice ale autocunoașterii.

În conceptul " inteligenţă artificială" cuibărit sens diferit– de la recunoașterea inteligenței calculatoarelor echipate cu software de recunoaștere a textului și a vorbirii până la clasificarea drept inteligente doar a acelor sisteme care rezolvă întreaga gamă de sarcini îndeplinite de oameni.

Teoria inteligenței artificiale se confruntă cu anumite probleme atunci când rezolvă multe probleme. Una dintre aceste probleme este de a clarifica întrebarea dacă posibilitatea sau imposibilitatea inteligenței artificiale este teoretic (matematic) demonstrabilă.

Există două puncte de vedere în această chestiune. Unii consideră că este dovedit matematic că un computer poate, în principiu, să îndeplinească orice funcție îndeplinită de inteligența naturală. Alții cred că este la fel de demonstrat matematic că există probleme care pot fi rezolvate de inteligența umană și care sunt fundamental inaccesibile computerelor. Aceste opinii sunt exprimate atât de ciberneticieni, cât și de filosofi. Una dintre multele probleme (s-ar putea spune principala) este că sistemele cu psihic diferă de computere prin faptul că au nevoi biologice.

Reflecţie lumea de afara trece prin prisma acestor nevoi, care exprimă activitatea sistemului mental. Calculatorul nu are nevoie; pentru el, informațiile sunt nesemnificative și indiferente. La oameni, deasupra stratului de nevoi biologice sunt construite nevoi sociale, iar informațiile pentru el sunt semnificative nu numai biologic, ci și social. in orice caz sisteme tehnice mai poate avea un analog al organizării corporale. Un sistem cibernetic dezvoltat are anexe receptori și efectori. În practică, sub acoperișul termenului de viață artificială se află o varietate extraordinară de proiecte diferite de la modele și sisteme de copiere a ADN-ului cu părere la studierea inteligenței colective și a dinamicii populației.

2. FENOMENUL GÂNDIRII.

Mașinile au învățat deja să scrie poezie, să compună muzică și să deseneze. Poate cineva va crede că acesta este un semn neîndoielnic al inteligenței lor. La urma urmei, dacă un computer are acces la creativitate, care a fost întotdeauna considerată o proprietate inteligenta ridicata, atunci este corect să-i negăm motivul?

Cu toate acestea, cei mai mulți dintre noi nu ar fi de acord să considerăm un computer care desenează și scrie poezie ca gândire. Atunci cum ar trebui să se numească gândire? (2)

Este dificil pentru o persoană departe de știință să-și imagineze cât de mult pot face dispozitivele cibernetice moderne. Merită cel puțin menționat așa-numitele „sisteme expert”, care, pe baza informațiilor disponibile în memoria lor, analizează starea pacientului, proces tehnologic, dați sfaturi despre ce să faceți într-o situație dată. În același timp, computerul nu numai că își comunică decizia, ci explică și de ce ar trebui să fie așa. În comparație cu memoria electronică, emiterea de informații de arhivă și calcule matematice, pe care majoritatea oamenilor astăzi le asociază cu imaginea unui computer, aceasta este calitativ. nou nivel activitate intelectuală când se dezvoltă cunoştinţe noi pe baza cunoştinţelor existente. Până acum acest lucru era considerat un privilegiu incontestabil creier uman. Nu este surprinzător că cei care întâlnesc astfel de sisteme pentru prima dată de multe ori nu pot să creadă că au de-a face cu un „calculator de fier” și nu cu un operator uman ascuns undeva.

Capacitatea unui calculator de a efectua calcule matematice, cu care suntem obișnuiți, a fost considerată până de curând unul dintre cele mai înalte niveluri ale activității spirituale umane. Numerele complexe, cu care aproape orice computer poate opera cu ușurință, au fost numite de G. Leibniz, un matematician remarcabil însuși, „amfibieni spirituali”, o uimitoare „creație a spiritului lui Dumnezeu”, iar scriitorul V. Odoevski în „Rusă” Speech” a scris despre capacitatea noastră de a calcula ca despre unele de neînțeles, aproape proprietate mistică: Cu fiecare proces matematic, simțim cum ființa noastră este alăturată de o altă entitate extraterestră care lucrează, gândește, calculează și, între timp, adevărata noastră ființă, parcă, încetează să acționeze, fără a lua parte la acest proces, ca în o materie străină, își așteaptă propria hrană, și anume legătura care ar trebui să existe între ea și acest proces - și noi nu găsim această legătură.”

Ne putem imagina cât de uimit ar fi fost Odoevski dacă ar fi aflat despre abilități de calcul calculatoarele noastre! Cu toate acestea, nu considerăm că ei se gândesc.

Orice computer, oricât de uimitoare ar fi capacitatea lui de a învăța, funcționează pe baza unui program compilat anterior pentru el și a datelor externe primite. Adevărat, noi, oamenii, implementăm și anumite programe de acțiune, mai ales în primele luni de viață, când comportamentul nostru este determinat aproape în întregime de programul genetic încorporat în noi. in orice caz diferenta fundamentala este că o persoană este capabilă să fie motivată, i.e. in functie de anumite conditii, schimba programul si fa astfel incat intre Sarah si programe noi nu există o punte logică continuă. Cum se întâmplă acest lucru nu este încă clar, există multe controverse și puncte de vedere diferite, dar aceasta este o altă întrebare; este important ca computerele moderne să nu aibă această proprietate. Acum, dacă s-ar întâmpla ca un fel de computer, care a rezolvat, să zicem, probleme din electromagnetism și mecanică cuantică, să combine aceste două ramuri ale științei și să obțină ecuațiile electrodinamicii cuantice, iar apoi, cu ajutorul lor, ar prezice noi fenomene în acest sens anterior. zonă necunoscută, atunci, probabil, am avea dreptul să o numim gândire. Și în primul rând, pentru că ea însăși, fără nicio solicitare de program, a decis să facă o muncă de calitate sarcina noua. Cuvântul „hotărât” înseamnă doar că ea se gândește.

Fiecare sarcină intelectuală este o căutare a unei modalități de a atinge un scop stabilit, altfel nu va fi o soluție la problemă, ci pur și simplu o acțiune conform unor instrucțiuni precise.

Când spunem că un școlar rezolvă o problemă, asta înseamnă, în primul rând, că trebuie să-și dea seama ce formulă să ia pentru aceasta, ce numere să înlocuiască în ea. Cu toate acestea, dacă el, uitându-se în caietul vecinului său, înlocuiește numerele indicate acolo în formula scrisă pe tablă, aceasta nu mai este o soluție, ci o repetare mecanică. Exact așa se comportă computerele moderne. Strict vorbind, ele nu rezolvă nicio problemă, iar expresia „calculatorul rezolvă” pe care o folosim adesea are un sens condiționat...

Capacitatea de a pune o problemă și de a auto-programa pentru a o rezolva este tocmai principalul lucru care caracterizează fenomenul gândirii.

Se poate obiecta la această afirmație observând că atât peștii, cât și amibele primitive, în căutarea prăzii, își pun și ei înșiși sarcini care se schimbă în funcție de condițiile specifice, ceea ce înseamnă că și ei gândesc?

Acestea pot fi forme primitive de gândire, deoarece pentru a explica comportamentul animalelor în toată diversitatea lor situatii de viata numai instinctul este o ipoteză.(2)

Animalele și păsările au o astfel de proprietate a gândirii precum capacitatea de a generaliza. De exemplu, ei recunosc alimentele în diverse forme specifice, ca să spunem așa - mâncarea în general.

Înțelegerea noastră de zi cu zi a raționalului este prea umanizată și, așa cum în secolul al XIX-lea însăși ideea unei legături succesive între om și maimuță părea absurdă pentru mulți, astăzi mulți dintre noi suntem confuzi de gândul la posibilitatea de a nu -inteligenta umana. În special, fără să-l observăm noi înșine, asociem adesea ideea de a gândi cu capacitatea de a fi conștienți de propriul „eu”, iar acest lucru ne împiedică să aruncăm o privire mai amplă asupra fenomenului gândirii. Este adevărat că pare să existe o legătură între gândire și simțul de sine. S-ar putea crede că în condițiile unui mediu extern în schimbare capricioasă, un sistem complex va fi stabil doar dacă are capacitatea de a-și simți starea, iar aceasta este esența „eu-ului” nostru. Analiza arată că mulți roboți automati au deja nevoie de un astfel de sentiment. La urma urmei, un robot și, într-adevăr, orice mașină complexă de auto-învățare care comunică activ cu o persoană, trebuie să-l informeze despre starea memoriei sale, despre ce înțelege și ce nu și de ce. Și pentru aceasta, automatul trebuie să simtă și să-și poată exprima starea. Robotul are nevoie și de acest lucru pentru a observa problemele în „corpul” său la timp. Un robot care nu este conștient de sine este puțin probabil să supraviețuiască mult timp într-un mediu complex, în schimbare rapidă, care îl influențează.

3. CREAREA INTELIGENTEI ARTIFICIALE.

De la sfârșitul anilor 1940, oameni de știință dintr-un număr tot mai mare de universități și industriale laboratoare de cercetareîși pun ochii pe un obiectiv îndrăzneț: construirea de computere care să funcționeze în așa fel încât rezultatele lor să fie imposibil de distins de mintea umană.

Pe măsură ce cercetătorii care lucrează în domeniul inteligenței artificiale (AI) înaintează cu răbdare în munca lor grea, se trezesc confruntându-se cu probleme foarte complexe care depășesc cu mult granițele informaticii tradiționale. S-a dovedit că, în primul rând, este necesar să înțelegem mecanismele procesului de învățare, natura limbajului și percepția senzorială. Se pare că pentru a crea mașini care imită funcționarea creierului uman, este necesar să înțelegem cum funcționează miliardele sale de neuroni interconectați. Și apoi mulți cercetători au ajuns la concluzia că poate cel mai mult problema dificila, stând în față stiinta moderna- cunoașterea proceselor de funcționare a minții umane, și nu doar imitarea muncii acesteia. Ceea ce a afectat direct fundamentalul probleme teoretice stiinta psihologica. De fapt, este dificil pentru oamenii de știință să ajungă chiar și la un punct de vedere comun în ceea ce privește însuși subiectul cercetării lor - inteligența. Aici, ca în pilda orbilor care au încercat să descrie elefantul, el încearcă să adere la definiția lui prețuită.

Inteligența artificială a creat o rețea neuronală pe 15 decembrie 2017

Am ajuns la punctul în care inteligența artificială își creează propria rețea neuronală. Deși mulți oameni cred că acesta este același lucru. Dar, de fapt, nu totul este atât de simplu și acum vom încerca să ne dăm seama ce este și cine poate crea pe cine.


Inginerii de la divizia Google Brain au demonstrat AutoML în această primăvară. Această inteligență artificială își poate produce propria IA unică fără intervenția umană. După cum sa dovedit, AutoML a reușit să creeze pentru prima dată NASNet, un sistem de viziune computerizată. Această tehnologie este foarte superioară tuturor analogilor creați anterior de oameni. Acest sistem bazat pe inteligența artificială ar putea fi un asistent excelent în dezvoltarea, de exemplu, a mașinilor autonome. Este aplicabil și în robotică - roboții vor putea atinge un nivel complet nou.

AutoML este dezvoltat folosind un sistem unic de învățare prin întărire. Vorbim despre un manager de rețea neuronală care dezvoltă în mod independent rețele neuronale complet noi destinate cu siguranță sarcini specifice. În cazul pe care l-am indicat, AutoML își propune să producă un sistem care să recunoască cel mai precis obiectele dintr-un videoclip în timp real.

Inteligența artificială în sine a reușit să antreneze o nouă rețea neuronală, monitorizând erorile și corectând activitatea. Procesul de instruire a fost repetat de multe ori (de mii de ori) până când sistemul a fost operațional. Interesant este că a reușit să ocolească orice rețele neuronale similare disponibile în prezent, dar dezvoltate și antrenate de oameni.

În același timp, AutoML evaluează performanța NASNet și folosește aceste informații pentru a îmbunătăți rețeaua subsidiară; acest proces se repetă de mii de ori. Când inginerii au testat NASNet pe seturi de imagini ImageNet și COCO, acesta a depășit performanța sistemele existente viziune computerizată.

Google a declarat oficial că NASNet recunoaște cu o precizie de 82,7%. Rezultatul este cu 1,2% mai mare decât recordul anterior, care a fost stabilit de cercetătorii de la Momenta și specialiștii Oxford la începutul toamnei acestui an. NASNet este cu 4% mai eficient decât colegii săi, cu o precizie medie de 43,1%.

Există, de asemenea, o versiune simplificată a NASNet, care este adaptată pentru platformele mobile. Își depășește analogii cu puțin mai mult de trei procente. În viitorul apropiat va fi posibil să fie utilizat acest sistem pentru producția de mașini autonome, pentru care viziunea computerizată este importantă. AutoML continuă să producă noi rețele neuronale descendente, străduindu-se să cucerească înălțimi și mai mari.

Acest lucru, desigur, ridică întrebări etice legate de preocupările legate de AI: ce se întâmplă dacă AutoML creează sisteme cu o viteză atât de mare încât societatea pur și simplu nu poate ține pasul? Cu toate acestea, mulți companii mariîncearcă să țină cont de preocupările de siguranță ale AI. De exemplu, Amazon, Facebook, Apple și alte corporații sunt membri ai Parteneriatului pentru inteligența artificială în beneficiul oamenilor și al societății. Institutul de Ingineri Electrici și Electrici (IEE) a propus standarde etice pentru AI, iar DeepMind, de exemplu, a anunțat crearea unui grup care se va ocupa de problemele morale și etice legate de aplicațiile inteligenței artificiale.

Cu toate acestea, multe companii mari încearcă să ia în considerare preocupările legate de siguranță ale inteligenței artificiale. Acest lucru, desigur, ridică întrebări etice legate de preocupările legate de AI: ce se întâmplă dacă AutoML creează sisteme cu o viteză atât de mare încât societatea pur și simplu nu poate ține pasul? Institutul de Ingineri Electrici și Electrici (IEE) a propus standarde etice pentru AI, iar DeepMind, de exemplu, a anunțat crearea unui grup care se va ocupa de problemele morale și etice legate de aplicațiile inteligenței artificiale. De exemplu, Amazon, Facebook, Apple și alte corporații sunt membri ai Parteneriatului pentru inteligența artificială în beneficiul oamenilor și al societății.

Ce este inteligența artificială?

Inițiatorul termenului „inteligență artificială” este John McCarthy, inventatorul limbajului Lisp, fondatorul programării funcționale și câștigătorul premiului Turing pentru contribuțiile sale enorme în domeniul cercetării inteligenței artificiale.
Inteligența artificială este o modalitate de a face un computer, un robot controlat de computer sau un program capabil să gândească la fel de inteligent ca un om.

Cercetarea AI se realizează prin studiu abilități mentale uman, iar apoi rezultatele acestei cercetări sunt folosite ca bază pentru dezvoltare programe inteligenteși sisteme.

Ce este o rețea neuronală?

Ideea unei rețele neuronale este de a asambla o structură complexă din elemente foarte simple. Este puțin probabil ca doar o parte a creierului să fie considerată inteligentă, dar oamenii de obicei se descurcă surprinzător de bine la testele de IQ. Cu toate acestea, până acum ideea de a crea o minte „din nimic” a fost de obicei ridiculizată: gluma despre o mie de maimuțe cu mașini de scris are deja o sută de ani și, dacă vrei, critica rețelelor neuronale poate chiar fi găsit în Cicero, care a sugerat sarcastic să arunci în aer jetoane cu litere până când ești albastru la față, astfel încât mai devreme sau mai târziu să iasă un text cu sens. Totuși, în secolul al XXI-lea s-a dovedit că clasicii au fost sarcastici degeaba: este o armată de maimuțe cu jetoane care, cu persistența cuvenită, poate cuceri lumea.
De fapt, o rețea neuronală poate fi asamblată chiar și din cutii de chibrituri: este doar un set reguli simple, pe care sunt prelucrate informații. Un „neuron artificial” sau perceptron nu este un dispozitiv special, ci doar câteva operații aritmetice.

Funcționarea perceptronului nu ar putea fi mai simplă: primește mai multe numere inițiale, înmulțește fiecare cu „valoarea” acestui număr (mai multe despre asta mai jos), îl adună și, în funcție de rezultat, scoate 1 sau -1. De exemplu, facem fotografii câmp deschisși arătăm neuronului nostru un punct din această imagine - adică îi trimitem coordonate aleatorii ca două semnale. Și atunci întrebăm: „Dragă neuron, acesta este rai sau pământ?” „Minus unu”, răspunde manechinul, privind senin la norul cumulus. „Este clar că este pământ”.

„Arătarea cu degetul spre cer” este activitatea principală a perceptronului. Nu te poți aștepta la nicio precizie de la el: poți la fel de ușor să arunci o monedă. Magia începe în următoarea etapă, care se numește învățare automată. Știm răspunsul corect, ceea ce înseamnă că îl putem scrie în programul nostru. Deci, se dovedește că pentru fiecare presupunere incorectă, perceptronul primește literalmente o penalizare, iar pentru o presupunere corectă - un bonus: „valoarea” semnalelor de intrare crește sau scade. După aceasta, programul este rulat formula noua. Mai devreme sau mai târziu, neuronul va „înțelege” inevitabil că pământul din fotografie este dedesubt și cerul este deasupra, adică va începe pur și simplu să ignore semnalul de la canalul prin care îi sunt transmise coordonatele x. Dacă aluneci o altă fotografie unui robot atât de sofisticat, atunci s-ar putea să nu găsească linia orizontului, dar cu siguranță nu va confunda partea de sus cu partea de jos.

În munca reală, formulele sunt puțin mai complicate, dar principiul rămâne același. Perceptronul poate face o singură sarcină: să ia numere și să le pună în două grămezi. Cel mai interesant lucru începe atunci când există mai multe astfel de elemente, deoarece numerele primite pot fi semnale de la alte „blocuri”! Să presupunem că un neuron va încerca să distingă pixelii albaștri de cei verzi, al doilea va continua să joace coordonatele, iar al treilea va încerca să judece care dintre aceste două rezultate este mai aproape de adevăr. Dacă setați mai mulți neuroni pe pixeli albaștri simultan și însumați rezultatele acestora, veți obține un întreg strat în care „ cei mai buni elevi„Vor primi bonusuri suplimentare. Astfel, o rețea destul de răspândită poate să treacă cu lopată printr-un întreg munte de date și să țină cont de toate erorile sale.

O rețea neuronală poate fi realizată folosind cutii de chibrituri - atunci vei avea un truc în arsenalul tău pe care îl poți folosi pentru a distra invitații la petreceri. Editorii MirF au încercat-o deja și recunosc cu umilință superioritatea inteligenței artificiale. Să învățăm materia irațională să joace jocul „11 bețe”. Regulile sunt simple: sunt 11 meciuri pe masă, iar în fiecare mișcare poți lua fie unul, fie două. Câștigă cel care l-a luat pe ultimul. Cum să joci asta împotriva „calculatorului”?

Foarte simplu.

Luați 10 cutii sau căni. Pe fiecare scriem un număr de la 2 la 11.

Punem câte două pietricele în fiecare cutie - alb și negru. Puteți folosi orice obiect, atâta timp cât sunt diferite unul de celălalt. Asta e - avem o rețea de zece neuroni!

Rețeaua neuronală merge întotdeauna pe primul loc. Mai întâi, uită-te la câte chibrituri au mai rămas și ia o cutie cu acel număr. La prima mutare va fi caseta cu numărul 11. Luați orice pietricică din cutia dorită. Puteți închide ochii sau puteți arunca o monedă, principalul lucru este să acționați la întâmplare.
Dacă piatra este albă, rețeaua neuronală decide să ia două chibrituri. Dacă negru - unul. Puneți o pietricică lângă cutie, astfel încât să nu uitați care „neuron” a luat decizia. După aceasta, persoana se plimbă - și așa mai departe până când se termină meciurile.

Acum vine partea distractivă: învățarea. Dacă rețeaua câștigă jocul, atunci aceasta trebuie să fie recompensată: aruncați o pietricică suplimentară de aceeași culoare care a căzut în timpul jocului în acei „neuroni” care au participat la acest joc. Dacă rețeaua pierde, luați ultima cutie folosită și scoateți de acolo piatra nereușită. Se poate dovedi că caseta este deja goală, atunci „ultimul” neuron este considerat a fi cel anterior. În timpul jocului următor, lovind cutii goale, rețeaua neuronală va renunța automat.

Asta e tot! Joacă câteva jocuri ca acesta. La început nu vei observa nimic suspect, dar după fiecare câștig rețeaua va face mișcări din ce în ce mai reușite - iar după aproximativ o duzină de jocuri vei realiza că ai creat un monstru pe care nu îl poți învinge.

Surse:

Ei spun că inteligența artificială lucrează în adâncurile laboratoarelor militare din 2007. Este posibil să existe deja rezultate. Nu este o coincidență că în urmă cu doar o lună, Elon Musk a anunțat sprijinul pentru tehnologiile contra inteligenței artificiale și a investit 7 milioane de dolari în cercetare în acest domeniu.

„Există riscul ca ceva cu adevărat periculos să se întâmple în următorii cinci ani. „Cel mult zece ani”, a spus antreprenorul într-o discuție pe edge.org.

Elon Musk, fondatorul Tesla și SpaceX

Steve Wozniak este, de asemenea, de acord cu Musk, care crede că „inteligenta artificială va deveni într-o zi suficient de inteligentă pentru a scăpa de oameni”. Bill Gates este încrezător că, dacă crearea AI nu este controlată, atunci „inteligenta artificială va evolua într-o stare care va intra în conflict cu obiectivele sistemelor umane”. Și, în cele din urmă, celebrul astrofizician Stephen Hawking a declarat direct că „inteligenta artificială poate pune capăt existenței umanității”.

Împreună cu Elon Musk, Hawking a publicat o scrisoare deschisă pe site-ul futureoflife.org prin care a cerut comunității științifice să fie atentă la progresul cercetării lor în domeniul inteligenței artificiale. Cu toate acestea, printre semnatari nu există nume ale lui Sergey Brin și Larry Page. Și asta nu este o coincidență. Recent, Google a anunțat crearea unui nou AI construit pe modelarea conversațiilor.

Iată un scurt fragment din conversația dintre un om și un Google Machine:

C: Care este sensul vieții?

M.: Fă bine.

C.: Pentru ce trăim?

M.: Să trăiesc pentru totdeauna.

C: Care este sensul existenței?

M: Pentru a afla ce se va întâmpla când vom ajunge pe planeta Pământ.

C: Unde esti acum?

M.: În centrul golului.

C: Care este sensul morții?

M.: Pentru a obține viață.

C: Care este sensul rațiunii?

M.: Este vorba despre a înțelege ce este.

C.: Care este sensul sentimentelor?

M.: Nu știu.

O conversație destul de semnificativă. "Acest un punct de plecare, un fel de nucleu pentru viitorul inteligenței artificiale, spune Director executiv Compania Biplan Evgeniy Karyuk. „Chiar și astăzi putem presupune că până în 2030 vom vedea prototipuri foarte reale echipate cu inteligență artificială, deși într-un stadiu incipient.”

Conținutul complet al tuturor conversațiilor umane și Google Machine poate fi vizualizat. Conversațiile dintre o persoană și Cleverbot sunt, de asemenea, date acolo pentru comparație. Cleverbot este o aplicație web care folosește algoritmi de inteligență artificială pentru a discuta cu o persoană. A fost inventat în 1988 de omul de știință Rollo Carpenter. De-a lungul existenței sale, Cleverbot a purtat peste 65 de milioane de conversații cu oameni. În 2011, Cleverbot a obținut 51% la testul Turing.

Testul Turing este un test empiric propus de Alan Turing în articolul său din 1950 „Computing Machinery and Mind” din revista filozofică Mind. Scopul testului este de a afla dacă computerul poate gândi.

Și iată conversația mea cu Cleverbot:

Barbat: Care este sensul vietii?

Cleverbot: Nu are sens în viață.

Barbatul: Pentru ce traim?

Cleverbot: Ei bine, trăim pentru cineva, iar dacă ești singur, nu are rost să trăiești.

Bărbatul: Care este sensul existenței?

Persoana: Unde esti acum?

Cleverbot: La Moscova.

Bărbatul: Care este sensul morții?

Cleverbot: Asta vreau să te întreb.

Bărbatul: Care este sensul rațiunii?

Cleverbot: Am propriul meu răspuns la această întrebare.

Persoana: Care este sensul sentimentelor?

Cleverbot: De ce m-am născut?

Evident, Google Machine oferă răspunsuri mult mai semnificative. Cleverbot înlocuiește ceea ce consideră că sunt fraze potrivite de la alte persoane. Uneori chiar pare că cealaltă persoană răspunde, dar nimic mai mult.

Există un alt punct de vedere, conform căruia inteligența artificială este imposibilă în principiu. Teorema de incompletitudine a lui Gödel este adesea citată ca argument principal. Concluzia este că o persoană este capabilă să rezolve probleme nerezolvabile din punct de vedere algoritmic, dar un computer nu este. „Până la vârsta de trei ani, un copil rezolvă cu încredere problema dacă un fruct este copt sau nu, datorită faptului că are conexiuni neuronale cu care poate răspunde la întrebarea despre maturitate: culoare, gust, miros, moliciune sau duritate. ”, spune Evgeniy Pluzhnik, prim-prorector al Institutului de Tehnologie din Moscova. - Este o mașină capabilă să învețe asta? Sunt sigur că da! Dacă are o bază de date mare de imagini, va putea măsura conținutul de fructoză și va putea determina moliciunea fructului. Dar ce se întâmplă dacă aluneci un burete vopsit în... Culoarea albastrăși înmuiat apa dulce? Este mașina capabilă de înțelegere adevărată în acest moment?”

„Un computer modern poate face față cu ușurință oricărei activități complexe, fie că este vorba de șah sau calcule matematice, atâta timp cât această activitate poate fi descrisă folosind reguli de calcul clare”, spune celebrul matematician Roger Penrose într-una dintre prelegerile sale. „Inteligenta artificiala este capacitatea unui sistem de a crea programe in timpul autoinvatarii care sunt capabile sa rezolve probleme de o anumita clasa de complexitate”, spune Evgeniy Pluzhnik. „Sunt încrezător că nu vom vedea apariția unei inteligențe artificiale puternice în următorii 100 de ani.”

Și în concluzie, încă o întrebare pentru Cleverbot.

Persoana: Era 1 mar, 1 rosie, 1 castravete si 1 para. Câte fructe sunt în total?
Cleverbot: La zece seara.

De mii de ani, omul a încercat să înțeleagă cum gândește. În domeniul inteligenței artificiale (AI), se rezolvă o sarcină și mai importantă: specialiștii din acest domeniu încearcă nu numai să înțeleagă natura inteligenței, ci și să creeze entități inteligente.

În prezent, tema inteligenței artificiale acoperă listă uriașă direcții științifice, începând cu astfel de sarcini general, cum ar fi învățarea și percepția, la sarcini specializate precum jocul de șah, demonstrarea teoremelor matematice, scrierea de poezii și diagnosticarea bolilor. În inteligența artificială ei sistematizează și automatizează sarcini intelectualeși de aceea acest domeniu se referă la orice sferă a activității intelectuale umane. În acest sens, inteligența artificială este un domeniu științific cu adevărat universal.

Sisteme care gândesc ca oamenii Sisteme care gândesc rațional
O nouă direcție captivantă de lucru pentru a crea computere care pot gândi, ...mașini care au inteligență, în sensul deplin și literal al cuvântului Explorarea abilităților mentale folosind modele de calcul
Automatizarea acțiunilor pe care le asociem cu gândirea umană, de ex. activități precum luarea deciziilor, rezolvarea problemelor, învățarea Studiul tipurilor de calcule care permit simțirea, raționamentul și acțiunea
Arta de a crea mașini care îndeplinesc funcții care necesită inteligență atunci când sunt îndeplinite de oameni Inteligența computațională este știința proiectării agenților inteligenți
Știința de a preda computerele să facă lucruri la care oamenii sunt în prezent superiori. Inteligența artificială este o știință dedicată studiului comportamentului inteligent al artefactelor

Recent, a fost ceva din science fiction. Acum, acest lucru este destul de real și astăzi vom învăța cum să creăm inteligență artificială simplă folosind un serviciu online minunat.

Vorbesc despre site-ul http://iii.ru (Ay-ya-yai.ru)
Cu ajutorul acestei resurse vom crea așa-numita „infa”.
Ce fel de animal este acesta, Inf? Inf este un personaj mic (un animal sau o persoană sau un miracol Yudo) care poate vorbi cu o persoană pe Internet (da, da, poate fi numit și chatbot). Poți să trimiți această fiară unui prieten, pe pagina ta de pornire, să o pui într-o semnătură într-un forum, în general, oriunde dorește imaginația ta!
La început, informațiile tale vor fi, desigur, puțin „prost”, dar putem corecta acest lucru predându-l!

Să aruncăm o privire mai atentă la cum se face toate acestea:

La intrarea pe site ne regăsim în așa-numitul „ garaj”, unde putem discuta cu mai multe informații gata făcute și să începem să ne creăm propria noastră!

Pentru a începe să vă creați propriul personaj, trebuie să vă înregistrați. Pentru a face acest lucru, pe ecranul garajului, faceți clic pe butonul „Vreau informații” și după ce ați completat câteva rânduri despre dvs. și citiți acordul de licență, faceți clic pe butonul „Înregistrare”.

Acum ajungem la ecranul de creare a personajului.

Trebuie să alegeți un personaj „om”, „fiară” sau un alt miracol

Personalizăm aspectul - gura, nasul, ochii și alte accesorii. Dacă nu vă place în viitor, nu disperați, toate acestea pot fi corectate.

Acum să ne uităm la partea cea mai interesantă - formarea caracterului. Faceți clic pe fila „Instruire”. Se deschide o listă de metode posibile:

Chestionar - completați informații despre informațiile dvs. personale, schimbați-i numele dacă doriți etc.

Reacții la evenimente - puteți alege ce vor spune informațiile dacă, de exemplu, faceți clic pe ea cu mouse-ul sau dacă nu vorbiți cu ea mult timp.

Fiecare și-a făcut propria bicicletă în viața lui. Pentru a justifica dorința de a o face, se poate spune doar că dacă oamenii nu ar face-o periodic, lumea pur și simplu nu ar vedea multe lucruri.

Îmi doream să-mi fac propriul joc, sau mai degrabă inteligența artificială (AI) bazată pe jocuri, de foarte mult timp. Nu voi minți: la început a fost pur și simplu o lipsă de cunoștințe și apoi, destul de ciudat, a fost timp. Am avut câteva săptămâni de timp relativ liber pentru a-mi realiza visul din copilărie.

Vă voi spune ce s-a întâmplat și, de asemenea, vă voi descrie calea pe care am urmat-o și observațiile pe care le-am făcut pe parcurs. Voi face imediat o rezervă că nu voi descrie codul, ci considerentele, gândurile și problemele pe care le-am întâlnit în procesul de realizare a visului meu.

Etapa de planificare a structurii

Când a planificat structura habitatului său, AI a făcut imediat o încercare de a construi capacitatea de extindere și cel puțin un fel de universalitate. S-a decis să se facă totul pe matrice dinamice, cu utilizarea pe scară largă a abordărilor de programare orientată pe obiecte oriunde este posibil.

Ierarhia claselor de habitat AI s-a bazat pe mai multe perechi de clase:

  • Punct-cheie– o clasă care reflectă intersecțiile conexiunilor în graficul de traseu.
  • cale– o clasă care oferă conexiuni între punctele cheie.
  • Un obiect– o clasă care este derivată din clasa Keypoint, ale cărei instanțe sunt plasate pe Cale.
  • Subiect– aceeași clasă Object, ale cărei instanțe au funcții de decizie.

Clasa închide lista de clase Lume, care încadrează toate clasele enumerate, organizându-le interacțiunea între ele.

Pentru a funcționa, aveam nevoie de un concept de joc specific, necomplicat. Iar conceptul jocului Pack-Man a fost ales ca atare, având în vedere apelare simplă reguli

Au fost identificate imediat subclase suplimentare de obiecte și subiecte de joc:

  • subiect Pacman– același Packman;
  • obiecte Fructe– cele pentru Pac-Man de mâncat;
  • subiecte Fantomă- cei pentru care Pac-Man a fost creat în joc.

Etapa de planificare a muncii

După cum a arătat o analiză superficială: suma necesară cod pentru funcționarea completă a jocului, deși nu un numar mare de Funcționalitatea sistemului s-a dovedit a fi destul de mare. S-a ajuns la concluzia firească că era necesar să se împartă sarcinile în mai multe subsarcini izolate, astfel încât să poată fi văzute cel puțin unele rezultate ale tam-tamului lor - altfel dorințele copiilor s-ar putea transforma într-un coșmar necopil și prelungit.

Au fost identificate imediat următoarele etape de implementare:

  1. Crearea de clase care să asigure funcționarea lumii în care va trăi inteligența artificială (clasele Lume, Punct Cheie și Calea);
  2. Redarea lumii și, în același timp, crearea bazei funcționalității pentru vizualizarea datelor.
  3. Crearea clasei Object și interacțiunile acesteia cu mediul.
  4. Crearea primei instanțe a unui obiect, și anume Fruit, și redarea acesteia.
  5. Crearea unei adiții de funcționalitate pentru un obiect pentru a-l transforma într-un subiect.
  6. Crearea unei instanțe de Pacman. Redare. Adăugarea de reguli la joc.
  7. Dezvoltarea codului de interacțiune cu utilizatorul, organizarea funcționării sistemului în „timp real”.
  8. Implementarea algoritmului de căutare calea cea mai scurtă. Conectându-l cu controlul Pac-Man și schimbarea automată a stării sale de către Lume în timp.
  9. Crearea unei instanțe de Ghost. Redare. Adăugarea de reguli la joc.
  10. Îmbunătățirea sistemului în moduri mici.
  11. A te distra.
Cu acest plan m-am apucat de treaba.

Implementarea

Primele două etape s-au dovedit a fi simple. Au fost organizate trei clase: World, Key Point și Path: constructorii lor, destructorii, mai multe funcții care asigură crearea de conexiuni între instanțele de clasă prin referință și atât.
O instanță a clasei Mondiale a fost creată cu cinci puncte, în care căile formau un plic cu un punct central deplasat, astfel încât distanțele dintre puncte să fie clar lungimi diferite. Desenul a fost făcut foarte, foarte modest: cu linii și cercuri - doar cât să înțelegeți ce se întâmplă în Lume.

Etapele nr. 3Și №4 La fel munca speciala nu au sunat - Frukta nu a alergat, nu a făcut nicio răutate, ci doar a stat acolo și s-a desenat.

Incepand cu etapa nr 5 lucrarea principală a început. Funcționalitatea Subiect a fost scrisă folosind clasa Object sub forma unei liste de lucruri pe care Subiectul ar dori să le facă. A fost adăugată funcționalitatea clasei Mondiale, care a monitorizat lista de sarcini a Subiecților și le-a executat în intervalul de timp disponibil Subiectului și a restricțiilor și regulilor de joc impuse acțiunilor Subiectului.

Etapa 6În mod ciudat, problemele nu au început cu apariția unei copii a Pac-Man. Pur și simplu a apărut o instanță a tipului Subiect, precum și un cerc fiind desenat pe afișaj la coordonatele dorite. Și au fost adăugate reguli pentru consumul de fructe.

Chiar și pe etapa nr 7, când o sarcină a fost generată cu mouse-ul sub forma comenzii „run” la coordonatele specificate, nu au existat probleme. S-a căutat cel mai apropiat punct care să cadă pe Calea pe care Pac-Man stătea deja și Pac-Man a mers ascultător acolo.

Aventurile au început pe etapa nr 8, unde a fost realizată implementarea algoritmului de căutare a drumului cel mai scurt. Funcția cu calea cea mai scurtă a fost un algoritm Lee modificat, adaptat matricelor dinamice și structurilor grafice. Principalele dificultăți au fost la scrierea codului în care a fost implementată mișcarea inversă. Pentru a reduce numărul de reconstruiri ale structurii graficului la mutarea instanțelor de obiect, Obiectele au fost realizate nu ca Puncte Cheie nodale conectate prin Căi, ci ca Puncte Cheie aparținând unei Căi. Având un cod de lucru la momentul scrierii, încă nu sunt sigur de corectitudinea soluției alese. Ce este mai simplu: fie reconstruiți local graficul Lumii și în același timp rutele Subiecților care se deplasează prin fragmentele modificate ale graficului, fie plasați pur și simplu clasele de Subiecte și Obiecte pe graficul Calea neschimbabil.

Desigur, în toate etapele de lucru, erorile de acces la memorie au apărut constant. Cel mai grav caz a fost când mesajul s-a prăbușit undeva la mijlocul jocului. Am uitat să eliminați legătura dintre Căi și cazurile distruse de Fructe când au fost mâncate. Eroarea a apărut la ceva timp după ce a fost consumată, când memoria a fost suprascrisă. Atâta timp cât datele obiectului distrus erau stocate acolo și nu erau suprascrise de noul obiect dinamic, totul era în regulă, adică. Prăbușirea programului nu a fost imediată.

In sfarsit pe etapa nr 9 Prima fantomă a fost adăugată. Punctul de destinație au fost întotdeauna coordonatele lui Pacman. A fost folosită o funcție deja scrisă pentru găsirea celei mai scurte căi, care a fost apelată constant de 24 de ori pe secundă. După generarea listei de acțiuni, mișcarea Fantomei a fost efectuată automat de către sistem (Lumea).

Când am venit la etapa nr.10, atunci, după cum se spune, sania e oprită!
A fost realizat un generator de hărți aleatoriu. La crearea unei hărți pentru generarea de căi, au fost stabilite mai multe criterii pentru crearea lor acceptabilă: nu trebuie să se intersecteze mai mult de 4 căi în punctele nodale, iar punctele nodale nu trebuie să fie mai aproape de căile deja așezate de o anumită distanță, așa cum căile nu ar trebui să fie mai lungă decât o anumită constantă.

Apoi au fost adăugate mai multe Fantome, care l-au urmărit cu insistență pe Pac-Man.

Era pur și simplu nerealist să te joci cu astfel de fantome. Și apoi mi-am dat seama că aveam nevoie de o „ceață de război” pentru ca Fantomele să se comporte mai natural și să nu-și schimbe radical traseul atunci când schimbi ușor traseul lui Pac-Man undeva, pe cealaltă parte a hărții.
Primul gând a fost de a crea o matrice pentru fiecare Subiect elemente vizibile lume și, de asemenea, completează memoria Subiectului pentru a stoca unde, cine și când a văzut. După ce m-am gândit, mi-am dat seama că pentru un păianjen care vrea să mănânce o muscă, totul este foarte complicat și greoi de implementat.

Soluția a fost găsită cât se poate de simplă. Pe hartă era un punct aleatoriu în care se ducea Fantoma (astfel, s-a organizat o simplă rătăcire pe hartă și căutarea lui Pac-Man). Dacă Pac-Man a intrat într-un anumit interval de vizibilitate (specificat de o constantă) a Fantomei, Fantoma și-a reconstruit ruta către el. Când victima se afla în zona de vizibilitate, Fantoma și-a reconstruit constant traseul către ea, iar când Pac-Man a dispărut din vedere, Fantoma a continuat să urmeze până la punctul în care ultima data a văzut victima. Ajunși în acest punct, rătăcirea orb în jurul hărții a început din nou.

De fapt, m-am oprit acolo și am respirat calm.
În cele din urmă, au fost finalizate elemente decorative: „Sfârșitul jocului” (mâncând Pac-Man), numărarea punctelor (numărul de fructe consumate), „finalizarea nivelului” (mâncarea tuturor fructelor).

Rezultatele chinului.

În ciuda cantității mari de sudoare și sânge vărsate, s-au obținut rezultate relativ mici: pentru cercetări ulterioare, s-a realizat baza Lumii, în care trăiește inteligența celui mai simplu prădător, cum ar fi un păianjen. Aparent, în continuare este necesar să se creeze o modificare a algoritmului AI existent pentru a implementa comportamentul „Victimei” (în cadrul jocului, acestea sunt Fructe care fug de Pac-Man), precum și AI combinată („Predator-pradă ”), ceea ce robotul Pac-Man va putea face și apoi să nu piardă energie pentru a „juca”, ci doar cu plăcere să urmăresc acest „Kolobok” aruncat într-o eprubetă.

Puteți vedea cu ochii tăi ce s-a întâmplat „” (fișier executabil pentru Win32)*. Acordați atenție comutatorului comutator „Matrix Mode”. Când îl porniți, puteți vedea cum sistemul ia decizii și vă simțiți puțin ca Neo. Din păcate, m-am gândit să o fac în etapa a 10-a, pentru o mai bună înțelegere a muncii AI. Dacă aș fi făcut-o mai devreme, aș fi cheltuit mai putin timp pentru a depana algoritmul de căutare a celui mai scurt drum.

P.S. Nu totul se face din motive de fezabilitate economică și optimitate; unele lucruri sunt făcute de dragul plăcerii. În ciuda simplității graficii, când „Ea” a început să respire, am simțit o bucurie de nedescris.

* După ce am terminat toată munca planificată și am scris articolul, am descoperit o altă eroare rară. Locația erorii indică faptul că problema se datorează faptului că simularea lumea jocurilor este executat într-un handler de temporizator obișnuit, iar controlul Pac-Man este efectuat într-un handler obișnuit de mouse. În general, nu există semafore obișnuite sau alte lucruri similare „abstruse” care să asigure integritatea datelor accesate în ambele funcții. Cred că bug-ul se va vindeca înainte de nuntă și versiunea comercială va fi remediată.

Etichete: Adăugați etichete