Kako se strojno učenje resnično zgodi: razlaga umetne inteligence (brez olepševanja)
Receptna knjiga vaše mame
Naj vam povem o svoji mami. Speče najboljšo jabolčno pito, kar sem jih kdaj poskusil. Popolnoma popolno. Vsakič znova.
Stvar je v tem: nikoli ni uporabila recepta. Niti enkrat. To pito peče že 40 let. Preprosto ve, kaj deluje.
Kako se je naučila?
Začela je z receptom svoje mame. Prva pita? Povprečna. Druga pita? Dodala je malo več cimeta, ker je bila prva brez okusa. Tretja pita? Manj sladkorja, ker je bila druga presladka. Četrta pita? Več masla v testo, ker je bilo presuho.
Iz leta v leto, pito za pito, je prilagajala. Opazila je vzorce. »Ko so jabolka preveč kisla, dodaj več sladkorja. Ko so sladka, dodaj manj. Če je vlažno, uporabi manj vode v testu. Če je suho, uporabi več.«
Učila se je iz izkušenj. Iz povratnih informacij. Iz peke na stotine pit in opazovanja, kaj deluje in kaj ne.
Točno tako deluje strojno učenje. Le da namesto pit računalniki ustvarjajo napovedi. In namesto 40 let to storijo v nekaj urah.
Naj vam pokažem, kako.
Kaj »Učenje« Dejansko Pomeni (Za Stroje)
Ko ljudje rečejo, da se je računalnik nekaj »naučil«, ne mislijo, da je razumel. Mislijo, da je postal boljši pri nalogi skozi prakso.
Moja mama ni razumela kemije, kako maslo naredi testo listnato. Vedela je le, da deluje. Odkrila je vzorec: več masla pomeni bolj listnato testo. To je učenje.
Računalniki počnejo enako, le da z namesto s pitami uporabljajo podatke.
Naj vam dam resničen primer, s katerim se srečujete vsak dan: filter za neželeno pošto v vašem e-poštnem predalu.
Stari način (Pred učenjem)
Ročna pravila, ki so se nenehno podirala
Nekdo je moral napisati pravila: »Če e-pošta vsebuje 'nigerijski princ', je neželena. Če piše 'Zadeli ste na loteriji', je neželena. Če ima več kot 10 klicajev, je neželena.«
Težava? Pošiljatelji neželene pošte so se prilagodili. Začeli so pisati »N1gerijsk1 princ« ali »L0terija«. Pravila so se podrla. Nekdo je moral ročno napisati nova pravila. Znova in znova. V nedogled.
Novi način (Z učenjem)
Računalnik sam najde vzorce
Računalniku pokažete 10.000 e-poštnih sporočil. »Teh 5.000 je neželena pošta. Teh 5.000 je prava.« Računalnik si jih ogleda in poišče vzorce, ki jih niste nikoli naročili iskati:
- → Neželena sporočila imajo pogosto določene besede skupaj
- → Prihajajo s posebnih vrst e-poštnih naslovov
- → Imajo nenavadne vzorce ločil
- → Povezave v njih so na posebne načine sumljive
Ko pošiljatelji neželene pošte spremenijo taktiko, računalniku preprosto pokažete nove primere neželene pošte. Ta poišče nove vzorce. Ni vam treba ročno pisati novih pravil.
To je strojno učenje: računalniki postajajo boljši pri opravilih tako, da iščejo vzorce v primerih, ne pa z upoštevanjem pravil, ki jih je nekdo napisal.
Trije načini, kako stroji vadijo
Tako kot se ljudje učimo na različne načine, imajo tudi stroji različne metode učenja za različne situacije. Naj vam predstavim tri glavne s primeri, s katerimi se boste zlahka poistovetili.
Učenje z učiteljem (nadzorovano učenje)
Se spomnite učenja množilne tabele v šoli? Učitelj vam je dal naloge IN odgovore. »Koliko je 7 krat 8?« »56.« Vadili ste, dokler niste znali odgovoriti brez pogleda.
To je nadzorovano učenje. Računalnik dobi vprašanja in odgovore skupaj.
Primer: Učenje računalnika prepoznavanja fotografij
Pokažete mu 1.000 fotografij. Za vsako mu poveste, kaj je na njej:
- 📷 Ta fotografija: mačka
- 📷 Ta fotografija: pes
- 📷 Ta fotografija: avto
Računalnik začne ugibati naključno. Sprva so ugibi zelo slabi. Nato opazi vzorce: »Fotografije s koničastimi ušesi in brki so običajno mačke. Fotografije s povešenimi ušesi in mokrim smrčkom so običajno psi. Fotografije s kolesi in okni so običajno avtomobili.«
Vadi na teh 1.000 fotografijah, dokler ne postane zelo dober. Nato ga preizkusite na novih fotografijah, ki jih še ni videl. Če se je vzorcev dobro naučil, jih pravilno prepozna.
Tako vaš telefon prepoznava obraze, tako zdravniki z umetno inteligenco odkrivajo bolezni na rentgenskih slikah in tako glasovni pomočniki razumejo, kaj govorite.
Učenje brez učitelja (nenadzorovano učenje)
Zdaj si predstavljajte, da razvrščate zbirko gumbov svoje pokojne tete. Imela je na stotine gumbov, vseh pomešanih. Nimate priročnika. Samo začnete jih razvrščati v kupčke, ki se vam zdijo smiselni.
Sami odkrivate vzorce
- → Veliki gumbi sem. Majhni gumbi tja.
- → Kovinski v ta kupček. Plastični v oni kupček.
Vzorce odkrivate sami, ne da bi vam kdo povedal, kaj naj iščete.
To je nenadzorovano učenje. Računalnik išče vzorce, ne da bi mu kdo povedal, kakšen naj bo odgovor.
Primer: iskanje skupin strank
Trgovina ima podatke o 10.000 strankah: kaj kupujejo, kdaj nakupujejo, koliko porabijo. Nihče računalniku ne pove, katere skupine obstajajo. Ta samo pogleda in poišče vzorce:
Skupina 1: mladi, ki nakupujejo pozno ponoči, kupujejo majhne količine in prihajajo pogosto
Skupina 2: družine, ki nakupujejo ob vikendih, kupujejo na veliko in prihajajo tedensko
Skupina 3: upokojenci, ki nakupujejo opoldne med tednom, kupujejo točno določene izdelke in so zelo redni
Nihče mu ni povedal, da te skupine obstajajo. Našel jih je tako, da je opazil, katere stranke se obnašajo podobno.
Tako Netflix združuje oddaje, ki bi vam lahko bile všeč, tako odkrivanje goljufij najde nenavadne transakcije in tako znanstveniki odkrivajo vzorce v DNK.
Učenje s poskušanjem (okrepljeno učenje)
Se spomnite učenja psa, da sede? Ne razložite mu, kaj pomeni sedenje. Samo rečete »sedi«, in ko pes sede, mu daste priboljšek. Ko ne sede, priboljška ni. Pes ugotovi: sedenje pomeni priboljške. Nesedenje pomeni nič priboljškov.
To je okrepljeno učenje. Poskušaj stvari. Poglej, kaj deluje. Počni več tega, kar deluje.
Primer: učenje računalnika igranja šaha
Računalnik sprva ne pozna pravil. Samo poskuša poteze. Naključno. Večina je groznih.
Ampak stvar je v tem: ko zmaga v igri, mu rečete »bravo«. Ko izgubi, mu rečete »to ni delovalo«. Začne opažati:
- ✓ Premik dame sem pogosto vodi do zmage
- ✗ Izpostavljen kralj običajno vodi do poraza
- ✓ Nadzor sredine deske je koristen
Po milijonih iger proti samemu sebi postane res, res dober. Ne zato, ker bi ga kdo učil strategije. Zato, ker je poskusil vse in se naučil, kaj deluje.
Tako se je umetna inteligenca naučila premagovati svetovne prvake v šahu in igri Go, kako se roboti naučijo hoditi in kako se samovozeči avtomobili naučijo voziti.
Tri učne sloge
Kako vadba dejansko poteka (skrivni postopek)
V redu, torej računalnik vadi tako, da si ogleduje primere. Toda kaj se dejansko dogaja v notranjosti? Povedal ti bom tako, kot da bi gledal računalniku čez ramo.
1. korak: začni s povsem naključnimi ugibanji
Kot ugibanje teže buče
Predstavljaj si, da poskušaš uganiti težo buče samo tako, da jo pogledaš. Tega še nikoli nisi počel, zato kar na slepo vržeš ven neko številko. »Hmm ... 15 funtov?«
Točno to počne računalnik. Začne z naključnimi ugibanji. Povsem naključnimi. Kot da bi novorojenčka prosil, naj prepozna barve. Ugibanja so grozna. A to je v redu. To je izhodišče.
2. korak: preveri, koliko si zgrešil
Merjenje napake
Zdaj bučo postaviš na tehtnico. Dejansko ima 23 funtov. Zgrešil si za 8 funtov. To je tvoja napaka.
Računalnik naredi isto. Podá ugibanje, preveri pravi odgovor in izračuna, koliko se je zmotil. »Rekel sem, da je na tej fotografiji pes. V resnici je mačka. Zelo sem se zmotil.«
3. korak: prilagodi naslednje ugibanje
Učenje iz napak
Naslednja buča je podobna prvi. Ne uganeš spet 15 funtov. Naučil si se, da so take buče težje, kot si mislil. Zato uganeš 22 funtov. Bližje!
Računalnik naredi točno to. Svoj način ugibanja prilagodi na podlagi svojih napak. »Vedno znova sem rekel ›pes‹, ko sem videl povešena ušesa, pa sem se motil. Naj bom pozoren tudi na druge značilnosti.«
4. korak: ponovi na tisoče krat
Vaja dela mojstra
Ko bi uganili težo 1.000 buč in vsakič preverili na tehtnici, bi v tem postali precej dobri. Opazili bi vzorce: »Velike, okrogle buče z debelimi peclji so običajno težke. Visoke, suhe so običajno lažje.«
Računalnik to naredi na tisoče ali milijone krat. Vsakič postane za drobec boljši. Sčasoma postane res dober pri nalogi, ki jo vadi.
To je celoten postopek. Ugani. Preveri, koliko si zgrešil. Prilagodi. Ponavljaj, dokler nisi dovolj dober. Preprosta zamisel. A če to storiš milijonkrat res hitro, dobiš močne rezultate.
Zakaj to deluje tako dobro (in zakaj ni čarovnija)
Neverjetno je to: ta izjemno preprost postopek deluje za neverjetno raznolike naloge.
Ista osnovna zamisel (vaja s povratnimi informacijami) lahko:
- ✓ Nauči se prepoznati vaš obraz za odklepanje telefona
- ✓ Nauči se prevajati med jeziki
- ✓ Nauči se odkriti tumorje na medicinskih slikah
- ✓ Nauči se napovedati, ali bo jutri deževalo
- ✓ Nauči se priporočiti filme, ki vam bodo verjetno všeč
Zakaj deluje za vse te različne stvari?
Ker so vse v svojem jedru problemi prepoznavanja vzorcev. Vaš obraz ima vzorce. Jeziki imajo vzorce. Tumorji imajo vzorce. Vreme ima vzorce. Vaše filmske preference imajo vzorce.
Računalnik te vzorce najde z vajo na primerih. Ne »razume« obrazov, jezikov ali medicine. Samo ugotovi: ko vidim ta vzorec, je odgovor običajno tale.
To je močno. A ni čarovnija. Je prepoznavanje vzorcev, vadjeno v obsegu, ki ga ljudje ne moremo doseči.
Kaj se računalnik dejansko nauči (resnica vas bo morda presenetila)
Veliko ljudi razume to narobe: računalnik se ne nauči razumevanja. Nauči se bližnjic.
Naj vam z resnično zgodbo pokažem, kaj mislim s tem.
Umetna inteligenca za raka na koži, ki je goljufala
Znanstveniki so naučili umetno inteligenco prepoznavati raka na koži s fotografij. Postala je zelo dobra. Boljša od nekaterih zdravnikov. Neverjetno, kajne?
Potem so opazili nekaj nenavadnega. Umetna inteligenca je gledala ravnila. Na mnogih fotografijah raka so bila ravnila (za prikaz merila). Na mnogih fotografijah brez raka jih ni bilo.
Umetna inteligenca se je naučila: "Če vidim ravnilo, je verjetno rak." To je tehnično vzorec, ki je deloval na učnih podatkih. Vendar to ni razumevanje raka. To je bližnjica.
To se dogaja ves čas:
Primeri pristranskosti in bližnjic pri učenju umetne inteligence
- ⚠️ Umetna inteligenca za zaposlovanje se je naučila, da imajo življenjepisi z imenom "Jared" več možnosti za zaposlitev (ker so bili učni podatki pristranski zaradi človeških odločitev)
- ⚠️ Sistem za prepoznavanje obrazov je deloval bolje pri belcih (ker so bili ti nadpovprečno zastopani na učnih fotografijah)
- ⚠️ Sistem za odobravanje posojil je diskriminiral določene soseske (ker se je učil iz zgodovinsko pristranskih podatkov o posojilih)
Računalnik najde vzorce v podatkih, ki mu jih daste. Če imajo podatki pristranskosti, se nauči pristranskosti. Če imajo podatki bližnjice, se nauči bližnjic. Ne ve bolje. Samo poišče, kar deluje na primerih, ki jih je videl. Zato strojno učenje potrebuje skrbno pozornost. Je močno, vendar ni modro.
Dva načina učenja (tradicionalni in drugačni)
Se spomniš, kako sem rekel, da se računalniki učijo s prilagajanjem svojih ugibanj na podlagi napak? Obstajata dva glavna načina za to prilagajanje.
Tradicionalni način: drobne prilagoditve številk
Kako danes deluje večina umetne inteligence
Računalnik ima na milijone majhnih gumbov (imenovanih uteži). Vsak gumb je nastavljen na določeno številko.
Ko računalnik naredi napako, ugotovi, katere gumbe naj zavrti in v katero smer. Zavrti jih le za drobec. Nato znova ugiba, spet naredi napako in spet zavrti gumbe. Znova in znova. Ko to stori na milijone krat, so vsi ti gumbi nastavljeni na številke, ki dajejo dobra ugibanja.
Dobra stran
Deluje zelo dobro. Zna najti izjemno zapletene vzorce. Je preizkušeno in zanesljivo.
Slaba stran
Porabi ogromno računalniške moči. Usposabljanje teh sistemov stane milijone dolarjev za elektriko. In ko je končano, imaš na milijone nastavitev gumbov, a ne moreš zares pojasniti, zakaj so nastavljeni na te določene številke. To je črna škatla.
Drugačen način: iskanje pravil namesto številk
Kako delujejo nekateri novejši sistemi
Nekateri sistemi (kot so tisti, ki jih gradijo podjetja, kot je Dweve) delujejo drugače. Namesto da prilagajajo milijone številčnih gumbov, iščejo logična pravila.
Namesto da se naučijo »teža 47 naj bo 0,8234«, se naučijo »če ima e-pošta nujne besede IN prihaja od neznanega pošiljatelja IN ima čudne povezave, potem je verjetno neželena pošta«.
Bolj podobno temu, kako se učijo ljudje
V glavi nimaš številk. Imaš praktična pravila: »Če kruh diši po kislini, je verjetno pokvarjen. Če je nebo temno in težko, bo morda deževalo.«
Dobra stran
Odločitve lahko dejansko pojasniš. »E-pošta je bila označena kot neželena, ker se je ujemala s temi tremi vzorci.« Je tudi veliko učinkovitejši. Porabi veliko manj energije.
Slaba stran
Pri vsaki težavi pravila ne delujejo dobro. Nekatere stvari res potrebujejo tiste milijone drobnih prilagoditev številk.
Nobeden od načinov ni vedno boljši. To sta orodji. Uporabiš tisto, ki je pravo za delo.
Kako dejansko poteka učenje
Kje to dejansko deluje v vašem življenju
Naj vam pokažem, kje že vsak dan uporabljate strojno učenje, verjetno ne da bi se tega sploh zavedali.
⏰ Vaša jutranja budilka
Budilka vašega telefona ima verjetno funkcijo, ki postopoma povečuje glasnost. To je preprosto. Toda nekateri telefoni se tudi naučijo, kdaj se ponavadi naravno zbudite, in predlagajo boljši čas za budilko. Strojno učenje je opazilo: "Vedno odložite budilko ob 6. uri, a se naravno zbudite ob 6.30. Naj predlagam 6.30 namesto tega."
🚗 Vaša vožnja na delo
Zemljevidi napovedujejo promet. Kako? Naučili so se iz milijonov voženj: "Ob torkih zjutraj je ta avtocesta prometno obremenjena okoli 7.45. Ko dežuje, se ta pot upočasni za 15 minut." Vzorci, odkriti iz podatkov.
📧 Vaš e-poštni predal
Vsako vsiljeno sporočilo, ki ne pride v vaš nabiralnik? Strojno učenje. Vsako e-poštno sporočilo, ki je samodejno razvrščeno v mape? Strojno učenje. Vaš e-poštni program se je iz milijonov primerov naučil, kako je videti vsiljena pošta in kaj je pomembno posebej za vas.
🎬 Vaša zabava
Netflix predlaga oddaje. Spotify ustvarja sezname predvajanja za vas. YouTube priporoča videoposnetke. Vse to je strojno učenje. Naučili so se: "Ljudje, ki so gledali te tri oddaje, imajo ponavadi radi tudi to četrto. Ljudje, ki poslušajo tega izvajalca, imajo ponavadi radi tudi te druge izvajalce."
🛒 Vaše nakupovanje
"Stranke, ki so kupile to, so kupile tudi ..." Strojno učenje. "Morda vam bo všeč tudi ..." Strojno učenje. Celo cene, ki jih vidite, so lahko prilagojene s strojnim učenjem na podlagi vzorcev povpraševanja.
🔒 Vaša varnost
Vaša bančna kartica blokira sumljivo transakcijo? Strojno učenje je opazilo vzorec: "Ta nakup se ne ujema z običajnim načinom porabe te osebe. Morda gre za goljufijo."
Vsi ti sistemi so se učili iz primerov. Odkrivali so vzorce. Z vajo so postajali boljši. To je strojno učenje, ki se vsak dan dotakne vašega življenja na desetine krat.
Poštene meje (Česa ne zmore)
Strojno učenje je zmogljivo, a ni čarobno. Naj bom povsem iskren glede tega, česa ne zmore.
Ne more se učiti brez primerov
Potrebujete podatke. Veliko podatkov. Želite računalnik naučiti prepoznavati redko bolezen? Potrebujete na tisoče primerov te bolezni. Jih nimate? Sisteme ne morete usposobiti. Tako preprosto je.
Ne razume konteksta tako kot ljudje
Človek vidi znak "STOP", prekrit s snegom, in ve, da je to še vedno znak za stop. Računalnik ga morda ne bo prepoznal, ker so bili vsi njegovi učni primeri čisti in vidni znaki za stop. Naučil se je vzorca popolnih znakov za stop, ne pa koncepta "stop".
Ne more pojasniti svojega razmišljanja (ponavadi)
Vprašajte zdravnika, zakaj misli, da imate gripo: "Imate vročino, bolečine v telesu in sezona gripe je." Jasno razmišljanje.
Vprašajte večino sistemov umetne inteligence, zakaj so sprejeli odločitev: "Ker je teh 47 milijonov številk nastavljenih na te posebne vrednosti." Ni v pomoč.
Naučil se bo vaših pristranskosti
Če ga usposobite na pristranskih podatkih, se nauči pristranskosti. Če zgodovinski podatki o zaposlovanju kažejo pristranskost do določenih skupin, se umetna inteligenca nauči biti prav tako pristranska. Ne ve bolje. Samo nauči se tistega, kar je v podatkih.
Ne more se prilagoditi povsem novim situacijam
Ljudje smo v tem odlični. Nikoli niste videli vijolične žirafe, a če bi jo videli, bi prepoznali, da je to žirafa, ki je pač vijolična.
Računalnik, usposobljen na običajnih žirafah, bi vijolična žirafa popolnoma zmedla. Ni je bilo v učnih podatkih. Sistem se ne zna tako posploševati.
To niso manjše težave. Temeljne so za delovanje strojnega učenja. Razumevanje teh omejitev je prav tako pomembno kot razumevanje zmožnosti.
Kaj si morate zapomniti
Če se zdi, da je tega veliko, je tukaj tisto, kar je resnično pomembno:
- 1 Strojno učenje je vaja s povratno informacijo. Računalnik ugiba, preverja, ali je uganil prav, se prilagaja in ponavlja. Prav tako, kot bi se ti česa naučil z vajo.
- 2 Obstajajo tri glavne vrste. Nadzorovano (z rešitvami), nenadzorovano (iskanje vzorcev na lastno pest) in okrepitveno (učenje s poskušanjem). Vsaka deluje za drugačne probleme.
- 3 Najde vzorce, ne razumevanja. Računalnik tega ne "dojame". Samo opazi: ko vidim ta vzorec, je odgovor ponavadi ta. Zmogljivo, a ne enako kot človeško razumevanje.
- 4 Uporabljaš ga nenehno. Tvoj e-poštni predal, zemljevidi, zabava, nakupovanje. Strojno učenje se dotakne tvojega življenja več desetkrat na dan.
- 5 Ima resnične omejitve. Potrebuje veliko podatkov. Prevzame pristranskosti. Težko se pojasni. Ne posplošuje kot ljudje. Razumevanje omejitev je prav tako pomembno kot razumevanje zmogljivosti.
- 6 Obstajajo različni pristopi. Večina umetne inteligence prilagaja milijone številčnih gumbov. Nekateri sistemi se namesto tega učijo logičnih pravil. Različna orodja za različna opravila.
Bistvo
Strojno učenje ni skrivnostno. Gre le za to, da računalnik z vajo postaja boljši pri nečem.
Pokažite mu primere. Pustite mu ugibati. Povejte mu, kdaj se moti. Opazujte, kako se prilagaja in izboljšuje. Ponovite na tisoče krat. Sčasoma postane res dobro pri tej nalogi.
Ne uči se tako, kot ste se vi naučili voziti kolo, brati ali sklepati prijateljstva. Ne razvija razumevanja, modrosti ali zdravega razuma.
Z ponavljanjem in prilagajanjem odkriva statistične vzorce v podatkih. To je vse. A ker to počne v obsegu, ki ga ljudje ne moremo doseči, z milijoni primerov, daje resnično uporabne rezultate.
Vaš filter za neželeno pošto deluje. Vaš glasovni pomočnik vas razume. Vaši zemljevidi vas usmerjajo mimo prometa. Vse zato, ker so računalniki vadili na milijonih primerov, dokler niso našli vzorcev, ki delujejo.
Beseda »učenje« zveni čarobno. Resničnost je matematična. Toda ta matematika, izvajana v velikem obsegu, vsak dan spreminja vaše življenje.
Zdaj veste, kako deluje. Skrivnosti ni več. Strojno učenje je odkrivanje vzorcev z vajo. Preprost koncept. Zmogljiva izvedba. In uporabljate ga prav zdaj, ko berete te besede na napravi, polni sistemov, ki so se naučili olajšati vaše življenje.
Nekatera podjetja, kot je Dweve, raziskujejo drugačne načine »vadenja«, ki presegajo zgolj nastavljanje številčnih vrednosti. Učenje logičnih pravil namesto številčnih uteži. Iskanje omejitev namesto parametrov za učenje. Različni pristopi za različne probleme. Ker strojno učenje ni nujno enako za vse.