|
|
||
|---|---|---|
| .. | ||
| README.md | ||
| assignment.md | ||
README.md
Įvadas į dirbtinį intelektą
Piešinys sukurtas Tomomi Imura
Prieš paskaitos testą
Dirbtinis intelektas yra įdomi mokslinė disciplina, kuri tiria, kaip galime priversti kompiuterius demonstruoti intelektualų elgesį, pvz., atlikti tuos dalykus, kuriuos žmonės sugeba daryti geriausiai.
Iš pradžių kompiuterius sukūrė Charles Babbage, kad jie galėtų atlikti skaičiavimus pagal aiškiai apibrėžtą procedūrą – algoritmą. Šiuolaikiniai kompiuteriai, nors ir gerokai pažangesni nei XIX amžiuje pasiūlytas modelis, vis dar remiasi ta pačia kontroliuojamų skaičiavimų idėja. Todėl galima užprogramuoti kompiuterį atlikti tam tikrą užduotį, jei žinome tikslų veiksmų seką, kurią reikia atlikti norint pasiekti tikslą.
Nuotrauka sukūrė Vickie Soshnikova
✅ Asmens amžiaus nustatymas iš jo nuotraukos yra užduotis, kurios negalima aiškiai užprogramuoti, nes mes nežinome, kaip mūsų galvoje atsiranda skaičius, kai tai darome.
Tačiau yra užduočių, kurių mes nežinome, kaip aiškiai išspręsti. Pavyzdžiui, apsvarstykite asmens amžiaus nustatymą iš jo nuotraukos. Mes kažkaip išmokstame tai daryti, nes matėme daugybę skirtingo amžiaus žmonių pavyzdžių, tačiau negalime aiškiai paaiškinti, kaip tai darome, ir negalime užprogramuoti kompiuterio tai atlikti. Būtent tokios užduotys yra įdomios dirbtiniam intelektui (DI).
✅ Pagalvokite apie užduotis, kurias galėtumėte perduoti kompiuteriui, kad jos būtų naudingos DI. Apsvarstykite finansų, medicinos ir meno sritis – kaip šios sritys šiandien pasinaudoja DI?
Silpnas DI vs. Stiprus DI
| Silpnas DI | Stiprus DI |
|---|---|
| Silpnas DI reiškia DI sistemas, kurios sukurtos ir apmokytos atlikti konkrečią užduotį arba siaurą užduočių rinkinį. | Stiprus DI, arba Dirbtinis Bendras Intelektas (AGI), reiškia DI sistemas, turinčias žmogaus lygio intelektą ir supratimą. |
| Šios DI sistemos nėra universaliai protingos; jos puikiai atlieka iš anksto apibrėžtą užduotį, tačiau neturi tikro supratimo ar sąmoningumo. | Šios DI sistemos gali atlikti bet kokią intelektualią užduotį, kurią gali atlikti žmogus, prisitaikyti prie skirtingų sričių ir turėti tam tikrą sąmoningumo ar savimonės formą. |
| Silpno DI pavyzdžiai yra virtualūs asistentai, tokie kaip Siri ar Alexa, rekomendacijų algoritmai, naudojami srautinio perdavimo paslaugose, ir pokalbių robotai, skirti konkrečioms klientų aptarnavimo užduotims. | Stipraus DI pasiekimas yra ilgalaikis DI tyrimų tikslas, kuriam reikėtų sukurti DI sistemas, galinčias mąstyti, mokytis, suprasti ir prisitaikyti įvairiose užduotyse ir kontekstuose. |
| Silpnas DI yra labai specializuotas ir neturi žmogaus lygio kognityvinių gebėjimų ar bendrų problemų sprendimo galimybių už savo siaurą sritį. | Stiprus DI šiuo metu yra teorinė koncepcija, ir nė viena DI sistema dar nepasiekė tokio bendro intelekto lygio. |
Daugiau informacijos rasite Dirbtinis Bendras Intelektas (AGI).
Intelekto apibrėžimas ir Tiuringo testas
Viena iš problemų, susijusių su terminu Intelektas, yra ta, kad nėra aiškaus šio termino apibrėžimo. Galima teigti, kad intelektas susijęs su abstrakčiu mąstymu arba savimone, tačiau mes negalime tinkamai jo apibrėžti.
Nuotrauka sukūrė Amber Kipp iš Unsplash
Norėdami pamatyti termino intelektas dviprasmiškumą, pabandykite atsakyti į klausimą: „Ar katė yra protinga?“. Skirtingi žmonės linkę pateikti skirtingus atsakymus į šį klausimą, nes nėra visuotinai priimto testo, kuris įrodytų, kad teiginys yra teisingas arba ne. Ir jei manote, kad toks testas yra – pabandykite atlikti IQ testą savo katei...
✅ Pagalvokite minutę, kaip apibrėžiate intelektą. Ar varna, kuri gali išspręsti labirintą ir pasiekti maistą, yra protinga? Ar vaikas yra protingas?
Kalbant apie AGI, mums reikia turėti būdą, kaip nustatyti, ar sukūrėme tikrai protingą sistemą. Alan Turing pasiūlė būdą, vadinamą Tiuringo testu, kuris taip pat veikia kaip intelekto apibrėžimas. Testas lygina tam tikrą sistemą su kažkuo iš prigimties protingu – tikru žmogumi, ir kadangi bet kokį automatinį palyginimą galima apeiti kompiuterine programa, naudojame žmogų tardytoją. Taigi, jei žmogus negali atskirti tikro žmogaus nuo kompiuterinės sistemos tekstiniame dialoge – sistema laikoma protinga.
Pokalbių robotas, vadinamas Eugene Goostman, sukurtas Sankt Peterburge, 2014 m. beveik išlaikė Tiuringo testą, naudodamas gudrų asmenybės triuką. Jis iš anksto paskelbė, kad yra 13 metų ukrainiečių berniukas, kas paaiškintų žinių trūkumą ir kai kuriuos teksto neatitikimus. Robotui pavyko įtikinti 30% teisėjų, kad jis yra žmogus po 5 minučių dialogo – metriką, kurią Tiuringas tikėjo, kad mašina galės pasiekti iki 2000 m. Tačiau reikia suprasti, kad tai nereiškia, jog sukūrėme protingą sistemą arba kad kompiuterinė sistema apgavo žmogų tardytoją – sistema neapgavo žmonių, o robotų kūrėjai tai padarė!
✅ Ar kada nors buvote apgautas pokalbių roboto, manydamas, kad kalbate su žmogumi? Kaip jis jus įtikino?
Skirtingi DI metodai
Jei norime, kad kompiuteris elgtųsi kaip žmogus, turime kažkaip modeliuoti mūsų mąstymo būdą kompiuteryje. Todėl turime pabandyti suprasti, kas daro žmogų protingą.
Kad galėtume užprogramuoti intelektą į mašiną, turime suprasti, kaip veikia mūsų pačių sprendimų priėmimo procesai. Jei šiek tiek pasigilinsite į save, pastebėsite, kad kai kurie procesai vyksta nesąmoningai – pvz., galime atskirti katę nuo šuns negalvodami apie tai – o kiti apima samprotavimą.
Yra du galimi požiūriai į šią problemą:
| Viršutinis požiūris (Simbolinis samprotavimas) | Apatinis požiūris (Neuroniniai tinklai) |
|---|---|
| Viršutinis požiūris modeliuoja, kaip žmogus samprotauja spręsdamas problemą. Tai apima žinių išgavimą iš žmogaus ir jų pateikimą kompiuteriui suprantama forma. Taip pat reikia sukurti būdą modeliuoti samprotavimą kompiuteryje. | Apatinis požiūris modeliuoja žmogaus smegenų struktūrą, sudarytą iš daugybės paprastų vienetų, vadinamų neuronais. Kiekvienas neuronas veikia kaip svertinis vidurkis savo įėjimų, ir mes galime išmokyti neuronų tinklą spręsti naudingas problemas, pateikdami mokymo duomenis. |
Taip pat yra keletas kitų galimų intelekto metodų:
-
Emergentinis, sinerginis arba daugelio agentų metodas remiasi faktu, kad sudėtingas intelektualus elgesys gali atsirasti dėl daugybės paprastų agentų sąveikos. Pagal evoliucinę kibernetiką, intelektas gali atsirasti iš paprastesnio, reaktyvaus elgesio metasistemos perėjimo procese.
-
Evoliucinis metodas, arba genetinis algoritmas, yra optimizavimo procesas, pagrįstas evoliucijos principais.
Šiuos metodus nagrinėsime vėliau kurse, tačiau dabar sutelksime dėmesį į dvi pagrindines kryptis: viršutinį ir apatinį požiūrį.
Viršutinis požiūris
Naudojant viršutinį požiūrį, mes stengiamės modeliuoti savo samprotavimą. Kadangi galime sekti savo mintis, kai samprotaujame, galime pabandyti formalizuoti šį procesą ir užprogramuoti jį kompiuteryje. Tai vadinama simboliniu samprotavimu.
Žmonės linkę turėti tam tikras taisykles savo galvoje, kurios vadovauja jų sprendimų priėmimo procesams. Pavyzdžiui, kai gydytojas diagnozuoja pacientą, jis arba ji gali pastebėti, kad žmogus turi karščiavimą, todėl organizme gali būti uždegimas. Taikydamas didelį taisyklių rinkinį konkrečiai problemai, gydytojas gali suformuluoti galutinę diagnozę.
Šis metodas labai priklauso nuo žinių reprezentavimo ir samprotavimo. Žinių išgavimas iš žmogaus eksperto gali būti sunkiausia dalis, nes gydytojas daugeliu atvejų nežino, kodėl jis arba ji pateikia tam tikrą diagnozę. Kartais sprendimas tiesiog atsiranda galvoje be aiškaus mąstymo. Kai kurios užduotys, pvz., asmens amžiaus nustatymas iš nuotraukos, negali būti visiškai sumažintos iki žinių manipuliavimo.
Apatinis požiūris
Alternatyviai, galime pabandyti modeliuoti paprasčiausius elementus mūsų smegenyse – neuroną. Galime sukurti vadinamąjį dirbtinį neuronų tinklą kompiuteryje ir tada pabandyti išmokyti jį spręsti problemas, pateikdami pavyzdžius. Šis procesas panašus į tai, kaip naujagimis mokosi apie savo aplinką stebėdamas.
✅ Šiek tiek pasidomėkite, kaip kūdikiai mokosi. Kokie yra pagrindiniai kūdikio smegenų elementai?
O kaip ML? Dirbtinio intelekto dalis, pagrįsta kompiuterio mokymusi spręsti problemą remiantis tam tikrais duomenimis, vadinama Mašininiu mokymusi. Šiame kurse neaptarsime klasikinio mašininio mokymosi – nukreipiame jus į atskirą Mašininio mokymosi pradedantiesiems mokymo programą.
Trumpa DI istorija
Dirbtinis intelektas kaip sritis prasidėjo XX amžiaus viduryje. Iš pradžių simbolinis samprotavimas buvo vyraujantis metodas, ir jis pasiekė nemažai svarbių laimėjimų, tokių kaip ekspertų sistemos – kompiuterinės programos, galinčios veikti kaip ekspertas tam tikrose ribotose problemų srityse. Tačiau netrukus paaiškėjo, kad toks metodas nėra gerai pritaikomas. Žinių išgavimas iš eksperto, jų pateikimas kompiuteryje ir žinių bazės tikslumo palaikymas pasirodė esąs labai sudėtingas ir per brangus daugeliu atvejų. Tai lėmė vadinamąją DI žiemą 1970-aisiais.
Vaizdas sukurtas Dmitry Soshnikov
Laikui bėgant, kompiuteriniai ištekliai tapo pigesni, o duomenų kiekis padidėjo, todėl neuronų tinklų metodai pradėjo demonstruoti puikų našumą konkuruojant su žmonėmis daugelyje sričių, tokių kaip kompiuterinis matymas ar kalbos supratimas. Per pastarąjį dešimtmetį terminas Dirbtinis intelektas dažniausiai buvo naudojamas kaip sinonimas neuronų tinklams, nes dauguma DI sėkmių, apie kurias girdime, yra pagrįstos jais.
Galime stebėti, kaip metodai keitėsi, pavyzdžiui, kuriant šachmatų žaidimo kompiuterinę programą:
- Ankstyvos šachmatų programos buvo pagrįstos paieška – programa aiškiai bandė įvertinti galimus priešininko ėjimus tam tikram skaičiui būsimų ėjimų ir pasirinkti optimalų ėjimą, remdamasi optimaliu pozicijos, kurią galima pasiekti per kelis ėjimus, vertinimu. Tai lėmė vadinamojo alfa-beta genėjimo paieškos algoritmo sukūrimą.
- Paieškos strategijos gerai veikia žaidimo pabaigoje, kai paieškos erdvė ribojama nedideliu galimų ėjimų skaičiumi. Tačiau žaidimo pradžioje paieškos erdvė yra didžiulė, ir algoritmas gali būti patobulintas mokantis iš esamų žmogaus žaidėjų partijų. Vėlesni eksperimentai naudojo vadinamąjį atvejų pagrįstą samprotavimą, kai programa ieškojo atvejų žinių bazėje, labai panašių į dabartinę žaidimo poziciją.
- Šiuolaikinės programos, kurios laimi prieš žmones, yra pagrįstos neuronų tinklais ir stiprinamuoju mokymusi, kai programos mokosi žaisti vien tik žaisdamos ilgą laiką prieš save ir mokydamosi iš savo klaidų – panašiai kaip žmonės mokosi žaisti šachmatus. Tačiau kompiuterinė programa gali žaisti daug daugiau partijų per daug mažesnį laiką, todėl gali mokytis daug greičiau.
✅ Šiek tiek pasidomėkite kitais žaidimais, kuriuos žaidė DI.
Panašiai galime matyti, kaip keitėsi požiūris į „kalbančių programų“ (kurios galėtų išlaikyti Tiuringo testą) kūrimą:
- Ankstyvos tokio tipo programos, tokios kaip Eliza, buvo pagrįstos labai paprastomis gramatikos taisyklėmis ir įvesties sakinio performulavimu į klausimą.
- Šiuolaikiniai asistentai, tokie kaip Cortana, Siri ar Google Assistant, yra hibridinės sistemos, kurios naudoja neuronų tinklus, kad konvertuotų kalbą į tekstą ir atpaž
Vaizdas Dmitry Soshnikov, nuotrauka Marina Abrosimova, Unsplash
Naujausi AI tyrimai
Didžiulis neuroninių tinklų tyrimų augimas prasidėjo apie 2010 metus, kai viešai prieinami dideli duomenų rinkiniai tapo pasiekiami. Didžiulė vaizdų kolekcija, vadinama ImageNet, kurioje yra apie 14 milijonų anotuotų vaizdų, paskatino ImageNet Large Scale Visual Recognition Challenge.
Vaizdas Dmitry Soshnikov
2012 metais Konvoliuciniai neuroniniai tinklai pirmą kartą buvo panaudoti vaizdų klasifikavimui, o tai lėmė reikšmingą klaidų sumažėjimą (nuo beveik 30% iki 16,4%). 2015 metais Microsoft Research sukurtas ResNet architektūros modelis pasiekė žmogaus lygio tikslumą.
Nuo tada neuroniniai tinklai parodė labai sėkmingus rezultatus daugelyje užduočių:
| Metai | Pasiektas žmogaus lygis |
|---|---|
| 2015 | Vaizdų klasifikavimas |
| 2016 | Pokalbių kalbos atpažinimas |
| 2018 | Automatinis mašininis vertimas (iš kinų į anglų) |
| 2020 | Vaizdų antraščių generavimas |
Pastaraisiais metais matėme didžiulius pasiekimus su dideliais kalbos modeliais, tokiais kaip BERT ir GPT-3. Tai daugiausia įvyko dėl to, kad yra daug bendro teksto duomenų, leidžiančių treniruoti modelius, kurie supranta tekstų struktūrą ir prasmę, iš anksto juos treniruoti su bendrais tekstų rinkiniais, o vėliau specializuoti šiuos modelius konkretesnėms užduotims. Daugiau apie Natūralios kalbos apdorojimą sužinosime vėliau šiame kurse.
🚀 Iššūkis
Pasidairykite internete ir nustatykite, jūsų nuomone, kur AI yra efektyviausiai naudojamas. Ar tai žemėlapių programėlė, kalbos į tekstą paslauga ar vaizdo žaidimas? Ištirkite, kaip sistema buvo sukurta.
Po paskaitos testas
Apžvalga ir savarankiškas mokymasis
Peržiūrėkite AI ir ML istoriją, perskaitydami šią pamoką. Pasirinkite elementą iš sketchnote, esančio šios pamokos viršuje arba šioje pamokoje, ir išsamiau ištirkite, kad suprastumėte kultūrinį kontekstą, kuris informavo jo evoliuciją.
Užduotis: Žaidimų kūrimo maratonas




