Artefarita Intelekto, aŭ AI, iĝas pli kaj pli grava. Ĝi estas uzata por sciencaj esploroj, sed ankaŭ por financoj, transportado, robotoj, medicino kaj tiel plu. Sendube oni ĉiutage renkontas AI-on, eĉ se oni ne konscias pri tio, sed kio AI fakte estas kaj kiel ĝi funkcias? Por trovi respondon al tiu demando, indas reiri al la komenco, por vidi kiam komputiloj ekestis inteligentaj.



Historio de softvaro

Komputiloj konsistas el du partoj. La hardvaro estas la fizika aparataro, kiu faras la kalkulojn. Tiu aparataro estas ordonata de la softvaro, la netuŝebla programaro, kiu rakontas al la komputilo, kion ĝi devas fari. Unue la softvaro kaj hardvaro estis dezajnataj de la sama persono aŭ skipo kaj la programo ne troviĝis en la komputilo. Por uzi programon en tiu tempo, oni devis rearanĝi la dratojn de la komputilo, aŭ legi la programon de trukarto. Tio ŝanĝiĝis ĉirkaŭ la fino de la 50aj jaroj, kiam la vorto softvaro estis enkondukata kaj la unuaj programlingvoj estis kreataj. Per uzi programlingvon, oni ne plu bezonis rekte alparoli la komputilon, sed uzis interlingvon. Programlingvoj multe pli similas al homaj lingvoj kaj estas pli facile kompreneblaj por homoj. La komputilo poste tradukas la programlingvon al ordonoj, kiujn ĝi povas kompreni. La relativa klareco de programlingvoj igis la trovadon de eraroj pli facila kaj la programadon pli efika. Homoj ankaŭ ne plu bezonis kompreni la ekzaktan funkcion de la komputilo, sed nur tiun de la programlingvo. Tio ebligis la specialiĝon de softvaraj inĝenieroj.

Malnovaj komputiloj ofte uzis trukartojn. La komputilo detektas la lokon de la truoj kaj komprenas tion kiel kodon.

Dum longa tempo, programoj estis simplaj en la senco ke la komputilo povis ĉiam solvi la problemon per sekvi la ordonojn. Esence, la demandoj, kiujn komputiloj devis solvi estis grandaj kalkulaj problemoj. Ili povis esti tre grandaj kaj timigaj, sed per sia kono de la kalkulaj reguloj, la komputilo povis solvi ilin. Tio estis tre utila kiam oni volis ekzemple kalkuli kiom iu devas pagi, aŭ eĉ por kalkuli kiel objektoj moviĝas en videoludo. Je tiaj taskoj komputiloj rapide iĝis multe pli efikaj ol homoj. Ili kalkulis pli rapide kaj precize kaj povis fari multajn kalkulojn samtempe. Tio ne sufiĉis por nomi ilin inteligentaj tamen. Komputiloj estis tre bonaj je kalkulado kaj sekvi regulojn, sed ili ne estis kreemaj. Ili ne povis improvizi, memstare decidi aŭ interpreti novajn spertojn. Ankaŭ gravas la distingon inter forta kaj malforta AI. Programo, kiu uzas ruzajn trukojn por inteligente solvi unu klason de taskoj, ekzemple senŝoforaj aŭtoj, estas malforta AI. Forta aŭ plena AI ankoraŭ ne vere ekzistas. Por atingi fortan AI, programo devas adapteme lerni, rezoni, plani kaj komuniki en naturaj lingvoj. Por tio necesas solvi problemoj de maŝinvidpovo kaj naturlingva komunikado unue.



Ŝako

La sankta gralo de AI estis ŝako. Kvankam ŝako ne ŝajnas la plej utila uzo de AI, ĝi estis tre taŭga problemo, pro tio ke ĝi estas sufiĉe facile lernebla de homo, sed pli-malpli neebla por neinteligenta komputilo. La kialo estas ke ŝako havas tiom da malsamaj ludpecoj kaj tiom da kvadratoj sur la tabulo, ke la ludo havas ekstreme multe da eblaj statoj. Tio signifas ke kalkuli ĉiujn eblajn estontajn situacioj kostus tiom da tempo, ke la komputilo bezonus multajn jarojn por decidi pri la unua movo. Ankaŭ granda biblioteko kun ĉiuj ludstatoj kaj la plej bona reago al ili ne funkcius. La bezonata kvanto de memoro estus simple tro giganta.



La ideo de maŝino, kiu ludas ŝakon estas jam tre malnova. En 1771, Johan von Kempelen kreis la ”Schachtürke” (Ŝakturkon), maŝinon kun la aspekto de Turka viro, kiu laŭ von Kempelen kapablis ludi ŝakon. Tio mirigis la spektantaron, kiu dum jaroj provis elpensi kiel la maŝino funkciis kaj multaj gravaj homoj el tiu tempo, kiel Napoleono, ludis kontraŭ ĝi. Kompreneble la Ŝakturko ne vere povis ludi ŝakon kaj funkciis per kaŝita homa ŝakludisto. La ideo restis tamen kaj denove ekbrulis en la 20a jarcento, kiam komputiloj tiom rapide pliboniĝis, ke oni serioze ekkonsideris ŝakkomputilojn.

Rekonstruo de la Ŝakturko

La ideoj, sur kiuj ŝakkomputiloj estas bazitaj, publikiĝis en 1950 de Claude Shannon. En la 50aj jaroj komputiloj ankoraŭ ne estis sufiĉe fortaj por fari tiom grandajn taskojn, sed tio ne signifas ke oni ne interesiĝis pri tio, kion oni estontece povus atingi. Esence tio similas al kvantumaj komputiloj hodiaŭ. En sia publikaĵo, Shannon pridiskutis kiom giganta la kvanto de ludstatoj fakte estas kaj proponis metodojn por pli efike fronti kontraŭ la problemo. Tiumaniere, oni ne kreus komputilon, kiu perfekte ludas, sed ĝi almenaŭ bone ludus se oni konsideras la tempon kaj energion, kiun ĝi bezonus.

Claude Shannon

La centra koncepto de la programo estus la ”taksfunkcio”. Tiu funkcio uzus diversajn faktorojn, ekzemple la kvanto kaj specoj de ludpecoj sur la tabulo, aŭ la libereco de movado de tiuj ludpecoj, por taksi la valoron de ludstato. Tio sonas kompleksa, sed multe similas al tio, kion homa ŝakludanto faras. Se oni elektas movon en ŝako, oni devas scii ekzemple kiom da ludpecoj oni havas kaj kiom ili valoras kaj uzi tiujn informojn por elekti valoran movon. Tio kio igas la sistemon de Shannon tiom efika estas ke ĝi ne postulas ke oni kalkulu ĉiun eblan estontecon por elekti movon. Anstataŭe, li proponis ke la komputilo uzu la taksfunkcion por kalkuli kiom valoraj la eblaj movoj estas kaj poste kiom damaĝaj la eblaj reagoj de la kontraŭulo estus. Tiujn informojn ĝi povas kompari por trovi la plej bonan movon en tiu momento. Esence la komputilo do antaŭpensas unu movon, sed oni povas teorie igi ĝin antaŭpensi kiom ajn oni volas. La sola limo estas forto de la komputilo. Unue ŝakludistoj estis tre skeptikaj kaj kredis ke komputilo neniam povus venki bonan, homan ŝakludiston. Je la fino de la jarcento tamen, pli kaj pli da homoj konvinkiĝis, dum komputiloj iĝis pli kaj pli bonaj kaj venkis pli kaj pli bonajn ŝakludistojn. La vera venko de komputiloj venis en la 90aj jaroj, kiam la ŝakkomputilo Deep Blue ludis kontraŭ la tiama monda ĉampiono Garry Kasparov, uzante metodoj bazitaj sur tiuj de Claude Shannon. En 1996 ĝi perdis 2-4, sed en 1997 ĝi venkis! Kvankam Kasparov ne konsentis, komputiloj oficiale pli bonis ja ŝako ol homoj. Tamen oni ne kontentis. Oni argumentis ke vera intelekto ankoraŭ ne estis atingita, ĉar ŝako ne estis tiom malfacila. La sekva granda defio estis la ludo goo. La oficiala tabulo, sur kiu oni ludas goon, havas 361 spacojn, dum ŝako havas nur 64 kaj la kvanto de eblaj movoj ĝenerale estas super 100. Kun tiom da eblecoj, eĉ ŝakkomputiloj ne plu funkcias. Malgraŭ tio, la Eŭropan ĉampionon de goo, Fan Hui, venkis maŝino en 2015. Pli rimarkinda eĉ, estas la fakto ke la programo, AlphaGo, instruis la strategion al si mem.

La Ŝakkomputilo Deep Blue en komputilhistoria muzeo

Maŝina lernado

Kiam infano lernas novan kapablon, ĝi ne faras tion per detalegaj informoj kaj antaŭe elpensitaj metodoj kaj strategioj. Ĝi simple faras kaj vidas kio funkcias. Estus tre bone se komputiloj lernus sammaniere. Oni ne bezonus mem elpensi la strategiojn por solvi problemojn kaj eble estontece oni eĉ entute ne plu programus komputilojn, sed nur instruus al ili. Hodiaŭ, grandaj entreprenoj kiel Google, kiu ankaŭ aĉetis la entreprenon, kiu kreis AlphaGo, uzas maŝinan lernadon por la plej diversaj celoj. La rekonado de bildoj kaj sonoj, ekzemple, iĝis multe pli facila per maŝina lernado kaj ankaŭ aferoj kiel la rekomendado de produktoj povas uzi maŝinan lernadon. La problemoj en tiaj kampoj ŝajnas tre malsimilaj, sed la kerno de la problemo estas ĉiam la sama. Kiam komputilo provas labori kun io nepreciza, ekzemple mane skribitaj adresoj, oni ne povas verki regulojn laŭ kiuj la maŝino povas interpreti tiujn datumojn. Same kiel homoj, la komputilo bezonas lerni de siaj spertoj por bone fari la taskon. Sed kiel maŝino povus lerni de siaj spertoj?



Por maŝina lernado ne necesas komputilo. Tio sonas strange, sed unu el la unuaj maŝinoj, kiuj sukcesis pliboniĝi surbaze de spertoj, estis farita el 304 alumetaj skatoletoj. La ideo estis elpensita de Donald Michie en 1961, kiu mem konstruis la skatoletaron kaj igis ĝin ludi tiktakon (tri en vico), Sur ĉiu skatoleto, li desegnis eblan staton de la ludo kaj enmetis diverskolorajn bidojn. Li nomis sian ”komputilon” MENACE kaj instruis al ĝi ne per reguloj, sed per ludi 220 ludojn kontraŭ ĝi kaj igi ĝin lerni de siaj spertoj. Ĉiam kiam li ludis sian vicon, li malfermis la skatolon, kiu kongruis kun la ludstato kaj elprenis bidon. La koloroj de la bidoj korespondis kun la malsamaj kvadratoj en la ludo, do surbaze de la koloro, Michie sciis kiun kvadraton MENACE elektis. Kompreneble uzi hazardajn bidojn ne donas bonajn strategiojn, do la komputilo preskaŭ tuttempe perdis en la komenco, sed ĝi ricevis retrokuplon. Ĉiam kiam MENACE venkis, la skatoletojn ĉiuj ricevis tri novajn bidojn en la koloroj, kiujn ĝi elektis. Kiam ĝi malvenkis, ĉiuj skatoloj perdis bidon kaj kiam neniu venkis, ĉiu skatolo ricevis nur unu bidon. Tio signifis ke kiam MENACE elektis la ĝustajn kolorojn tuthazarde, ĝi ricevis pli da bidoj en tiu koloro, kio igis la ŝancon ke ĝi elektus same estontece pli granda. La mala efiko ankaŭ okazis, kio igis ĝin eviti malbonajn strategiojn. Iĝis klare de la eksperimento ke MENACE rapide iris de perdi ĉiujn ludojn al ludi same bone kiel homo kaj kiam Michie ŝanĝis sian strategion, MENACE povis sin adapti. En ĉi tiu video oni rekonstruis MENACE kaj lasis homojn ludi kontraŭ ĝi dum matematika konferenco por vidi kiel ĝi lernas. Oni povas mem ludi kontraŭ MENACE per digitala versio.



Kompreneble sistemo kun skatoletoj nur funkcias kun tre simplaj ludoj. Por ludi ekzemple ŝakon aŭ goon, la kvanto de skatoletoj bezonataj multe pli grandus ol la kvanto de steloj en la observebla universo. Por solvi tiun problemon, komputiloj kiel AlphaGo uzas ruzajn metodojn por igi la kalkuladon pli efika kaj uzas softvaron anstataŭ hardvaron (ĝi uzas matematikon por priskribi la ”reziston” anstataŭ fizikan rezistilon). Malgraŭ tio, la koncepto de MENACE, premii kondutojn, kiuj gvidas al dezirata rezulto, estas universala por maŝina lernado.



La sama principo estis uzata por konstrui maŝinojn, kiuj povas rekoni bildojn. Oni uzis tre simplan kameraon kun malmulte da bilderoj. Per tiu kamerao, oni fotis nigran muron kun blanka geometria figuro kiel kvadrato, triangulo aŭ cirklo, aŭ eĉ litero. La bilderoj poste estis interpretataj de la maŝino, kiu konsistis el multege da hazardaj dratoj kaj rezistiloj kun etaj motoroj. La tasko de la maŝino estis interpreti la figuron kaj meti ĝin en kategorion, kiel kvadratoj, trianguloj ktp. Se ĝi ĝuste elektis, ĝiaj motoroj ŝanĝas la rezistilojn tiel, ke la konektoj inter tiuj dratoj iĝas pli fortaj. Se ĝi malĝuste elektis, la konektoj iĝas malpli fortaj. Tiel oni kreis pozitivan retrokuplon, kiu ebligis al la maŝino pli kaj pli bone interpreti la bildojn. La maŝino eĉ povis relerni kiam oni detruis 10% de la dratoj. Bedaŭrinde, oni eltrovis ke la sistemo nur funkciis kun simplaj bildoj. Tro kompleksaj bildoj konfuzis ĝin, kio haltigis dezajnadon de pli bonaj lernantaj maŝinoj dum longa tempo. Hodiaŭ ekzistas programoj, kiuj povas tre facile kategoriigi bildojn kaj, depende de kondiĉoj, povas eĉ pli facile fari tion homoj. La sekreto estas ke tiuj programoj ne uzas unu tavolon da konektoj, kiel la rezistiloj en la analogaj maŝinoj, sed pluraj tavoloj, kiuj influas unu la alian, same kiel la ĉeloj en la cerbo. La malsamaj tavoloj estas uzataj de la programo por detekti malsamajn rilatojn inter la bilderoj. Tiel parto de la konektoj povas servi por rekonado de geometriaj figuroj, dum alia parto respondecas pri vizaĝoj, aŭ koloroj. Tio fakte multe similas al kiel la cerbo rekonas bildojn. La diferenco estas ke dum homo devus studi dum jaroj por lerni distingi inter ekzemple centoj de malsamaj plantaj specioj, forta komputilo povas lerni la samon ene de tago. La nura afero kiu gravas, estas ke ĝi havu sufiĉe da referencmaterialo por lerni kaj sufiĉe da komputila forto.

Jen skemo de reto por maŝina lernado. La sagoj indikas la konektojn en la maŝino, kiuj povas iĝi pli fortaj dum la lernado.

La kerna koncepto de artefarita intelekto estas tiom utila, ke ĝiaj aplikoj tro vastas por priskribi en ĉi tiu artikolo. La montritaj ekzemploj ja montras tamen, ke artefarita intelekto povas esti io simpla kaj tuŝebla kaj ke eĉ simplaj objektoj kiel skatoletoj povas iĝi inteligentaj. Artefarita intelekto do esence ne dependas de la objekto, kiu faras la pensadon, sed la reguloj laŭ kiuj ĝi pensas. Alia afero kiu evidentiĝas estas ke artefarita intelekto estas nenio ”nova”. Kalkulado estis rigardata kiel tasko por la intelekto, ĝis oni ekkreis kalkulilojn, kiuj pli rapide kaj precize kalkulis ol homoj. Post tio, ŝako iĝis ”la” tasko por inteligentuloj, ĝis ŝakkomputiloj ekvenkis homojn. Estonte, intelekto estos povi konvinki homojn pri tio ke oni estas homo, sed programoj, kiuj tekste aŭ voĉe helpu klientojn iĝas pli kaj pli konvinkaj. Ĝenerale oni do povas diri ke homoj difinas intelekton kiel ĉio, kion komputiloj ankoraŭ ne povas, ĉiam plialtigante la kriteriojn. Iom maljusta, ĉu ne?



Mi sxatus danki Rommel MARTINEZ, spertulo pri AI, kiu kontrolis la enhavon de la artikolo. Jen lia persona retejo.



Aldona legmaterialo:

http://www.cs.fsu.edu/~cap5605/ai_100_report_0906fnlc_single.pdf https://www.oxfordmartin.ox.ac.uk/downloads/academic/The_Future_of_Employment.pdf

https://news.cgtn.com/news/3d3d414d776b444e78457a6333566d54/share_p.html

Publikiĝo de Shannon pri ŝakkomputiloj

Bildlicensoj:

https://www.pexels.com/photo/black-white-and-brown-chess-board-game-139392/

https://www.flickr.com/photos/binaryape/5151286161/

https://commons.wikimedia.org/wiki/File:The_Turk.jpg

https://commons.wikimedia.org/wiki/File:ClaudeShannon_MFO3807.jpg

https://www.flickr.com/photos/22453761@N00/592436598/

http://www.texample.net/tikz/examples/neural-network/





