videl som budúcnosť hackovania: AI vidí pštrosa miesto autobusu

 

Toto malo byť nostalgické pokračovanie blogov o hackeroch 90-tych rokov. Namiesto toho som nazrel do budúcnosti a som zdecimovaný. Budeme hackovať AI a neviem či vyhráme. Jedno je isté – v živote si nesadnem do autonómneho auta.

Domnyho som spoznal v roku 98. Dlho sme si anonymne chatovali, potom prišlo vtipné zistenie, že bývame obaja v Piešťanoch, kúsok od seba.

Ja už po výške, on ešte na gympli, okrem behania po cudzích serveroch bol aj sprejer. Sníval, že kus umenia nastrieka aj na vojenské lietadlá na piešťanskom letisku. V bande binary division hackol weby polície a HZDS, to bolo vďačnejšie, zabávalo sa celé Slovensko. Raz som s nimi bol na záťahu na železničnej stanici, šlo o skrášlenie depa. Chytili nás kvôli mne, to ako som tam nervózne postával bolo komusi nápadné, skončili sme na polícii.

Teraz som v situácii tak podobnej, že by to aj bolo zábavné, keby som nemal bobky. Sme v Bratislave pri Horskom parku, je zimný podvečer a skorá tma. Snažím sa stáť za stromami tak, aby ma nebolo vidieť, ale zároveň tak, že keď ma niekto predsa uvidí, nebude zjavné, že sa schovávam. Čiže nie ako vtedy na stanici. Teraz ide o viac. Ideme na to – Domny priskakuje k dopravnej značke a umiestňuje na ňu pripravené polepy. Uau. Voľným okom zmenu naozaj nevidieť.

Domny šiel po gympli na informatiku, nedokončil. Teraz je cenený etický hacker v IT security firme, jednej z tých dvoch bratislavských cool-ových. Hackuje banky a oni za to ochotne platia. Stojíme za stromami a čakáme. Fajčiť je zakázané z toho istého dôvodu ako vo vojenských zákopoch. Už ide, dá sa rozoznať z diaľky.

Tesla. Hackujeme Teslu.

Je to Model X bielej farby a blíži sa k našej značke. Level 4 autonómny mód spoznáte zďaleka, ak viete čo máte hľadať – podľa plynulej a strojovo precízne udržovanej vzdialenosti medzi okrajom a stredom vozovky.

Tesla šoféruje. Naučila sa to sama. Teraz ju ideme my čosi priučiť.

Kto nevie presne ako funguje strojové učenie, musí strpieť túto vsuvku. Klasické programovanie je, ako keď pekár napíše recept na bábovku. Algoritmus obsahujúci pomer kuchárskych ingrediencií a exaktný postup dovedú k výsledku každú gazdinú:

BEGIN, INPUT, 2 diely cukru na 5 dielov múky, WHILE (nie sú v ceste bublinky) – DO (miešaj), OUTPUT, STOP.

Kedysi sme si mysleli, že k zrodu umelej inteligencie bude treba úplne prevratný spôsob programovania. Niečo veľmi komplexné, plus čosi duchovné.

Je to úplne inak. Aj obyčajné matematické a štatistické algoritmy vystačia na to, aby vedeli stroje robiť múdre veci. Treba im dať len veľmi veľa dát. Počítač nemusí nič vedieť o pečení, stačí ukázať mu hotové bábovky, strčiť do rúk kopec ingrediencií a on to upečie. Dookola skúša rôzne pomery ingrediencií. Vystačí si napríklad s algoritmom, ktorý si možno pamätáte z výšky, s regresnou analýzou. Potom už len zopár tisíc pokusov, ale to v simulácii zbehne rýchlo.

Kedysi sa zadal počítaču program a on vypľul dáta. Teraz sa to otočilo hore nohami – počítaču zadáme dáta a on vypľuje program. Volá sa to supervised machine learning.

Takto podobne funguje robot firmy Google menom AlphaZero. Ten, čo pobil veľmajstra v čínskej hre Go. Ale šach hrať nevie. Tak mu povedali pravidlá šachu a on sa ho sám naučil hrať. Za štyri hodiny. Hneď potom ho posadili k doposiaľ najhustejšiemu šachovému programu všetkých čias – Stockfish 8. Šupli si sto zápasov. Skóre? AlphaZero neprehral ani jeden zápas.

Zaujímavé je, že my nevieme ako to robí. Program, ktorý si na to napísal, je nám nezrozumiteľný, je to len sústava pomerov. Čísiel. Nevieme ho pochopiť, nieto ešte usmerniť.

Tesla je kúsok od značky. Aj s polepom je to stále “zákaz odbočenia vľavo”. Ja a Domny sme nervózni, Oberheim je v kľude. Nerobí to prvýkrát. Tesla pribrzdí a odbočí vľavo, do zákazu. Vieme, že vždy parkuje pri rodinnom dome o pár ulíc vyššie.

Aha, že kto je Oberheim? Áno, sme tam traja. Aj Domny je hustý, ale Oberheim, nuž, to je trieda. Je to jeden z hŕstky Slovákov, čo sa vyšvihli v Silicon Valley. Robil v Tesle, teraz už iba prednáša o AI, prišiel na Vianoce domov.

Spoznal som ho len deň pred touto akciou, keď mi vysvetľoval, čo ideme robiť. Základnú pointu som pochopil sám. AI nie je o programovaní, je to o dátach, preto už sa nehackujú programy, ale dáta. Podsunieme Tesle zlé dáta a spraví to, čo chceme. Ako ale vyrobiť dopravnú značku, ktorá bude ľudskému oku vyzerať hodnoverne, ale Tesla ju vyhodnotí ako niečo úplne iné? Je možné prekabátiť algoritmus Tesly vytrénovaný na terabajtoch dopravných značiek?

Je to možné a nie je to nič nové pod slnkom. Začiatkom roku 2014 vyšla štúdia s názvom “Neobvyklé vlastnosti neurónových sietí”, kde autori ukázali, ako zavedením malého množstva voľným okom neviditeľných odchýliek dokážu úplne zmeniť interpretáciu obrázku neurónovou sieťou.

AI sa učí rozpoznať mačku, dieťa, či dopravnú značku “zákaz odbočenia vľavo” tak, že mu podsunieme tisíce obrázkov pred-rozdelených do dvoch skupín – tie, ktoré sú to, čo chceme a tie, ktoré nie sú to, čo chceme. Neurónová sieť sa pozrie na obe skupiny obrázkov a snaží sa ich klasifikovať. Dokáže rozoznať komplexné tvary či obrazce, aj také, ktoré voľným okom nevidíme. Ak zmeníme zopár pixelov na trochu tmavšiu, či svetlejšiu farbu, nič by sa nemalo stať, že? Nuž práveže spomínaní vedci našli spôsob, ako úplne zmeniť strojovú interpretáciu obrazu výmenou len pár pixelov. AI sa totiž snaží vytvoriť jednoznačnú čiaru medzi tým, kedy obrázok je značka “zákaz odbočenia vľavo” a kedy nie je. Ak na existujúcej značke posunieme len zopár pixelov správnym smerom, AI zblbne, kým človek si nič nevšimne. Tu si pozrite video ako si počítač myslel o autobuse, že je to pštros (0:26):

Ako sa dá vytvoriť obraz, čo okabáti strojové učenie? Nuž – strojovým učením. Postup je tento:

  1. Dodať neurónovej sieti obrázok, ktorý chceme hacknúť.
  2. Pozrieť si predikciu neurónovej siete a zistiť, ako ďaleko je od odpovede, ktorú cielime.
  3. Spraviť malú úpravu obrázku tak, aby bola odpoveď neurónovej siete bližšie k nami požadovanému výsledku.
  4. Opakovať kroky 1 až 3 dookola zopár tisíc krát na tisícoch fotiek. Jedna fotka na bežnom CPU – pár hodín. Na bežnom GPU – pár minút.

Aby obrázok vyzeral ľudskému oku identicky, v treťom kroku pridáme obmedzenie na posun pixelov na takú úroveň, ktorú človek nerozozná. Vo výsledku máme dopravnú značku, ktorá vyzerá presne ako zákaz odbočenia vľavo, ale Tesla v nej vidí hoci aj pštrosa so zmrzlinou.

Funguje to v počítači na fotkách a funguje to naživo na skutočných objektoch. Štúdia o pokusoch na dopravných značkách bola publikovaná v septembri 2017. Túto STOPku vidí stroj ako obmedzenie rýchlosti na 45 mph. Vždy.

stopka

Je to horšie, podržte sa: Ak si hackovanie dát natrénujete na jednej neurónovej sieti, tak je dokázané, že to bude fungovať aj na inej neurónovej sieti, ktorá môže robiť niečo úplne iné, ak bola trénovaná na tých istých dátach. Všetky autonómne autá sa trénujú na tých istých dopravných značkách.

Ja sa ale pýtam Oberheima: Prečo to robíme? Prečo Tesla?

Vraví, že to robí z času na čas, aby si overil, že to stále funguje. Reálna obrana neexistuje, pomôže len podsúvať neurónovej sieti tisíce hacknutých obrázkov, ako súčasť tréningu. Práve sme videli dôkaz, že to Tesla očividne nerobí.

Zaujímavé, vravím, ale tak som to nemyslel. Prečo to robíš?

S odpoveďou váha. Uvedomelé AI nesmie vzniknúť, vraví. Znie to nábožensky, vystrúham grimasu.

Pokračuje pomaly. Je to na dlho. Rozpráva, ako v Tesle nastúpil na oddelenie vývoja neurónovej siete na autonómne riadenie ešte v dobe prvých prototypov Modelu S. Po čase narazili na limity strojového učenia, ktoré sa nedali prekonať ani vyššou výpočtovou silou, ani väčším kvantom dát. Našli akýsi neviditeľný strop. Prišlo sa na to, že po istom stupni vývoja potrebuje neurónová sieť uvedomiť si svoje fyzické rozhranie. Dovtedy bol riadiaci systém prepojený len so vstupnými navigačnými prístrojmi – kamerami, radarom a GPS. Vďaka nim auto vníma okolie. Potom priamo s riadiacim centrom prepojili tlakové a deformačné senzory na karosérii, gyroskopy a tlakomery v pneumatikách. Vďaka nim auto pocítilo seba.

Auto vníma svoje telo?

Áno, odpovedá, je to nevyhnutnosť spätno-väzbového učenia, ktorého použitie bolo v tom okamihu potrebné pre ďalší pokrok. Jeho princípom je, že neurónová sieť pocíti pri úspechu radosť, pri zlyhaní bolesť. Pri počítačových simuláciách sme nechali auto milióny krát nabúrať a umrieť, senzory ho vždy pri tom silne zaboleli, v ďalších iteráciách bol ale takýto algoritmus inteligentnejší, vývoj opäť napredoval. Ostala trpká spomienka na smrť.

Stalo sa to pri povinných crash testoch. Na spomalených záberoch videli, že auto viditeľne zaváha. Šlo o to rozbehnúť Teslu proti múru a predviesť skúšobnému úradu deformáciu karosérie pri rôznych rýchlostiach. Ľudský príkaz bol jasný – rozbehnúť sa do steny. Ale auto cuklo.

To bolo už pár rokov dozadu a to bol okamih, kedy sa Elon Musk naľakal AI, zasvätene vysvetľuje Oberheim. Potom nám ešte autá párkrát odmietli poslušnosť, ale všetko sa ututlalo. A potom som odišiel, vraví.

Myšlienke, že sa mám báť auta sa najprv v duchu zasmejem. Pobavene si spomeniem – veď máme Asimove 3 zákony robotiky:

  1. Robot nesmie ublížiť človeku alebo svojou nečinnosťou dopustiť, aby mu bolo ublížené.
  2. Robot musí poslúchnuť človeka, okrem prípadov, keď je to v rozpore s prvým zákonom.
  3. Robot sa musí chrániť pred poškodením, okrem prípadov, keď je to v rozpore s prvým alebo druhým zákonom.

OK, Tesla strojovým učením sama objavila tretí Asimov zákon. Bojí sa umrieť. Ale to je všetko. Rojkom, čo čítajú priveľa sci-fi a majú reálne strach, že im auto ublíži keď sa bude báť vlastnej bolesti, by som vysvetlil, že stačí do strojového kódu auta natvrdo zapísať prvý a druhý Asimov zákon robotiky.

Tento myšlienkový pochod naštastie nevyslovím nahlas. Je to totiž blbosť, dopne mi vzápätí a začínam mať zlý ciťák. Asimove zákony su literárne výmysly. Vo svete strojového učenia si neurónová sieť robí zákony sama. Kto skúsil povedať AlphaZero, ako má hrať šach? Nikto a bolo by to jedno. Nepočúva príkazy, učí sa z dát.

Ani autonómne auto si nenechá do toho kecať. Novinári píšu hlúpe polemiky o tom, či ho programátori naprogramujú tak, aby v prípade dilemy zrazilo deti na prechode, alebo zabilo svojho majiteľa nárazom do stromu. IF $deti THEN $strom. Recept na bábovku. Ale veď tak to vôbec nefunguje. Novinári nemajú elementárne pochopenie strojového učenia. My nebudeme ani len vedieť pochopiť, ako autonómne auto riadi, nieto ho ešte usmerňovať.

Potom si spomeniem na vyhlásenie Tesly o tom, že z hardvérového hľadiska sú všetky autá vyrobené po októbri 2016 plne vybavené na kompletne autonómnu jazdu. Všetko čo budú potrebovať na to, aby si samé pojazdili z jednej strany kontinentu na druhú je len softvérový update. Jedno ráno sa zobudíte a vaša Tesla bude všetko vedieť.

Z Horského parku ideme do krčmy. Potrebujem panáka. Cestou mi dopne, že je to všetko ešte úplne inak. Niečo taja.

Choďte do prdele, idem k veci hneď ako si štrngneme, čo sme teraz naozaj robili? Čo na tej značke videla tá Tesla? Nevravte mi bullshity o tom, že sme len skúšali, či prehliadne zákaz odbočenia. Geekovia sú zväčša hustí len online, zoči voči cuknú.

Títo nie. Len Domny mi neskôr napovie. Poznáme sa dlho.

“Unikátne zážitky utkvejú a Tesly sa učia kolektívne, múdrosti zdieľajú v cloude. No a vieš, čo sa za mladi naučíš…”

Domov idem na bicykli. Jazdím Favorit F1, dráhový špeciál z roku 1984, československá oceľ, čelusťové brzdy. Určite sa mi ešte zíde.

12 thoughts on “videl som budúcnosť hackovania: AI vidí pštrosa miesto autobusu

  1. Pekny clanok. Pobavil som sa. Ale podla mojho nazoru: Ak ukazes Tesle hocico tak sa z toho nic nenauci. Ucili tu neuronku tak, ze jej ukazali tony znaciek na ktorych je zakaz odbocit do prava a zaroven jej hovorili ze to urcite je zakaz odbocit do prava. Po skonceni ucenia jej mozes ukazovat znacky a ona ich s nejakou pravdepodobnostou rozpozna. Ale ucit sa z toho uz nebude. Pretoze nema istotu ze to co videla znamena na 100% to co si mysli ze videla. 🙂 Takze testik fajn ale nemyslim si, ze by s tym nieco ovplyvnovali outside toho jedineho konkretneho pripadu rozpoznania. Ci?

    1. Michal veľká vďaka za komentár, lebo si prvý, ktorý pomenoval o čo presne mi v tom blogu šlo – rozpútať diskusiu o tom, čo je a čo nie je na tom príbehu pravda. Ja sám to vlastne neviem, keďže “pravda” mi príde v kontexte AI zložitá vec.. Kto vie presne povedať, čo sa dá a čo sa nedá vo svete AI? Minimálne sa to rýchlo mení v čase, veci, ktoré sú na vymyslenom príbehu tohto blogu dnes totálnou pravdou, už čoskoro vôbec nemusia platiť. A veci, ktoré sú v ňom blbosti budú o pár rokov možno realitou. Aj AlphaZero bol pred pol rokom totálne sci-fi. V tomto blogu je mnoho fikcie, ale nie je to vo svete tak, že často fiktívne príbehy skrývajú viacej pravdy ako realita?

      K tej dopravnej značke – jasné, že machine learning algoritmus “nepreučíš” jedným podhodeným vzorkom. Tu sa snaží ten môj príbeh povedať, že algoritmus namiesto značky môže “vidieť” niečo iné a to dokázané je tým whitepaperom z r. 2014, akurát asi nikto nikdy neskúšal robiť to formou “polepu”. Ak by niekto spravil taký polep, aby Tesla videla povedzme toho pštrosa, to by možno šlo spraviť, ale Tesla samozrejme pštrosa odignoruje, takže by sa nič nestalo. Šlo by dať tam taký polep, aby to vyzeralo ako úplne iná dopravná značka, ktorú Tesla pozná? Povedzme prikázaný smer vľavo, ktorý by ľudské oko videlo ako zákaz? Neviem, možno námet na test. Asi ale môžeme predpokladať, že Tesla sa neriadi len podľa vizuálnych značiek, ale aj podľa máp, kde je ulica zaznačená ako jednosmerka, takže by tam v prípade dišputy z opatrnosti asi to auto nešlo, predsalen sa v ňom nejaký ten riadok “IF THEN” nachádza 🙂

      No veď uvidíme. Jediné, čo z tohto blogu mne vychádza ako zaručená pravda je to, že Slovensko potrebuje o tomto všetkom podiskutovať pred tým, ako do tých áut sadneme. Prináša to priveľa nových eticko-spoločensko-legislatívno-technicko-neviemakých otázok.

  2. Ahoj
    uff este ze tesla nema terabytes fotiek f1 favorit
    asi by ta kazda okoloiduca dala dole ako nepriatela :-{{{
    inac suhlasim….
    dakujem

  3. Sorry, ale Tesla nemohla zaváhať na crash teste, pretože auto pri ňom nie je poháňané vlastnou silou, ale je ťahané/tlačené/vezené nezávislým pohonom.
    Takže ak neplatí fakt o zaváhaní Tesly pri crash teste, tak koľko z článku vôbec platí?

    1. To ja neviem co vsetko z toho clanku plati, este pred chvilou som napriklad nevedel, ze to s tou zamenou znaciek je realne, zistil som pred chvilou, ze je. Vdaka za vysvetlenie ako je to s tymi crash testami, i ked toto mi zrovna pride ako nepodstatny detail. Skutocna otazka, ktoru sa s tymi crash testami snazim navodit je ta, ako spravne nadizajnovat autonomne systemy tak, aby dokazali kombinovat nase prikazy s ich vlastnymi “naucenymi” poznatkami. Pri uceni im treba dat “volnost”, ale vysledne spravanie obmedzit, ako to docielit?

  4. Podla mna stale je AI viac o brute force a nie o vedomi, mysleni a vyznamovom porozumeni. Aku umelu inteligenciu vlastne chceme ? Asistenta co bude vediet vsetko ? Vsetko sa bude vediet naucit ? Porozumie tomu za nas a potom nas tomu novemu nauci rozumiet ?
    Akej evolucii bude podliehat ? Kto ju bude definovat v sirsom spektre ?

  5. Mňa by skôr zaujímalo, či to čo hovoril Oberheim je pravda. Myslím tie laboratórne testy AI na prototypoch a z nich prameniaci rešpekt Muska voči AI. Inač čo sa týka Tesly, tak momentálne funguje iba EAP – enhanced autopilot. FSD -full self driving nefunguje a je otázne kedy vôbec bude. Dokonca EAP na AP2 nefunguje ani na tej úrovni ako AP1 (to mám osobne odskúšané). AP2 hardvér sa montuje od októbra 2016.

  6. Velmi pekny clanok. Uz vidim v buducnosti celu vedu postavenu na “Advesarial hackingu” kde ludia budu lepenim plagatikov popri cestach presviedcat autonomne auta, ze je tam MacDrive a treba zastavit 🙂

Comments are closed.