» »

Puščavsko zmagoslavje robotskih vozil

1
2
3 4

Jux ::


Dajte no, folk. Ljudje danes imajo neverjetne težave povedat dva računalnika z Windows XP in Windows 98, vi pa si predstavljate, da se bodo kar vsi avtomobili kar znali sporazumevati med sabo. In še DOLGO ne bodo vsi avtomobili opremljeni s tem softverom, ampak bodo človeški vozniki še zelo dolgo v večini, če ne drugega zaradi cene novih avtomobilov.

Avtomobili se že danes pogovarjajo med sabo - vsaj to so pokazali na Mobicomu2005 pri DaimlerChryslerju.
web&blog&etc: http://lukabirsa.com

Jux ::

Avtomatiziran sistem bi funkcioniral v idealnih okoliščinah. Pa si se pripravljen usest v avto in se zanest na to, da bodo okoliščine idealne?

Zakaj? Zakaj jemlješ krmilni sistem kot neko logiko ki deluje samo v optimalnih razmerah? To je naravnost naivno.

Če gre karkoli od tega narobe, boste pa rekli "ah, jebi ga, bom pač umru"?

Dr. Floskula.

Jaz sem se že nemalokrat rešil iz situacije, ki bi lahko bila smrtna. In tej možnosti za preživetje se nisem pripravljen odpovedat samo zato, da mi ne bo treba pritiskat na pedal.

Sedaj si realno povedal kaj je težava - ti imaš težavo z zaupanjem da lahko računalnik počne reči bolje. Nič ne de - isto so trdili za robote v tovarnah, pa za pralne stroje pa še marsikaj.

Pomislite malo, kolikokrat se vam zgodi, da računalnik ali nek program ne deluje točno tako, kot bi bilo pravilno ali kot ste pričakovali? Večkrat na dan. S tem smo navajeni živet, ker od tega pač noben ne umre in večinoma tega niti več ne opazimo. Ampak softver v računalniku ni v ničemer drugačen od softvera v avtih! Res je bolj preverjen, ampak je pa tudi možnih nepredvidenih situacij bistveno bistveno več... Zakaj mislite, da ima Internet Explorer lahko luknje, avtomobil jih pa ne bi mogel imet?

Kolikokrat se zgodi da software v kritičnih aplikacijah ne deluje ok - če se iexplore sesuje nihče ne umre, zato ljudje toleriramo luknje. Konec koncev smo navajen na buggy software. In software ki bo poganjal avtomobile ima eno kritično razliko med softwareom ki ga poganjam jst na mojem računalniku - od njega bo odvisno življenje voznika.
web&blog&etc: http://lukabirsa.com

Thomas ::

Ko pritiskaš na plin, ko v klanec prehitevaš eno cisterno, druga ti gre pa nasproti, zaupaš (tudi) programu za vbrizgavanje goriva!

Bi takrat to raje delal sam in zanesljivo?
Man muss immer generalisieren - Carl Jacobi

Phil ::

No saj avtomatizacija vožnje se ne bo zgodila naenkrat. V naslednjem (novem) avtu, ki ga bom kupil bi pa recimo že rad videl:
- opozarjanje(samodejno zaustavljanje) če vozilo pred mano hitro zavira
- bolj težak volan, če bom v naslednjih n sekundah prevozil črto
- AI, ki spremlja voznika in v nekaterih primerih (voznik zaspi, kakšen napad, pijam voznik, ...) zaustavi vozilo/sproži alarm v vozilu
- samodejno pojemanje plina kadar je hitrost za n večja od dovoljene
- samodejno sledenje vozilu pred tabo

V veliki meri je to kar sem naštel, možno že danes.
LP

WarpedGone ::

Hja, nekaj je kontrola vžiga, nekaj povsem drugega pa odzivanje na nepredvidene situacije.

Toyota Prius, ki je cvet sodobne tehnike, pa se mu dogaja tole.

Program je končen avtomat. Kako v končen avtomat vgraditi pravilne / zanesljive / sprejemljive odzive na NEPREDVIDENE situacije?
Zbogom in hvala za vse ribe

Nejc Pintar ::

Recimo da za začetek to uvedemo na avtoceste, v primeru buga avto začne izvajati procese na sosednjih avtomobilih, če teh ni se preprosto umakne na odstavni pas in javi napako.

Poleg tega lahko tako pričakujemo tudi več pasivne varnosti, oklep iz nanocevk, znotraj kapsula iz nanocevk, vmes pa vzmeti, v primeru crasha (skoraj nične možnosti) nas vzmeti lepo upočasnijo znotraj avtomobila, sicer se podrejo monopoly figurice ampak ti je vseeno. Da bi monopoli figurice bile stabilne med vožnjo bi lahko poskrbeli z nagibanjem notranje kapsule, tako bi precej več časa preživeli z družino:D
Lahko je biti prvi, če si edini!

Jumping Jack ::

OK, bil sem nekaj časa odsoten, v tem času se je nabralo kar nekaj pisanja.

Najprej odgovorim tebi, Thomas, ki te imam že iz prejšnjih debat najraje :D

Ko praviš, da mi ni pomoči in da ne verjamem, da bodo stroji kdaj spodobni pranja perila ipd. Res je ravno nasprotno. Prepričan sem, da bodo računalniki nekoč inteligentni tako kot človek oziroma bolj. V članku, ki sem ga napisal pred nekaj leti, sem napovedal, da se bo to zgodilo čez približno 20 do 30 let (upoštevajoč Moorov zakon). Čisto možno je seveda, da sem pri tej napovedi brcnil v temo, ampak hočem povedati, da sam vanjo še vedno verjamem, tako kot ti, Thomas. In to kljub temu, da sem poslušal predavanje nominiranega nobelovca s področja robotike Rajka Tomovića, ki trdi, da stroji ne bodo nikoli inteligentni tako kot človek.

Štos je v tem, da morajo računalniki doseči procesno moč, primerljivo s tisto, ki jo ima človek. To dvoje seveda ni direktno primerljivo, ker imajo računalniki na svoji strani MHz, človek pa paralelizem. Pri nekaterih vrstah operacij je računalnik tudi do milijardokrat učinkovitejši (računanje ipd.), medtem ko drugih vrst problemov, ki človeku niso noben problem, sploh ni sposoben rešiti (npr. učenje in razumevanje govora). Računalniki so seveda sposobni vedno več, človeka pa bodo dohiteli bodisi takrat, ko bo nekdo razvil umetno nevronsko brežo (v smislu pravega paralelnega procesiranja, ne softverske emulacije!), ali pa ko bo število MHz tako veliko, da bodo lahko z golo zaporedno procesno močjo kos vsem problemom, ki jih človek rešuje paralelno.

Druga stvar, ki jo računalniki potrebujejo za to, da dohitijo človeka, so učinkoviti senzorji, ker le-ti sploh omogočajo stik z zunanjim svetom in torej učenje, učenje pa je predpogoj za inteligentnost. Ampak senzorji po moje ne bodo tak problem kot procesna enota.

Ko bodo računalniki enkrat dohiteli človeka, potem se strinjam, da bo mogoče vse našteto. Navsezadnje, robota bomo lahko poslali v iste šole kot ljudi, naučili se bodo iste stvari, pa še pozabili jih ne bodo. In kot taki se bodo lahko naučili tudi vožnje avtomobila, pilotiranje letala itd., in pri vsem tem bodo lahko še s pridom izkoriščali svoje tehnološke prednosti, kot so trajen spomin in hiter odzivni čas. Skratka, takrat bo super, pa še jaz in Thomas se bova končno strinjala in bova lahko šla na pivo :)

V čem torej jaz vidim problem umetnih voznikov? Problem (in to hudo resen problem, mater, če ne ne bi toliko pisal!) vidim v tem, da se trenutno stroji NISO SPOSOBNI UČITI (vsaj ne tako kot človek) in kot taki tudi ne morejo biti ZARES INTELIGENTNI. Stroji NE VEDO, kdaj nekaj delajo narobe. Umetna inteligenca ni prava inteligenca in stvar lahko deluje dobro v okoliščinah, za katere je bila programirana, medtem ko se v nepredvidenih situacijah lahko zgodi bog ve kaj. Programira pa jo človek, ki se 1.) moti, in 2.) NE MORE PREDVIDETI VSEH MOŽNIH SITUACIJ.

Tipičen kos programske opreme ima ogromno hroščev. Pa ne zato, ker bi bili programerji neumni ali površni ali ker bi jim bilo vseeno. Ne! Hrošči so večinoma zato, ker človek enostavno NE MORE sprogramirati nečesa zelo kompleksnega, ne da bi se v kakšnem detajlu zmotil. Leta testiranja sicer lahko zmanjšajo število hroščev in ostalih pomanjkljivosti, ampak stvar nikoli ne bo 100% brez napak.

Nekdo je rekel, razlika je v tem, da hrošč v Windowsih ne stane življenja, hrošč v avtomobilu pa (nekdo je rekel tudi, da hrošč v avtomobilu ne stane življenja - opa, to pa ne bo držalo). Ja, ampak tudi če se ljudje in podjetja še tako trudijo, enostavno NE MOREJO predvideti vseh situacij in NE MOREJO narediti kompleksnega programa brez hrošča. Tudi shuttle Columbia je bil mission-critical projekt, pa je vseeno padel dol. In brez skrbi, tudi Bill Gates bi svoje programerje ZELO dobro plačal, da bi mu naredili vse programe brez hrošča...

Čisto druga pesem je brez hrošča narediti preprost program, kot je tisti za vbrizgavanje goriva ali ABS ali program, ki sešteje 3 + 2. To seveda gre, ker ga ima lahko človek vsega naenkrat v glavi. Kompleksnega programa, ki ima milijone vrstic kode, pač ne moreš imeti v glavi, pa če je stvar še tako pomembna.

Torej to hočem reči: dokler bo umetno inteligenco programiral človek, bo le-ta lahko inteligentna samo MANJ kot on sam (in to bistveno manj). Ko se bo stvar lahko učila sama (tako kot človek), potem bodo možnosti drugačne, prej pa ne. In ne bom se usedel v avto, ki mi bo pri 130 na uro javil: "This car has performed an illegal operation and will be shut down."


Thomas. Praviš, da avtomatizaš intelektualne procese. Tudi to je delo, pa čeprav ga ne opravlja robot. (mimogrede, tudi sam delam nekaj zelo podobnega) Torej, zakaj svoje delo delaš ti in ne robot? Avtomatizacija procesa ni nič drugega kot programiranje. In tvoji procesi (stavim glavo in jajca) delujejo v situacijah in na načine, za katere so predvideni. Proces vedno teče po nekem fiksnem programu, ki ima seveda pogoje, odločitve in vejitve, ne more pa spreminjati sam sebe ali ugotoviti, da nekaj ni optimalno. Ne, TI moraš ugotoviti, kaj je optimalno, in potem to zavtomatizirati. In situacije, kot so npr. to, da osebo, ki je ključni dejavnik v procesu, provozi avto, moraš tudi TI predvideti in poskrbeti za to, da bo v tem primeru nalogo prevzel njegov namestnik. In tega dela računalnik še lep čas ne bo sposoben uporavljat. Kar naredi, če si zmožen, program ali robota, ki bo pri tvojem delu nadomestil tebe.

Vožnja je proces, ki kljub vsej rutini ZAHTEVA KREATIVNO RAZMIŠLJANJE in PRILAGAJANJE NEPREDVIDENIM SITUACIJAM. Tega pa stroji, taki kot so, trenutno niso sposobni, pa če se cel svet postavi na glavo. Bo treba še vsaj malo počakat.

Se pa strinjam s cmanom, da so preprostejše oblike programja za pomoč pri vožnji ne samo mogoče, ampak tudi zelo koristne in zaupanja vredne. Ključ je seveda v tem, da rešitve ostanejo dovolj preproste ter s tem lahko obvladljive in predvidljive.

Zgodovina sprememb…

Jumping Jack ::

Jux, še tebi. Ti si napisal zelo veliko in bom moral malo povzet.

Napjrej tole: jaz ne širim FUD, vsaj ne v nekej slabonamernem smislu ali da bi hotel ovirati razvoj. Samo opozarjam na potencialne probleme, ki se bodo zelo verjetno pojavili - ravno zato, ker stvari malo poznam. Sicer je ena mojih zelo velikih želja sodelovati in prispevati k razvoju umetne inteligence. Žal na tem področnu trenutno ni veliko delovnih mest.

OK, najprej glede tega, koliko vrstic imajo programi za avtopilote. Tole priznam, da sem pobral nekje iz spomina in niti ne vem več od kod in če je bilo to res to. Ko sem malo brskal po googlu, nisem našel nič drugega kot debato na nekem forumu, kjer nekdo pravi, da je slišal, da programi za avtopilote pravzaprav niso tako zelo kompleksni v smislu števila vrstic (imeli naj bi jih ranga nekaj 10 tisoč). Možno, da je to res. Če ima kdo kaj več podatkov, bi me zelo zanimalo.

Sem pa precej prepričan, da bi bil avtopilot za avtomobile dosti bolj kompleksen, enostavno zato, ker je v prometu toliko več dejavnikov kot v zraku. To, da je letalo v zraku in da lahko pade dol, nima neposrednega vpliva na kompleksnost algoritma za krmiljenje. Prav tako ne moreš o kompleksnosti sklepati preko tega, koliko časa se neke stvari uči človek. Npr. računalnik še ni sposoben zadovoljivo razpoznavati govora, objektov, ljudi in dogajanja okrog sebe, medtem ko človek to zna kmalu po tem, ko se rodi. Kontra primer, človek se matematike lahko uči zelo dolgo, pa še potem mu gre bistveno slabše in počasneje kot tudi 20 let staremu računalniku.

Ta primerjava je na mestu zato, ker ima letalo opravka večinoma samo z golo fiziko, torej matematičnimi izračuni, za kar je pravzaprav namenjen; medtem ko je v prometu mnogo bolj pomembna "zdrava pamet" (plus fizika, seveda), ki pa je računalnik NIMA.

Kakšen točno bi bil red kompleksnosti izračuna možnih trkov v nekem prometnem križišču, ne morem reči na pamet, ker ne poznam kompleksnosti vseh posameznih računov, ki bi v tem izračunu sodelovali. Vem pa toliko o sami temi (10 pri prof. Kononenku), da si lahko prepričan, da ne nabijam v tri dni. Ampak, če si kaj na tekočem, verjetno veš, da imajo danes roboti težave še z zelo preprostimi stvarmi, kot je razpoznavanje objektov v 3D prostoru in učinkovita navigacija med njimi, tudi v bolj ali manj statičnem okolju ( primer tovrstne raziskave). Kaj šele v prometu, kjer se vse premika zelo hitro in je potrebno pravilne odločitve sprejemati v milisekundi.

Si ti, Jux, ali kdo drug, kdaj poskusil narediti program, ki bi iz poljubne slike obraza razpoznal npr. oči in nos? Na videz trivialen problem, ampak za sprogramirat blazno kompliciran, ob tem da programi tega sploh ne znajo naredit zanesljivo.

Še en primer: si že slišal za "Captcha" test? Verjetno si ga že videl v uporabi. Gre za preverjanje (Turingov test), če je na drugi strani programa dejansko človek ali nek avtomatiziran program. Pogosto se uporablja pri spletnih registracijah in pri potrjevanju elektronskih podpisov. Uporabniku se prikaže slika popačene besede, ki jo človek z lahkoto razpozna, za programe pa je to popolnoma nemogoče. In to menda deluje zelo dobro. Torej program ne more prepoznati ene malo popačene besede, ti pa pričakuješ, da bo spremljal in razumel dogajanje v prometu in se v realnem času pravilno odločal? Malo morgen.

Še citat iz prvega članka (star je največ 2 leti):

Specially in the context of vehicles, the presence of several obstacles at the same time can remarkably increase the complexity of signal processing and turn the obstacle avoidance unfeasible. Depending on the sensors technology some characteristics as size, distance, color and even texture of obstacle surface can change the precision and reliability of the avoidance method.

Če ti po tem še vedno ni jasno, na kakšni stopnji je umetna inteligenca danes, potem izvoli iti za beta testerja popolnoma avtomatiziranega vozila, jaz pa ti želim lepo smrt...

In to, da bodo v prometu kar naenkrat vsa vozila avtomatizirana. Aja? Boš ti prepričal in plačal vsem ljudem, da istočasno zamenjano star manualen avto za avtomatskega? Najbrž ne. Poleg tega avtomobili niso edini udeleženci v prometu, ampak imaš še pešce, kolesarje, otroke, živali, ki so bistveno bolj nepredvidljivi. Torej v najboljšem primeru imaš dolgotrajno koeksistenco obeh vrst vozil.

In to, da človeku v avtu med vožnjo v glavnem ne bo treba biti zbran, ampak samo v izjemnih situacijah. Aja? Torej ti bi v avtu zaspal ali bral časopis, avto bi te v primeru bližajoče se nesreče opozoril, in ti bi sedel za volan, izbral opcijo "manual override" in situacijo zvozil? Nesreče se zgodijo v milisekundah, zato moraš biti zbran VES ČAS. Še toliko bolj zato, ker ne veš točno, kako bo računalo vozilo (tudi če je algoritem zelo jasen in predvidljiv, za človeka ne bo nikoli tako predvidljiv kot on sam).

In to, da avtomobili "že ne bodo tako neumni", da bi "nasedli" na to, če bi nekdo zamenjal signalizacijo. Aja? Na podlagi česa pa bodo avtomobili vedeli, kaj je res? Na podlagi podatkov, ki jih dobijo, nič drugega. Pameti nimajo. Torej, če imamo tri vrste podatkov: oznake ob robu ceste, črte ob strani in asfalt. Recimo, da program spremlja vse troje. Kateri podatek naj upošteva, če niso v skladu? Po načelu večine? Kaj se zgodi, če nekdo zamenja oznake in obenem nariše še belo črto proti drugemu robu? Torej dva podatka sta napačna, eden je pravi. Čemu naj program verjame? Princip večine ne deluje. Torej asfaltu, boš rekel, saj je edino logično. OK. Kaj pa v primeru, ko popravljajo cesto in dejansko preusmerijo en pas na drugega. V tem primeru imaš točno isto situacijo: oznake so prestavljene in nove črte so narisane, asfalt je pa še vedno tam, kjer je bil. Torej točno tako kot v prejšnjem primeru. Kaj pa zdaj? To je seveda samo eden od neštetih primerov. In če mi boš opisal postopek, kako bi ti ločil ti dve situaciji in se v obeh odločil pravilno, ti bom jaz napisal primer, ko tvoj algoritem ne bi deloval. Še enkrat: rešiti poljuben problem ni problem. Problem je narediti program, ki bo rešil poljuben problem!

In to, da bodo avtomobili kar komunicirali med sabo in dobili vse potrebne informacije. Pa ja. Koliko je tvoj ping čas do tvojega ISPja? Vsaj nekaj 10 milisekund. V primeru avtomobilske nesreče si v tem času lahko že na onem svetu. Torej tudi v primeru, da povezava deluje in da so informacije takoj na voljo, je lahko 10 ms preveč. Kaj pa, če povezava zataji ali preprosto ni potrebnih informacij? In kako bo program sploh opisal, katere informacije rabi? "Drago sosednje vozilo. Opazil sem, da so oznake na cesti malo čudne. Sumim, da jih je nekdo prestavljal. Mi lahko sporočiš, kaj se tebi zdi, ali je tam dejansko cesta ali mogoče prepad?" Tako? (malo sarkazma, ampak vprašanje je resno) Še mnogo bolj kompleksna stvar pa je odgovor na tako poizvedbo. Koliko podatkov rabiš, da popolnoma opišeš neko situacijo v prometu? OGROMNO! In to moraš osveževat vsaj na vsako milisekundo, sicer ti ne koristi čisto nič. Se ti zdi to izvedljivo? Poleg tega nobeno vozilo nima popolne slike situacije, ampak samo del. Te dele je treba sestaviti skupaj, upoštevati časovne in prostorske razlike itd. V realnem času je to mission impossible (pa tudi sicer).

Ne vem, od kod ti ideje, da bo program v avtu "že daloval tako, kot je prav"? Mi lahko to kako utemeljiš? Programi ne vedo, kaj je "prav"! Delujejo tako, kot so sprogramirani in nič drugače. V predvidenih situacijah lahko delujejo prav (ob pogoju, da ni kakšne napake), v nepredvidenih situacijah je pa samo gola sreča, če slučajno delujejo prav. In to ni noben FUD, to so najbolj osnovna dejstva računalništva in informatike. Če hočeš dokazat nasprotno, napiši program, ki bo sam v sebi iskal in odpravljal hrošče (namig: ne da se).

Zgodovina sprememb…

Thomas ::

Hja, samo nekaj ti bom rekel, Jack.

Tudi človeški šoferji niso nič apriorno boljši od "nepopolne mehanike". Šurkavi so tako, da pride do par deset nesreč samo na področju Slovenije dnevno.

Ne, da človek pa "nema buba u glavi".

Bogami, ima! Dabome.
Man muss immer generalisieren - Carl Jacobi

WarpedGone ::

Jumpig Jack:

Neč bat, sej programa ne bo treba nam napisat, ki delam napake, kr sami se bojo napisal.

(To je Thomasa izjava v enem drugem threadu)
Zbogom in hvala za vse ribe

WarpedGone ::

Skor vsi vidijo rešitev v hitrosti procesiranja. Kot da ti bo 100 THz računalnik znal pa kar vse narest. Sam od sebe.

Računska moč sploh ni problem, zanjo mamo zagotovilo da bo naraščala še kar nekaj časa. Če danes ne gre, bo pa drug let. Rešeno bo vse, kar znamo mi NAČELOMA s svinčnikom na papiru rešit.

Pokažte mi pa en primer, da je računalnik uspel rešit problem, ki ga prej nihče ni znal na roke rešt? Ne da ni mel časa, al pa da bi se prevečkrat zmotu vmes. Da ni poznal algoritma rešitve.
Zbogom in hvala za vse ribe

OwcA ::

Samo nekaj o avtopilotih, ti dan danes temelijo na sklopitvah z drugimi sistemi v letalu in zato sami po sebi niso nujno zelo kompleksni.
Kolikor vem je trenutno najobsežnejši osrednji sistem na potniškem letalu Honeywellov AIMS (Airplane Information Management System), ki ima nekaj čez 600.000 vrstic kode (kot zanimivost, ena instanca rabi ~15 MB prostora na disku in ~4 MB RAM-a, v uporabi so ponavadi tri). Srečamo ga lahko med drugim na Boeingu 777.
Otroška radovednost - gonilo napredka.

Zgodovina sprememb…

  • spremenilo: OwcA ()

BigWhale ::

Autopiloti (za avto, letalo ali pa space shuttle, saj vseeno...) niso nic tako precej kompleksnega. Ruski space shuttle je ze sam od sebe poletel v vesolje in pristal nazaj na letaliscu... ;)

Saj je ovca ze povedal, autopilot je precej odvisen od drugih stvari. Od zunanjih senzorjev in inputov, ki pridejo iz drugih sistemov. Zato sama stvar ne rabi biti nevem kako komplicirana.

Jumping Jack ::

@Thomas:

Vem, da človeški šoferji nismo bogve kaj in da delamo napake (tudi namerno).

Ampak če je neka napaka sistemska (torej jo imajo vsa vozila) je stvar precej bolj kritična. In tudi napake so lahko precej hujše. Človek namreč ve (vsaj približno), kaj je za njega slabo (tudi če mu je za druge vseeno), in se temu lahko poskuša izognit. Robot pa samo sledi programu, ne glede na to, če ga ta pelje lepo po cesti ali s 100 na uro v zid ali med gručo pešcev.

Nekaj tega bi se dalo rešit z avtomatičnim "flashanjem firmwarea", ampak se bojim, da bo to mnogo premalo. Namreč vnest vsako posamezno situacijo v program ne pomaga dosti, ker je vsaka situacija bolj ali manj neponovljiva. In vseh napak se ne bo dalo niti odkrit in opisat (ker so situacije preveč raznolike in je naknadno težko ugotovit, točno zaradi katere vrstice je prišlo do nesreče), sploh pa bo to nemogoče počet sproti (torej da bi se zgodila nesreča in v roku nekaj dni bi bil že na voljo popravek). In s tako hitrimi "popravki" bi gotovo naredili še več škode kot koristi, če bo izdajanje popravkov trajalo mesece ali leta, pa spet ne bo dobro.

Poleg tega je pomembno še nekaj: če se danes nekdo zaleti, si je za to kriv sam. Oziroma mu je kriv tisti, ki se je vanj zaletel. Če bodo vozili roboti, bodo tudi nesreče odgovarjali njihovi proizvajalci, kar pomeni, da bodo avtomobilske firme morale redno plačevat milijonske odškodnine. Razen če se jim uspe nekako zdilat z zavarovalnicami, kar pa dvomim, da se bo zgodilo.

Zgodovina sprememb…

Jux ::


Napjrej tole: jaz ne širim FUD, vsaj ne v nekej slabonamernem smislu ali da bi hotel ovirati razvoj. Samo opozarjam na potencialne probleme, ki se bodo zelo verjetno pojavili - ravno zato, ker stvari malo poznam. Sicer je ena mojih zelo velikih želja sodelovati in prispevati k razvoju umetne inteligence. Žal na tem področnu trenutno ni veliko delovnih mest.

Zelo očitno je da se na te stvari razumeš skrajno laično, ker pavšalne ocene o kompleksnosti nekega problema pač niso nekaj kar bi tvojim trditvam dajalo neko utemeljitev. Žal je tvoje videnje ki ga izkazuješ tipično laično - računalniki niso sposobni in še dolgo ne bodo. Ne verjameš - poglej:

OK, najprej glede tega, koliko vrstic imajo programi za avtopilote. Tole priznam, da sem pobral nekje iz spomina in niti ne vem več od kod in če je bilo to res to. Ko sem malo brskal po googlu, nisem našel nič drugega kot debato na nekem forumu, kjer nekdo pravi, da je slišal, da programi za avtopilote pravzaprav niso tako zelo kompleksni v smislu števila vrstic (imeli naj bi jih ranga nekaj 10 tisoč). Možno, da je to res. Če ima kdo kaj več podatkov, bi me zelo zanimalo.

Tvoja pavšalna ocena o kompleksnosti programov za avtopilote je seveda napačna. Nihče ne pravi da je program za avtopilota težko napisati, ampak konec koncev imamo danes delujoče avtopilote, ki pristajajo space shuttle.

Sem pa precej prepričan, da bi bil avtopilot za avtomobile dosti bolj kompleksen, enostavno zato, ker je v prometu toliko več dejavnikov kot v zraku. To, da je letalo v zraku in da lahko pade dol, nima neposrednega vpliva na kompleksnost algoritma za krmiljenje. Prav tako ne moreš o kompleksnosti sklepati preko tega, koliko časa se neke stvari uči človek. Npr. računalnik še ni sposoben zadovoljivo razpoznavati govora, objektov, ljudi in dogajanja okrog sebe, medtem ko človek to zna kmalu po tem, ko se rodi. Kontra primer, človek se matematike lahko uči zelo dolgo, pa še potem mu gre bistveno slabše in počasneje kot tudi 20 let staremu računalniku.

Čakaj čakaj, hočeš trdit, da letalu ni treba paziti na trčenja z drugimi letali, trčenja z gorami, ni treba nadzorovati vremenskih razmer, ni treba pravilno reagirati če crkne motor, če pade pritisk v kabini, itd itd... Še več - kontrole za vodenje letala še "kanček" bolj kompleksne, tako da stežka podaš katera naloga je bolj kompleksna.


Ta primerjava je na mestu zato, ker ima letalo opravka večinoma samo z golo fiziko, torej matematičnimi izračuni, za kar je pravzaprav namenjen; medtem ko je v prometu mnogo bolj pomembna "zdrava pamet" (plus fizika, seveda), ki pa je računalnik NIMA.

Ne govori neumnosti, govoriš kot da je edina naloga pilota da klubuje gravitaciji. In "zdravo pamet" dovolj dobro opišejo cestno prometni predpisi - pravzaprav, če bi se ljudje držali le-teh (in ne zdrave pameti) bi bilo dosti manj nesreč.


Kakšen točno bi bil red kompleksnosti izračuna možnih trkov v nekem prometnem križišču, ne morem reči na pamet, ker ne poznam kompleksnosti vseh posameznih računov, ki bi v tem izračunu sodelovali. Vem pa toliko o sami temi (10 pri prof. Kononenku), da si lahko prepričan, da ne nabijam v tri dni. Ampak, če si kaj na tekočem, verjetno veš, da imajo danes roboti težave še z zelo preprostimi stvarmi, kot je razpoznavanje objektov v 3D prostoru in učinkovita navigacija med njimi, tudi v bolj ali manj statičnem okolju (primer tovrstne raziskave). Kaj šele v prometu, kjer se vse premika zelo hitro in je potrebno pravilne odločitve sprejemati v milisekundi.

Sam imam pri prenekaterem predmetu 10, pa to še ne pomeni da predmet obvladam. V vsakem primeru - ne znaš podati kompleksnosti za računalnik, pa vseeno veš da je to tako zelo težko narediti da je zadeva nemogoča. Če mene vprašaš, razpoznavanje objektov v 3D prostoru ni neka stvar, ki jo z zadostno količino računske moči nebi mogli rešiti. Še AiBO najde svojo žogo ki jo vržeš v prostor in ti jo pribrca nazaj. Sicer traja nekaj časa - samo aibo je skrajno preprost robot, ki je kar se tiče računske moči močno podhranjen.

Si ti, Jux, ali kdo drug, kdaj poskusil narediti program, ki bi iz poljubne slike obraza razpoznal npr. oči in nos? Na videz trivialen problem, ampak za sprogramirat blazno kompliciran, ob tem da programi tega sploh ne znajo naredit zanesljivo.

Ne. Nisem. Zavedam se da problem ni trivialen - ampak definitivno ni nekaj kar bi bilo nerešljivo v zglednem času. Govoriš kot da so ljudje ki se ukvarjajo s temi problemi navadni bebci in da še nihče ni sprogramiral program, ki bi razbral obraz.

Še en primer: si že slišal za "Captcha" test? Verjetno si ga že videl v uporabi. Gre za preverjanje (Turingov test), če je na drugi strani programa dejansko človek ali nek avtomatiziran program. Pogosto se uporablja pri spletnih registracijah in pri potrjevanju elektronskih podpisov. Uporabniku se prikaže slika popačene besede, ki jo človek z lahkoto razpozna, za programe pa je to popolnoma nemogoče. In to menda deluje zelo dobro. Torej program ne more prepoznati ene malo popačene besede, ti pa pričakuješ, da bo spremljal in razumel dogajanje v prometu in se v realnem času pravilno odločal? Malo morgen.

Nekaj je razbrati iz 200x300 pikslov kaj piše, drugo je iz treh kamer, radarja in še kakšnega senzorja razbrati ali se objekt premika ali stoji. Problem ki ga ti tako vehemento navajaš kot defacto odgovor zakaj je problem prepoznavanja nerešljiv v resnici nima tako veliko skupnega z problemom prepoznavanja gibanja. Pa zavraga dojami, da že obstajajo programi, ki znajo vozi avtomobil po avtocesti. NE POGOVARJAMO SE O PODROČJU KI BI BILO POVSEM NERAZISKANO - REŠITVE KI DELUJEJO ŽE OBSTAJAJO DANES.


Še citat iz prvega članka (star je največ 2 leti):

Specially in the context of vehicles, the presence of several obstacles at the same time can remarkably increase the complexity of signal processing and turn the obstacle avoidance unfeasible. Depending on the sensors technology some characteristics as size, distance, color and even texture of obstacle surface can change the precision and reliability of the avoidance method.

Če ti po tem še vedno ni jasno, na kakšni stopnji je umetna inteligenca danes, potem izvoli iti za beta testerja popolnoma avtomatiziranega vozila, jaz pa ti želim lepo smrt...

Če je iz tega sestavka tebi jasno na kakšni stopnji je UI danes, si najmanj čarovnik. Ker ko jst preberem ta članek razumem samo da je težava velika. In če pred enim letom še nerešljiva je letos to dirko končalo kar nekaj vozil. In če bom kot beta tester vozila dobro plačan bi z veseljem šel testirat avtomobil ki ga vozi računalnik (seveda v pogojih namenjenih za beta testing - torej vsi varnostni pogoji izpolnjeni itd..) Predvsem pa - zakaj bi sploh potrebovali beta testerje? Zakaj tega nebi počeli kar avtomobili sami od sebe, mi pa samo opazujemo od daleč? Še več - isti program lahko priklopimo v simulacijski program in ga polnimo s podatki - cel model lahko pretestiramo mnogo bolje kot če ga damo v avto in vozimo naokrog.


In to, da bodo v prometu kar naenkrat vsa vozila avtomatizirana. Aja? Boš ti prepričal in plačal vsem ljudem, da istočasno zamenjano star manualen avto za avtomatskega? Najbrž ne. Poleg tega avtomobili niso edini udeleženci v prometu, ampak imaš še pešce, kolesarje, otroke, živali, ki so bistveno bolj nepredvidljivi. Torej v najboljšem primeru imaš dolgotrajno koeksistenco obeh vrst vozil.

Sem ti že razložil, kako bo zadeva potekala. V tranzicijskem času, torej po tem ko bodo rešeni problemi z vožnjo, zaznavanjem okolice itd... Bodo taka vozila obstajala pač skupaj z navadnimi vozili - za nek računalniško vodeni sistem mora biti vseeno a je avtomobil pred njim voden računalniško ali človeško voden.

In to, da človeku v avtu med vožnjo v glavnem ne bo treba biti zbran, ampak samo v izjemnih situacijah. Aja? Torej ti bi v avtu zaspal ali bral časopis, avto bi te v primeru bližajoče se nesreče opozoril, in ti bi sedel za volan, izbral opcijo "manual override" in situacijo zvozil? Nesreče se zgodijo v milisekundah, zato moraš biti zbran VES ČAS. Še toliko bolj zato, ker ne veš točno, kako bo računalo vozilo (tudi če je algoritem zelo jasen in predvidljiv, za človeka ne bo nikoli tako predvidljiv kot on sam).

Ti si res predstavljaš, da bi dali v prodajo avto, ki bi znal vozit naravnost v primeru bližajočega ovinka oz. nevarnosti bi pa zapiskal in prepustil kontrole tebi? Še enkrat - od kje tebi vizija da bodo računalniško vodeni avtomobili tako kot software, torej pol-izdelki ki jih bodo uporabniki izpilili?

In to, da avtomobili "že ne bodo tako neumni", da bi "nasedli" na to, če bi nekdo zamenjal signalizacijo. Aja? Na podlagi česa pa bodo avtomobili vedeli, kaj je res? Na podlagi podatkov, ki jih dobijo, nič drugega. Pameti nimajo. Torej, če imamo tri vrste podatkov: oznake ob robu ceste, črte ob strani in asfalt. Recimo, da program spremlja vse troje. Kateri podatek naj upošteva, če niso v skladu? Po načelu večine? Kaj se zgodi, če nekdo zamenja oznake in obenem nariše še belo črto proti drugemu robu? Torej dva podatka sta napačna, eden je pravi. Čemu naj program verjame? Princip večine ne deluje. Torej asfaltu, boš rekel, saj je edino logično. OK. Kaj pa v primeru, ko popravljajo cesto in dejansko preusmerijo en pas na drugega. V tem primeru imaš točno isto situacijo: oznake so prestavljene in nove črte so narisane, asfalt je pa še vedno tam, kjer je bil. Torej točno tako kot v prejšnjem primeru. Kaj pa zdaj? To je seveda samo eden od neštetih primerov. In če mi boš opisal postopek, kako bi ti ločil ti dve situaciji in se v obeh odločil pravilno, ti bom jaz napisal primer, ko tvoj algoritem ne bi deloval. Še enkrat: rešiti poljuben problem ni problem. Problem je narediti program, ki bo rešil poljuben problem!

Kako pa človek reagira v dani situaciji? Je to res takšen nerešljiv problem? A slučajno v primeru preusmeritve ceste obrnejo znak in to je to? Ne vem zakaj si predstavljaš vsak kontrolni element kot takšen preprost algoritem, ki izbira med tremi stvarmi in se potem odloči glede na večinski odgovor? Skrajno naivno in laično.
1. Lepo si pozabil da trije podatki, torej rob ceste, označbe na cestišču in znaki niso edine informacije, ki jih dobi račaunalnik. Ima dostop do detaljnih informacij o stanju na cestah, dostop do informacij avtomobila pred njim, lahko ocenjuje nevarnost določenega premika, nevarne objekte ob cesti, nevarne objekte pred njim, pa še kaj bi se našlo.
2. Tvoj laičini algoritem bi v tvojem primeru celo deloval pravilno - označbe so spremenjene, znaki tudi, torej se odločimo za večino in zavijemo.
3. Če se nekdo potrudi in naredi sistem, ki bo nategnil računalnik - brez skrbi to se seveda da. Ampak vprašaj se, koliko voznikov bi obležalo v istem jarku.

In to, da bodo avtomobili kar komunicirali med sabo in dobili vse potrebne informacije. Pa ja. Koliko je tvoj ping čas do tvojega ISPja? Vsaj nekaj 10 milisekund. V primeru avtomobilske nesreče si v tem času lahko že na onem svetu. Torej tudi v primeru, da povezava deluje in da so informacije takoj na voljo, je lahko 10 ms preveč. Kaj pa, če povezava zataji ali preprosto ni potrebnih informacij?

Lej, reakcijski čas se meri v sekundah. Če zadevo pričakujemo je okoli 0.7 sek, popolno presenečenje pa vsaj 1.5sek. 10ms je zanemarljivo, poleg tega pozabljaš da je 10ms do tvojega ponudnika pogojeno z razdaljo ki jo mora informacija prepotovati. Koliko že potrebuje EM valovanje da prepotuje 50m razdalje?
V primeru da povezava zataji, mu pač manjka nekaj podatkov, ampak pogovarjamo se da bo zadeva zajemala velik repertoar podatkov iz mnogo virov - eno dejstvo je nesprejemljivo: Avtomobil enostavno ve več o stanju okoli njega in v njem kot človek.

In kako bo program sploh opisal, katere informacije rabi? "Drago sosednje vozilo. Opazil sem, da so oznake na cesti malo čudne. Sumim, da jih je nekdo prestavljal. Mi lahko sporočiš, kaj se tebi zdi, ali je tam dejansko cesta ali mogoče prepad?" Tako? (malo sarkazma, ampak vprašanje je resno) Še mnogo bolj kompleksna stvar pa je odgovor na tako poizvedbo. Koliko podatkov rabiš, da popolnoma opišeš neko situacijo v prometu? OGROMNO! In to moraš osveževat vsaj na vsako milisekundo, sicer ti ne koristi čisto nič. Se ti zdi to izvedljivo? Poleg tega nobeno vozilo nima popolne slike situacije, ampak samo del. Te dele je treba sestaviti skupaj, upoštevati časovne in prostorske razlike itd. V realnem času je to mission impossible (pa tudi sicer).

Ne vem no, sej mogoče je to znanstvena fantastika ampak jst sem videl demostracijo tega v živo. In nihče ne pravi da so vse stvari že razčiščene, ampak obstaja velika želja kapitala po tem da bi izdelali take avtomobile in brez skrbi, probleme z komunikacijo ni težko rešiti če obstaja motivacija za nek skupen standard.

Ne vem, od kod ti ideje, da bo program v avtu "že daloval tako, kot je prav"? Mi lahko to kako utemeljiš? Programi ne vedo, kaj je "prav"! Delujejo tako, kot so sprogramirani in nič drugače. V predvidenih situacijah lahko delujejo prav (ob pogoju, da ni kakšne napake), v nepredvidenih situacijah je pa samo gola sreča, če slučajno delujejo prav. In to ni noben FUD, to so najbolj osnovna dejstva računalništva in informatike. Če hočeš dokazat nasprotno, napiši program, ki bo sam v sebi iskal in odpravljal hrošče (namig: ne da se).

Lej, nepredvidena situacija tipa "nekdo prihaja iz desne" ni nepredvidena. Razumeš? Ne govori o nevem kakšnih nepredvidenih situacijah, si res tako naiven da program ne bo znal reagirat na stvari ki se ti zgodijo me vsakodnevno vožnjo?
Če pa se že gremo res nepredvidljive situacije - recimo drevo pade na tla, srna skoči pred avto itd. v vseh teh primerih pa računalnik neprimerno bolje (hitreje) reagira kot povprečen voznik. (Še enkrat, v idealnih pogojih za človeka in pod pogojem da je ta posameznik profesionalec, verjamem da zna v dani situaciji izvesti nevemkašno varko in se izvleči cel - ampak ne jaz in ti tega nisva sposobna.)

Še enkrat. Pomiri se, dobro razmisli in dojami da zadeve vseeno niso tako daleč v prihodnosti kot si ti predstavljaš.
web&blog&etc: http://lukabirsa.com

Jux ::


Nekaj tega bi se dalo rešit z avtomatičnim "flashanjem firmwarea", ampak se bojim, da bo to mnogo premalo. Namreč vnest vsako posamezno situacijo v program ne pomaga dosti, ker je vsaka situacija bolj ali manj neponovljiva. In vseh napak se ne bo dalo niti odkrit in opisat (ker so situacije preveč raznolike in je naknadno težko ugotovit, točno zaradi katere vrstice je prišlo do nesreče), sploh pa bo to nemogoče počet sproti (torej da bi se zgodila nesreča in v roku nekaj dni bi bil že na voljo popravek). In s tako hitrimi "popravki" bi gotovo naredili še več škode kot koristi, če bo izdajanje popravkov trajalo mesece ali leta, pa spet ne bo dobro.


Kako zavraga pa človek zmore interpetirat neko situacijo in reagirat pravilno? Je taka znanstvena fantastika napisat program ki bi zmogel razumeti dogajanje in potem reagirati nanj? Res si naiven če misliš da kontroli program izgleda kot seznam vseh možnih dogodkov in točno določena reakcija na vsakega izmed njih.
web&blog&etc: http://lukabirsa.com

Jux ::


Poleg tega je pomembno še nekaj: če se danes nekdo zaleti, si je za to kriv sam. Oziroma mu je kriv tisti, ki se je vanj zaletel. Če bodo vozili roboti, bodo tudi nesreče odgovarjali njihovi proizvajalci, kar pomeni, da bodo avtomobilske firme morale redno plačevat milijonske odškodnine. Razen če se jim uspe nekako zdilat z zavarovalnicami, kar pa dvomim, da se bo zgodilo.


Brez skrbi da se bo to zgodilo, konec koncev se lahko podjetje odveže odgovornosti in mora to odgovornost kriti kupec avtomobila. Kar bo seveda rešeno natanko tako kot danes - z obveznim avtomobilskim zavarovanjem.

Edit: V primeru, da bo program naredil nevem kakšno neumnost - recimo zapeljal naravnost v zdi in bo očitno da bo to krivda programa in ne okoliščin (vedno se ne da preprečiti nesreče), takrat bo seveda kupec z veseljem iztožil proizvajalca avtomobilov. Nekako tako kot so jih iztožili takrat ko so izdelovali avtomobile ki so eksplodirali če si zapeljal ritensko v zid. In to je eden izmed mnogih razlogov, zakaj si bodo podjetja prizadevala izdelati avto ki je karseda varen.
web&blog&etc: http://lukabirsa.com

Zgodovina sprememb…

  • spremenil: Jux ()

Jumping Jack ::

@WarpedOne:

Nekaj časa še ne, ampak nekoč pa verjetno ja. Gola procesna moč seveda ne pomeni inteligence, lahko pa do neke mere nadomesti paralelizem naravnih nevronskih mrež.

Tisto, kar pomeni inteligenco, je sposobnost učenja in prilagajanja novim, prej neznanim situacijam. Za to pa sta pogoja (vsaj) dva: 1.) učinkovite naprave za komunikacijo z zunanjim svetom (te morajo biti različnih vrst, npr. vid, sluh, tip, sicer je učenje mnogo manj učinkovito, če ne kar nemogoče), in 2.) dovolj velika procesna moč (vzporedna ali zaporedna) za analizo in razumevanje inputa iz zunanjega sveta.

Načeloma to dvoje, ampak verjetno bo za pravo umetno inteligenco potrebno še kaj drugega. Brez dvoma bi bila zelo koristna 3D in zvočni pospeševalnik, ampak v obratnem smislu - torej za analizo in interpretacijo video in avdio signala. Trenutno je namreč velika ovira pri računalniškem učenju to, da mu (zaradi zaporedne narave procesiranja) prepoznavanje vzorcev dela zelo velike težave, brez tega pa je učenje v človeškem smislu nemogoče.

Poleg tega ima človek pred računalnikom še eno prednost: površnost. Čeprav se sliši čudno, je dejansko to pogoj, da človek sploh lahko funkcionira. Namreč, človek vsak trenutek sprejme enormne količine informacije. Če bi si zapomnil in se ukvarjal s čisto vsakim detajlom in z vsakim bitom informacije, ne bi bil zmožen normalno funkcionirati. Tako pa ima nek zelo učinkovit filter, ki spusti skozi samo pomembne stvari. To je res tudi slabost, ampak mala cena za to, da lahko funkcioniramo. Če bi človek hotel sprocesirat prav vse informacije, ki jih dobi (kakor to po svoji naravi počne računalnik), bi za to potreboval BISTVENO zmogljivejšo procesno enoto. Torej tudi roboti bodo zelo verjetno potrebovali nek tak filter (ali pa neskončno procesno moč), da bodo lahko učinkovito funkcionirali na inteligenten način.

Kdaj bodo roboti dejansko postali inteligentni (če sploh kdaj), pa lahko samo ugibamo. Jaz pravim čez 20-30 let. Lahko pa se seveda tudi motim.

Jux ::

Hehe, smešen tič si ti. Po eni strani trdiš da nas avtomobili ne bodo vozili naokrog še nekaj časa, po drugi strani pa napoveduješ inteligentne robote čez 20 let.
web&blog&etc: http://lukabirsa.com

madmitch ::

Jack:
Pa saj nihče ne pravi, da bodo popolnoma robotska vozila padla na ceste kar naenkrat. Integracija vseh potrebnih komponent se že dogaja, ne da bi ti (očitno) to opazil. Vse več je takšnih sistemov v danes serijskih vozilih (Citroenov sistem zaznavanja črte, parkitni senzorji, zdrsavane vozila............. tega je cel kup in vsak dan več). Počasi se bo število takoh sistemov večalo v povse ročno vodenih vozilih in v danem primeru bodo vsi skupaj s še kakšnim novim sposobni samostojne vožnje, pač evolucija in ne revolucija. Nekaj si pisal o nasproti vozečem vozilu; tu pa res ne vidim problema, bodo pač ceste opremljene s sistemom, ki bo sodeloval z vozili in sporočal položaj le tega in bližnjih vozil, tudi tistih manualno vodenih, zakaj pa ne. V končnem prehodnem obdobju pač ne bodo vse ceste primerne za avtomatsko vožnjo a to bo vozilo vedelo dovolj preden se ji bo približalo, ni problema.
Torej, to vsekakor ni računovodski program ali mail client, je skupek sistemov povezanih med seboj, ki se bodo počasi nadgrajevali in dopolnjevali do trenutka, ko bodo usposobljeni samostojnega delovanja.
Aja, kaj pa sistemi letenja na vojaških lovcih, ki brez tega tako ali tako ne morejo leteti. Ti sistemi se ne igrajo "samo" z letenjem in malo zraka, kakor si ti sistem letenja poenostavil, poleg tega so pri neverjetni hitrosti sposobni pristati na "konici nohta" - letalonosilki, sodelovati ali celo samostojno odločati v boju... Tudi letala so nekoč letela "na roko" a danes ne več, kako to, da jim je to uspelo, če je to tako nemogoče?
Zadeva le ni tako črna kot se zdi, kaj praviš.
Nobody is perfect, my name is Nob Ody

Jumping Jack ::

Ne gre za to, da bi opisoval vsako posamezno situacijo. To bi bilo tako, kot če bi v šahovskem programu opisal najboljšo odločitev za vsako možno razporeditev figur. Teh kombinacij je že pri navadnem šahu bistveno bistveno preveč, da bi bilo to smiselno. Šahovski programi delujejo tako, da z omejenim številom pravil pokrijejo vse možne razporeditve figur. Torej kakršnokoli razporeditev figur podtakneš šahovskemu programu, bo ta znal izbrat najbolj (ali vsaj zelo) ustrezno potezo. OK, do tu nobenega problema. Kaj pa, če se na šahovnici znajde npr. pomaranča? Ali če manjka pol šahovnice ali figur? Ali če se nasprotnik razjezi in noče več igrat? Vse to so situacije, ki bi jih človek brez večjih težav rešil, program jih pa pač ne more, ker niso del šahovske igre (del programa).

Isto je v prometu. Osnovna pravila in zakonitosti sicer obstajajo, ampak noben živi bog se ne more domislit vsega, kar se v prometu lahko zgodi. Človek ima pamet ter sposobnost učenja in prilagajanja, zato se dokaj dobro znajde tudi v popolnoma novih in neznanih situacijah. Računalnik pa ne. Če bi ti sam nek problem z lahkoto rešil, to še zdaleč ne pomeni, da je isti problem tudi za računalnik lahko rešljiv. Sem ti dal za primer Captcha test. Si pogledal tisto? Malo popačena slika besede in noben program je ne bo razpoznal! Kaj misliš, da v prometu bodo pa kar čudežno pravilno razpoznali vseh nešteto situacij?

Človek ima nekaj, česar računalniki nimajo, to je paralelizem. Človek lahko v hipu (vzporedno) izvede ogromno število primerjav in operacij. Pomisli, kako ti lahko razpoznaš neko osebo. Vsakič, ko jo vidiš, jo vidiš v drugem okolju, pod nekoliko drugačnim kotom, z drugačne razdalje, osvetljava je nekoliko drugačna, oseba je drugače oblečena, drugače ostrižena in ima drugačen izraz na obrazu. Tebi se zdi samoumevno, da je to ena in ista oseba, računalnik pa mora za tako razpoznavanje izvesti blizu neskončno število transformacij in primerjav, sicer se stvari ne ujemajo s sliko, ki jo ima v spominu. RAČUNALNIKU NI NIČ SAMOUMEVNO!

Zgodilo se je že, da je letalo (ali je bil raketoplan, ne vem) padlo dol zato, ker je v programu, pisanem v Fortranu, pisalo "0" namesto "0.0". Prvo pomeni celo število, drugo pa decimalno število. In ker je bilo v enačbi celo število, se je rezultat fizikalne enačbe zaokrožil na celo številko in stvar je padla dol. Ja, tako naivni in neumni so računalniki! Pa bi res lahko vedel (program namreč), da gre za pomembne fizikalne izračune in za letalo in da lahko vse skupaj pade dol. Res? Ne! Programi ne vejo nič! Samo delajo to, kar piše! Če tega kot študent računalništva ne veš, ti ne preostane drugega kot to, da se izpišeš in greš na sociologijo.

No, da nadaljujem od prej. Večinoma se programi za razpoznavo vzorcev poslužujejo kompleksnih hevrističnih metod in verjetnostnih izračunov, s katerimi bolj ali manj uspešno ugibajo, za kaj gre. V vsakem primeru gre za izračune, ki so ZELO kompleksni in trenutno še popolnoma neprimerni za zanesljivo uporabo v realnem času. OK, imaš že robote, ki so sposobni prepoznat človeka, ampak še zdaleč ne tako dobro, kot je tega zmožen človek. In seveda taki roboti so lahko zelo zabavni hišni ljubljenčki, nikakor pa ne za aktivno sodelovanje v prometu.

Kako zavraga pa človek zmore interpetirat neko situacijo in reagirat pravilno?

Poleg vsega zgoraj napisanega predvsem zato, ker VE, kaj je pravilno. Računalnik tega NE VE!

Je taka znanstvena fantastika napisat program ki bi zmogel razumeti dogajanje in potem reagirati nanj?

Ja! Pokaži mi en program, ki KARKOLI razume. Karkoli!!

mercutio ::

Airplane crash
Če že gledamo letala zaseda "Human" oz. "Pilot error" še vedno 37%, torej največ od vseh možnih dejavnikov.
Napake računalnikov bi lahko šteli pod "Mechanical failure", ki ima 13%.

Sicer se ne razumem na letala in vlogo pilota/računalnika pri letenju, pa tudi ne bi rad delal zaključkov iz teh procentov. Je pa vseeno zanimivo za videt.

OwcA ::

Napake računalnikov bi lahko šteli pod "Mechanical failure", ki ima 13%.

Prej pod "1%: Other cause".
Otroška radovednost - gonilo napredka.

Poldi112 ::

Samo to ti ne pove prevec, ce ves da vse pomembne funkcije opravlja clovek.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

OwcA ::

A jih res? Fly-by-wire ... ;)
Otroška radovednost - gonilo napredka.

darkolord ::

poleg tega pozabljaš da je 10ms do tvojega ponudnika pogojeno z razdaljo ki jo mora informacija prepotovati

ni

gfighter ::

Žal tega ne vem točno in nimam linka na to trditev, ampak v spominu imam nek intervju od enega inženirja (se mi zdi da airbusovega), ki je trdil, da bi nekatera moderna letala že s sedanjo opremo lahko samostojno izvedla vzlet, polet in pristanek. Največja ovira temu, da še ni potniških poletov brez pilota pa po njegovem ni to, da mora pilot biti tam za backup v primeru odpovedi sistema, ampak psihologija ljudi, ki se ne bi hoteli peljati v takšnem letalu. Zato glede avtopilota v avtu mislim, da bodo tehnološke ovire še najmanjši problem. Največji problemi bodo v glavah kupcev.

OwcA ::

ki je trdil, da bi nekatera moderna letala že s sedanjo opremo lahko samostojno izvedla vzlet, polet in pristanek.

Tako je, manjka le še taksiranje (pojanje po letatališču).
Otroška radovednost - gonilo napredka.

BigWhale ::

Taksiranje je trivialno. Ce bi imeli avtomatsko taksiranje, potem na Heatrowu ne bi izgubljali letal na tleh, ko kak zmeden pilot zapelje za kako zgradbo in ga letaliski radar ne vidi, on ne ve kje je, kontrola pa se manj... :P

Taksiranje bi najbolj trivialno resil tako, da bi v crte na tleh embeddal kar bar kodo, ki bi jo reader v nosu letala potem bral. Pa se en kup proximity senzorjev, pa je.

perci ::

Al pa če bi kar tračnice nardil namesto taxi črt in bi potem kontrolorji fizično vodili letala. No, kontrolorji bi softweru samo povedali iz katere steze in v katero smer naj določeno letalo vzleta oz. lokacijo kam naj se pristalo letalo taksira in bi potem softwer poskrbel za to.

darkolord ::

Al pa eno gigantsko raztegljivo roko, ki prime letalo in ga postavi tja, kamor je treba

OwcA ::

Vidš, to je pa butasta ideja. ;)
Otroška radovednost - gonilo napredka.

dr. Zgemba ::

Za samostojno navigacijo po taxiwayih je čisto zadosti natančno inicializiran INS. Za komunikacijo med letali bi lahko uporabili že obstoječ TCAS datalink. Verjetno bi bila potrebna dodatna antena prilagojena vožnji po tleh.
Težava je v tem, da bi za tako delovanje morala biti opremljena prav vsa letala. Postopen upgrade (kot recimo pri kategorijah ILS) ne bi bil mogoč.
Druga varianta bi bila, da pri barvanju sredinskih črt po TWY-ih nanesejo še RFID čipe, enako na holding pointih in križiščih. Potem pa en reader v nosno nogo in vozi miško.
Problem pri letalstvu je (kot ponavadi) pri kompliciranih postopkih certifikacije vsake tehnične novotarije.

Thomas ::

> Problem pri letalstvu je (kot ponavadi) pri kompliciranih postopkih certifikacije vsake tehnične novotarije.

Ja. Sem hotu napisat isto. Tukaj se ne pustijo dost igrat. Normalno, ampak zato imamo nekaj sivih lis v avtomatizaciji, po drugi strani.
Man muss immer generalisieren - Carl Jacobi

Poldi112 ::

>A jih res? Fly-by-wire ... ;)

Fly-by-wire nic ne odloca. Samo poslusa kaj clovek pravi.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

dr. Zgemba ::

> Fly-by-wire nic ne odloca. Samo poslusa kaj clovek pravi.

Striktno sam fly-by-wire res nič ne odloča. Določa pa računalnik, ki preko fly-by-wire krmili aktuatorje krmilnih površin. Če je človeški ukaz smiselen ga uboga, če ni, ga prepreči. In tak Flight Envelope Protection je samo mali del vsega, kar zmorejo sodobni FBW sistemi, človeški pilot pa nisti slučajno ne več. Recimo že za cruise trim (CG zelo nazaj) pri visokih M je poprečen pilot občutno prepočasen in razen redkih izjem letalo praktično takoj spravi v divergentno pitch oscilacijo.

nodrim ::

kako smo kul, ko uporabljamo strokovne izraze :\ če že neki poveš, lahko tud razložiš zraven ...

dr. Zgemba ::

Ja OK, kaj ti ni jasno:
FBW - fly by wire
CG - težišče
M - Machovo število
Cruise trim je trim (kaj je trim menda ni treba razlagat) za križarjenje. Za zmanjšanje skupnega upora se minimizira odklon vodoravnih krmilnih površin, ki so potrebne za vzdrževanje 'ravnotežja'. Vodoravni rep letala klasične konstrukcije ne podpira (zato to ni zadnje krilo), ampak ga tišči navzdol. Za zmanjševanje te sile se med križarjenjem običajno prečrpa nekaj goriva v rep in tako pomakne težišče nazaj. Bolj kot je ležišče pomaknjeno nazaj, manj stabilno je letalo.
Predstavljaj si palico, ki jo navpično balansiraš na dlani. Če je palica težka na zgornem koncu (recimo metla) jo balansiraš z lahkoto. Bolj ko se utež bliža tvoji dlani, težje je palico obdržati v ravnotežju. Isti princip velja pri letalu.

{edit: tipkarske napake}

Zgodovina sprememb…

Jux ::


Ne gre za to, da bi opisoval vsako posamezno situacijo. To bi bilo tako, kot če bi v šahovskem programu opisal najboljšo odločitev za vsako možno razporeditev figur. Teh kombinacij je že pri navadnem šahu bistveno bistveno preveč, da bi bilo to smiselno. Šahovski programi delujejo tako, da z omejenim številom pravil pokrijejo vse možne razporeditve figur. Torej kakršnokoli razporeditev figur podtakneš šahovskemu programu, bo ta znal izbrat najbolj (ali vsaj zelo) ustrezno potezo. OK, do tu nobenega problema. Kaj pa, če se na šahovnici znajde npr. pomaranča? Ali če manjka pol šahovnice ali figur? Ali če se nasprotnik razjezi in noče več igrat? Vse to so situacije, ki bi jih človek brez večjih težav rešil, program jih pa pač ne more, ker niso del šahovske igre (del programa).

Preden tako zaletavo ihtiš primerjat šah in vožnjo, mi podaj nekaj primerov ekvivalenta: Pomaračna na šahovnici v vožnji. Skratka nekaj tako nenavadnega da bi bilo nemogoče napisati neko splošno pravilo kako reagirati v primeru nenavadnih okoliščin.

Isto je v prometu. Osnovna pravila in zakonitosti sicer obstajajo, ampak noben živi bog se ne more domislit vsega, kar se v prometu lahko zgodi. Človek ima pamet ter sposobnost učenja in prilagajanja, zato se dokaj dobro znajde tudi v popolnoma novih in neznanih situacijah. Računalnik pa ne. Če bi ti sam nek problem z lahkoto rešil, to še zdaleč ne pomeni, da je isti problem tudi za računalnik lahko rešljiv. Sem ti dal za primer Captcha test. Si pogledal tisto? Malo popačena slika besede in noben program je ne bo razpoznal! Kaj misliš, da v prometu bodo pa kar čudežno pravilno razpoznali vseh nešteto situacij?

Računalnik ima možnost prilagajanja na dane pogoje, ne boš verjel že kakšnih 40 let se ukvarjajo z AI, ki ima ravno to lastnost. Če ne verjameš si poglej kaj na temo recimo "Hebbian learning" da ti razširim spekter tvojega znanja.

Človek ima nekaj, česar računalniki nimajo, to je paralelizem. Človek lahko v hipu (vzporedno) izvede ogromno število primerjav in operacij.

Računalnik ima nekaj kar človek nima, to je ogromno sekvenčno procesno moč. Sicer nihče ne želi oporekat dejstvu da potrebuješ za n paralelnih operacij enostavno n sekvenčnih operacij in posledično morajo biti te izvedene n krat hitreje, ampak - človek v resnici procesira zelo počasi (tipičen primer je recimo reakcijski čas) in ne vidim razloga zakaj ga pri za človeka preprostih nalogah, kot je razpoznavanje predmetov nebi mogel nadomestiti računalnik. Da ne govorimo o tem, da lahko uporabimo računalnike ki so po svoji zasnovi vsaj deloma paralelini in s tem povečamo zmogljivost. (Zmagovalna ekipa je uporabila 7 P-M procesorjev).

Pomisli, kako ti lahko razpoznaš neko osebo. Vsakič, ko jo vidiš, jo vidiš v drugem okolju, pod nekoliko drugačnim kotom, z drugačne razdalje, osvetljava je nekoliko drugačna, oseba je drugače oblečena, drugače ostrižena in ima drugačen izraz na obrazu. Tebi se zdi samoumevno, da je to ena in ista oseba, računalnik pa mora za tako razpoznavanje izvesti blizu neskončno število transformacij in primerjav, sicer se stvari ne ujemajo s sliko, ki jo ima v spominu. RAČUNALNIKU NI NIČ SAMOUMEVNO!

Na žalost te moram razočarat. Že meni je uspelo sprogramirat program, ki iz drugačne slike (torej popačene) ugotovi kateri sliki v njegovem spominu je slika najbolj podobna. Še več - lahko ga naučiš novih slik in tudi te bo znal primerno razpoznati. In to znam narediti po tem ko sem poslušal predavanja enega predmeta na temo AI.

Zgodilo se je že, da je letalo (ali je bil raketoplan, ne vem) padlo dol zato, ker je v programu, pisanem v Fortranu, pisalo "0" namesto "0.0". Prvo pomeni celo število, drugo pa decimalno število. In ker je bilo v enačbi celo število, se je rezultat fizikalne enačbe zaokrožil na celo številko in stvar je padla dol. Ja, tako naivni in neumni so računalniki! Pa bi res lahko vedel (program namreč), da gre za pomembne fizikalne izračune in za letalo in da lahko vse skupaj pade dol. Res? Ne! Programi ne vejo nič! Samo delajo to, kar piše! Če tega kot študent računalništva ne veš, ti ne preostane drugega kot to, da se izpišeš in greš na sociologijo.

Wow. Pa kljub temu danes poznamo avtopilote za letala, avtopilote za avtomobile po cestah, neverjetno. Pa toliko napak je v teh fizikalnih izračunih. Mislim - kako sploh preživiš dan, sej konec koncev se lahko tudi zmotijo v programu v banki in ti narobe obračunavajo denar. Imaš zaradi tega denar doma v štumfu?

Kako zavraga pa človek zmore interpetirat neko situacijo in reagirat pravilno?
Poleg vsega zgoraj napisanega predvsem zato, ker VE, kaj je pravilno. Računalnik tega NE VE!

Kako človek ve v situaciji o kateri se ni učil ni je še ni srečal - kaj naj naredi? Odgovor je - NE VE, lahko samo predvideva in poskuša naresti optimalno... kar je mogoče tudi s strani računalnika...

Je taka znanstvena fantastika napisat program ki bi zmogel razumeti dogajanje in potem reagirati nanj?
Ja! Pokaži mi en program, ki KARKOLI razume. Karkoli!!

Človeka ki bi razumel vse dogajanje okoli sebe in pravilno reagiral na vse zadeve ni. Če to misliš si skrajno naiven. Človek reagira samo glede na informacije ki jih ima do sedaj in iz tega zgradi nek logičen ukrep. Natanko tako kot zna to naresti računalnik (če ga seveda ne programiraš skrajno naivno - torej kavzalno z izjavami tipa "if (A) then (B)").
web&blog&etc: http://lukabirsa.com

neoto ::

Mogoče malo butasto vprašanje: Kaj sploh je divergentna pitch oscilacija??? :\

OwcA ::

Letalo začne vse bolj in bolj z nosom nihati gor in dol.

Najpogostejši odziv pilota, da skuša z odkloni krmilnih površin v nasprotni smeri to nihanje izničiti, pa situacijo povečini le še poslabša.
Otroška radovednost - gonilo napredka.

Zgodovina sprememb…

  • spremenilo: OwcA ()

BigWhale ::

nodrim

Ce precej karikiram, letalo je tako slampasto skupaj sesraufano, da brez racunalnika samo po sebi ne more vec leteti. FBW sproti odklanja krmilne povrsine, da doseze 'level flight'.

Ampak vse to je tako narejeno z razlogom. :)

Thomas ::

Za nekatere mora bit tale Slotech dost poučna zadeva. By the way zvejo, kar bi IMO morali sicer že vsi vedeti ... ampak očitno ne.

Seveda, nekateri avioni bi celo TAKOJ strmoglavili, če bi ne imeli kontrolnega računalnika.
Man muss immer generalisieren - Carl Jacobi

darkolord ::

Vprašanje, če bi sploh vzleteli :D

gfighter ::

Avione tako gradijo že kar nekaj časa, brez tega ne bi lovci nikoli dosegali supermanevrskih sposobnosti.

OwcA ::

Čeprav kakšen Mig-29 je "precej" okreten tudi brez. Bi rekel, da imajo tu večji vpliv usmerjanje potiska in kanardi.
Otroška radovednost - gonilo napredka.

Zgodovina sprememb…

  • spremenilo: OwcA ()

Daedalus ::

IIRC je prvi lovec, "obtožen" superkrmljivosti Suhoj 27. Medtem ko recimo Suhoj 47 ne more leteti brez konstantnega nadzora računalnika. Če ta odpove - zadeva ne ostane v zraku, ker je tako nestabilen, da ga človeški pilot sam ne more več nadzorovati. Aja, pa Mig 29 mislim da ne pozna usmerjenega potiska...
Največji problem pri avtomatizaciji zračnega prometa je IMO to, da so kaj takega trenutno (še) ne splača in da je bol malo ljudi, ki bi se vsedlo v letalo brez pilota (kot osebe).
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

neoto ::

Ko pravite, da so letala tako narejena, da brez računalnika sploh niso stabilna...
Saj ravno zato, ker noter vgradijo računalnike, si inženirji vzamejo malo več svobode in dajo prioritetu kakšni drugi lastnosti...

gfighter ::

Eh ja, suhoja sem pa pozabil. Sem mislil bolj na ameriške poskuse s supermanevrskimi letali. Tisto je res umetnina na krilih, ki jo še nekatera zahodna letala s trust-vector controlom komaj dohajajo. Drugače pa je tudi Mig-29 dobil omenjeni sistem, vendar ne vem, če je kdaj prišel v bojno uporabo. Drugače so bili precej dobri članki na to temo v Življenje in tehnika že kar nekaj časa nazaj (okoli l. 1998 se mi zdi če koga zanima). No, da povem še kaj ontopic: Razvoj letal ter predvsem brezpilotnih letal IMO samo še pritrjuje mojemu mnenju, da glavne ovire ne bodo tehnološke.

BigWhale ::

Mig29 je brez kanardov in usmerjenega potiska. Vsaj prve verzije. FBW je pa imel implementiran samo za 'Roll', 'Pitch' in 'Yaw' pa sta bila brez FBWja. Ce se prav spomnim.

neoto,

Hm, ni cisto tako. Avion tako dizajnirajo, da je slabse vodljiv, ce si 'mere human', ker ga ne mores obvladovati. Lahko ga pa racunalnik in to precej dobro, s tem pa omogoci marsikateri manever, ki ga sicer ne bi mogel izvesti, ce bi bil avion narejen tako, da bi bil lahek za upravljat.

Sicer pa, prihodnost je najbrz v brezpilotnih letalih. Ta bodo lahko se bolj okretna in manevrsko sposobna. Zdaj morajo biti narejena tako, da pilot sam sebe 'ne spremeni v kaso' (ali pa letala v trske), ko leta okrog. (Tudi tu mu pomaga FBW, ki z vgrajenimi G-limiterji, preprecuje, da bi pilot preobremenil letalo, ki bi se sicer razpadlo v zraku.
1
2
3 4


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo

9/11 - kaj se je dejansko dogajalo

Oddelek: Problemi človeštva
312761 (1978) Barakuda1
»

Stanley, Zmagovalec letošnjega DARPA Challenge

Oddelek: Novice / Znanost in tehnologija
204243 (3525) Roadkill
»

Resnica Pentagona? (strani: 1 2 3 4 )

Oddelek: Problemi človeštva
16314189 (10407) BigWhale

Več podobnih tem