Neuroverkot: mitä ne ovat, miten ne toimivat ja miksi nimi on harhaanjohtava
Isoisäsi puhelinkeskus
Kuvittele tämä: on vuosi 1950, ja isoisäsi työskentelee puhelinyhtiössä. Mikä on hänen työnsä? Valtavan puhelinkeskuksen operointi. Satoja kaapeleita, tuhansia pieniä pistorasioita, ja hänen kätensä liikkuvat salamannopeasti yhdistäen puheluita toisiinsa.
Näin puhelinkeskus toimi
Joku soittaa leipomosta kukkakauppaan. Isoisäsi kytkee kaapelin pistorasiasta A47 pistorasiaan B23. Puhelu yhdistetty. Joku toinen soittaa kirjastosta postitoimistoon. Toinen kaapeli, toinen yhteys. Koko päivän hän tekee yhteyksiä, reitittää signaaleja ja auttaa tietoa kulkemaan paikasta toiseen.
Kuvittele nyt, että tuo puhelinkeskus voisi oppia. Kuvittele, että tuhansien puheluiden jälkeen se alkaisi huomata kaavoja. Useimmat leipomon puhelut aamulla menevät ravintoloihin. Useimmat koulujen puhelut iltapäivällä menevät vanhemmille. Useimmat sairaalan puhelut ovat kiireellisiä ja niiden pitäisi mennä läpi välittömästi.
Jos tuo puhelinkeskus voisi säätää itseään näiden kaavojen perusteella, reitittäen puheluita tehokkaammin ilman että isoisäsi joutuisi miettimään jokaista erikseen, sinulla olisi jotain hyvin lähellä neuroverkkoa.
Sitä neuroverkko todella on. Ei aivot. Ei älykkyys. Vain hyvin kehittynyt puhelinkeskus, joka oppii harjoituksen kautta, mitkä yhteydet toimivat parhaiten.
Nimi "neuroverkko" saa sen kuulostamaan siltä, kuin rakentaisimme elektronisia aivoja. Emme rakenneta. Rakennamme älykkäitä puhelinkeskuksia, jotka paranevat tiedon reitittämisessä kokemuksen myötä. Näytän sinulle tarkalleen, miten tämä toimii, käyttäen esimerkkejä, joita kuka tahansa voi ymmärtää.
Suuri nimisekaannus (miksi "neuro" on harhaanjohtava)
Kun tutkijat ensimmäisen kerran rakensivat näitä järjestelmiä 1950-luvulla, he katsoivat, miten ihmisaivot toimivat, ja ajattelivat: "Hei, voisimme rakentaa jotain siitä inspiroitunutta." He lainasivat joitakin ideoita ja hienon nimen.
Huono liike.
Miksi nimi on harhaanjohtava
Näiden järjestelmien kutsuminen "neuroverkoiksi" on kuin kutsuisi lentokonetta "mekaaniseksi linnuksi." Kyllä, molemmat lentävät. Kyllä, molemmat ovat saaneet inspiraationsa luonnon tarkkailusta. Mutta lentokone ei räpytä siipiään, sillä ei ole höyheniä, sen ei tarvitse syödä matoja, eikä se muuta etelään talveksi.
Sinun oikea aivosi
- → Noin 86 miljardia hermosolua
- → Jokainen niistä on uskomattoman monimutkainen biologinen solu
- → Tuhansia yhteyksiä jokaista hermosolua kohden
- → Toimii kemian ja välittäjäaineiden varassa
- → Kykenee kasvamaan ja muuttumaan läpi elämäsi
Keinotekoinen "hermosolu"
Se on yksinkertainen matemaattinen operaatio. Kertolaskua ja yhteenlaskua. Siinä kaikki. Se muistuttaa aivosolua suunnilleen yhtä paljon kuin hehkulamppu aurinkoa. Molemmat tuottavat valoa, mutta toinen on valtava ydinreaktioiden pallo ja toinen toimii seinäpistorasiasta tulevalla sähköllä.
Joten kun kuulet sanan "neuroverkko", ajattele vain "kuvioita oppivaa kytkintaulua". Se ei kuulosta yhtä hienolta, mutta on paljon tarkempi kuvaus. Ja kun ymmärrät, mitä nämä järjestelmät todella ovat, ymmärrät myös, mihin ne pystyvät ja mihin eivät.
Oppiva kytkintaulu
Kytkintaulu oppii kaupunkisi soittotottumuksia. Tuhansien puheluiden seuraamisen jälkeen se huomaa, että leipomo soittaa ravintoloihin joka aamu noin kello kuusi. Kun tuo kello kuuden puhelu tulee huomenna, kytkintaulu on valmiina. Se on jo valmistellut parhaan yhteyden, oppinut kokemuksesta ja sopeutunut kaavaan. Juuri näin nämä järjestelmät toimivat. Ne löytävät kaavoja esimerkeistä ja käyttävät niitä nopeuttaakseen ja parantaakseen tulevia yhteyksiä.
The Building Block: One Simple Connection Point
Let's start with the smallest piece of our switchboard: one single connection point. In the fancy terminology, it's called an "artificial neuron." But really, it's just a spot where several wires come together and one wire goes out.
Imagine you're making a decision about whether to take an umbrella when you leave the house. You look at several signals:
The signals you consider
- Is the sky dark and cloudy? (Signal 1)
- Did the weather forecast say rain? (Signal 2)
- Is it the rainy season? (Signal 3)
- Are you carrying other things? (Signal 4)
But not all these signals are equally important. The weather forecast is probably more reliable than just looking at the sky. The rainy season matters more in some places than others. You might weight them mentally:
Tärkeyden punnitseminen
- ● Tummat pilvet: keskinkertainen tärkeys
- ● Sääennuste: erittäin tärkeä
- ● Sadekausi: melko tärkeä
- ● Tavaroiden kantaminen: vähemmän tärkeä
Aivosi tekevät tämän laskelman silmänräpäyksessä. Ne punnitsevat kaikki signaalit tärkeyden mukaan, laskevat ne yhteen ja päättävät: sateenvarjo vai ei sateenvarjoa.
Mitä keinotekoinen neuroni tekee
Keinotekoinen neuroni tekee täsmälleen saman asian, mutta numeroilla. Jokainen saapuva signaali kerrotaan sen tärkeydellä (sen painolla). Kaikki nämä painotetut signaalit lasketaan yhteen. Jos summa on riittävän suuri, tulos on "kyllä, aktivoi." Jos se on liian pieni, tulos on "ei, pysy hiljaa."
Tuossa on yksi neuroni. Kerro muutama luku. Laske ne yhteen. Tarkista, ylittääkö summa kynnyksen. Tulosta kyllä tai ei. Ei mysteeriä. Ei älykkyyttä. Pelkkää aritmetiikkaa.
Ajattele sitä kuin ovimiestä klubilla, joka tarkistaa ikäsi, pukukoodisi ja sen, oletko vieraslistalla. Jokaisella tekijällä on eri painoarvo. Vieraslista? Pääset todennäköisesti sisään. Asialliset kengät? Tärkeää, mutta ei ratkaisevaa. Ovimies laskee kaikki tekijät yhteen ja tekee yhden päätöksen: sisään vai ulos. Tuo on keinotekoinen neuroni. Erittäin yksinkertainen päätöksentekopiste, joka ottaa huomioon useita syötteitä eri tärkeysasteilla.
Pisteiden yhdistäminen: Vaihdekytkimen rakentaminen
Yksi yhteyspiste ei ole kovin hyödyllinen. Isoisäsi vaihdekytkimessä oli tuhansia. Siitä voima tulee.
Kuvittele, että yrität tunnistaa ystäväsi Marian tungoksessa junassa. Aivosi eivät tee tätä päätöstä yhdellä neuronilla. Ne käyttävät tuhansia päätöksentekopisteitä, joista jokainen tarkastelee eri yksityiskohtia:
- Ensimmäisen tason päätökset: Onko se ihminen? Onko se nainen? Suunnilleen oikean pituinen?
- Toisen tason päätökset: Onko hänellä tummat hiukset? Käyttääkö hän silmälaseja? Onko tuo hänen tavallinen takkinsa?
- Kolmannen tason päätökset: Vastaavatko hänen kasvonsa Marian piirteitä? Tuo kävelytyyli näyttää tutulta. Tuo on varmasti hänen laukkunsa.
- Lopullinen päätös: Kaikki palaset sopivat yhteen. Tuo on Maria. Heilauta kättä ja huuda hänen nimeään.
Keinotekoinen neuroverkko toimii samalla tavalla. Se on järjestetty kerroksiin, kuten rakennuksen kerrokset. Tieto kulkee alimmasta kerroksesta (syötekerros) useiden keskimmäisten kerrosten (piilokerrokset) kautta ylimpään kerrokseen (tulostekerros).
Oletetaan, että yrität opettaa tietokoneen tunnistamaan kuvia kissoista. Näin se tapahtuu:
-
1
Syöttökerros (pohjakerros):
Vastaanottaa raa'an kuvan. Jokainen pieni piste (pikseli) kuvassa menee yhteen neuroniin. Pienessä valokuvassa voi olla 10 000 pikseliä, joten tarvitset 10 000 neuronia pelkästään sen vastaanottamiseen. Jokainen neuroni sisältää yhden pienen tiedon: "Minun pikselini on tumma" tai "Minun pikselini on vaalea".
-
2
Ensimmäinen piilokerros (toinen kerros):
Etsii yksinkertaisia kuvioita. Jotkut neuronit innostuvat nähdessään vaakasuoria viivoja. Toiset huomaavat pystysuoria viivoja. Jotkut tunnistavat kaaria tai kulmia. Nämä neuronit eivät vielä tiedä katsovansa kissoja. Ne tietävät vain: "Löysin täältä kaarevan viivan" tai "Huomasin reunan tuolla".
-
3
Toinen piilokerros (kolmas kerros):
Yhdistää yksinkertaiset kuviot monimutkaisemmiksi muodoiksi. "Hei, nämä kaaret ja reunat yhdessä näyttävät terävältä korvalta." "Nämä kuviot tällä tavalla järjestettyinä näyttävät viiksiltä." "Tämä on ehdottomasti silmän muoto." Ei vielä tunnisteta kissoja, vaan ainoastaan kissan osia.
-
4
Kolmas piilokerros (neljäs kerros):
Kokoaa osat kokonaisiksi piirteiksi. "Nämä viikset, tämä nenän muoto, nämä terävät korvat... Olen nähnyt tämän yhdistelmän ennenkin. Tämä alkaa näyttää kissan kasvoilta." Nyt päästään jyvälle.
-
5
Lähtökerros (ylin kerros):
Tekee lopullisen päätöksen. "Kaiken sen perusteella, mitä muut kerrokset löysivät, olen 95-prosenttisen varma, että tämä on kissa. Voi olla koira (3 prosentin mahdollisuus). Ei todellakaan auto (0,001 prosentin mahdollisuus)." Neuroni, jolla on suurin varmuus, voittaa, ja verkko ilmoittaa: "Kissa!"
Jokainen kerros rakentuu edellisen päälle. Yksinkertaisista kuvioista tulee monimutkaisia muotoja. Monimutkaisista muodoista tulee tunnistettavia piirteitä. Piirteistä tulee kokonaisia objekteja. Siinä se taikatemppu on. Ei oikeaa älykkyyttä, vaan todella fiksua yksinkertaisten päätösten kerrostamista.
Oppimisvaihe (miten kytkintaulu älykästyy)
Nyt tulee mielenkiintoinen osuus. Miten verkko oppii, mitkä yhteydet ovat tärkeitä?
Oppiminen on kuin pyykin lajittelu
Kuvittele, että opetat veljenpoikaasi lajittelemaan pyykkiä. Ensimmäisellä kerralla hänellä ei ole aavistustakaan. Hän saattaa laittaa punaisen sukan valkoisten paitojen sekaan. Katastrofi. Vaaleanpunaisia paitoja kaikkialla. Sanot: "Ei, ei, tuo oli väärin. Punainen kuuluu tummien joukkoon, ei valkoisten." Hän säätää sisäisiä sääntöjään. Seuraavalla kerralla hän onnistuu vähän paremmin. Virheitä tulee edelleen, mutta vähemmän. Jatkat oikomista. "Juuri noin!" "Ei, yritä uudelleen." "Täydellistä!" "Hups, ei aivan." Sadan pyykkikoneellisen jälkeen veljenpoikasi on oppinut kaavat. Valkoiset yhteen. Tummat yhteen. Punaiset tummien kanssa. Hienopesu erikseen. Hän ei enää tarvitse sinua. Hän oppi harjoittelemalla ja oikaisemalla.
Neuroverkot oppivat täsmälleen samalla tavalla. Näin prosessi etenee:
-
1
Aloita satunnaisilla arvauksilla
Verkko alkaa täysin satunnaisilla yhteyksien vahvuuksilla (painoilla). Se on kuin veljenpoikasi ensimmäisenä päivänä. Näytä sille kuva kissasta, niin se saattaa sanoa "Auto!" Täyttä hölynpölyä. Mutta se on ihan ok. Kaikki aloittavat jostain.
-
2
Näytä sille esimerkki
Syötä verkkoon kuva kissasta. Kuva kulkee kaikkien kerrosten läpi. Jokainen neuroni tekee oman laskunsa (kertoo tulot painoilla, laskee ne yhteen, aktivoituu tai ei). Lopulta tulostekerros tekee arvauksen. Satunnaisilla painoilla arvaus on surkea. "Koira! Ei, auto! Ehkä... sateenvarjo?"
-
3
Kerro sille oikea vastaus
Tiedät oikean vastauksen (koska merkitsit harjoituskuvat itse). "Ei, se oli kissa, ei auto." Verkko mittaa, kuinka väärässä se oli. Arvasitko auton 80 prosentin varmuudella, kun piti sanoa kissa? Se on todella väärin. Laske tarkalleen, kuinka kaukana jokainen neuroni oli oikeasta vastauksesta.
-
4
Säädä yhteyksiä (takaisinkytkentä)
Tässä on nokkelin osuus. Verkko etenee takaperin tulosteesta syötteeseen ja kysyy: "Mitkä yhteydet vaikuttivat tähän virheeseen? Mitkä painot tarvitsevat muutosta?" Se on kuin veljenpoikasi ajatuskulun jäljittämistä. "Laitoit punaisen sukan valkoisten joukkoon, koska luulit, ettei värillä ole väliä. Lisätään värin merkitystä päätöksessäsi." Säädä jokaista painoa hieman siihen suuntaan, joka olisi vähentänyt virhettä.
-
5
Toista tuhansia kertoja
Näytä verkolla toinen kuva. Se tekee uuden arvauksen (nyt hieman paremman). Mittaa virhe. Säädä painoja uudelleen. Toista tuhansilla tai miljoonilla kuvilla. Hitaasti, vähitellen painot muuttuvat satunnaisesta roskasta hyödyllisiksi kaavoiksi. Riittävän harjoittelun jälkeen verkko alkaa onnistua. Näytä sille kissa, se sanoo kissa. Näytä sille koira, se sanoo koira. Se oppi.
Mitä "oppiminen" oikeastaan tarkoittaa
Tätä prosessia kutsutaan "harjoittamiseksi" tai "oppimiseksi", mutta se on oikeastaan vain matemaattista optimointia. Miljoonia pieniä lukuja (painoja) säädetään esimerkkien perusteella, kunnes verkon ennusteet vastaavat todellisuutta. Ei ymmärrystä. Ei tietoisuutta. Vain kuvioiden tunnistamista yrityksen ja erehdyksen kautta.
Mitä enemmän esimerkkejä sille näyttää, sitä paremmaksi se tulee. Mitä monipuolisempia esimerkit ovat, sitä paremmin se selviytyy uusista tilanteista. Näytä sille vain kultaisianoutajia, niin se takkuaa villakoirien kanssa. Näytä sille kissoja joka värissä, koossa ja asennossa, niin se tunnistaa kissoja missä tahansa.
Ajattele sitä kuin kitaran kielten kireyden säätämistä. Liian löysällä, väärä ääni. Liian kireällä, myös väärin. Näpäytät kieltä, kuuntelet sävelen ja säädät kireyttä hieman. Näpäytät uudelleen. Ei vieläkään aivan oikein. Säädät uudelleen. Monien pienten säätöjen jälkeen jokainen kieli tuottaa täydellisen sävelen. Neuroverkon harjoittaminen on vain miljoonien "kireyssäätimien" (painojen) säätämistä, kunnes tulos kuulostaa oikealta. Paitsi että musiikin sijaan tuotat ennusteita.
Syväoppiminen (miksi useammat kerrokset auttavat)
Saatat kuulla termin "syväoppiminen" heiteltävän ympäriinsä. Ihmiset käyttäytyvät kuin se olisi jotain maagista. Se ei ole.
"Syvä" tarkoittaa vain "paljon kerroksia". Kolmen tai neljän piilokerroksen sijaan sinulla voi olla kaksikymmentä, viisikymmentä tai jopa sata kerrosta pinottuna päällekkäin. Siinä se. Se on se iso salaisuus.
Miksi näin monta kerrosta? Koska monimutkaiset kuviot vaativat monimutkaista käsittelyä.
Kuvittele, että opetat jotakuta tunnistamaan puita. Vain kahdella kerroksella (yksi piilotettu kerros) voit opettaa yksinkertaisia sääntöjä:
Yksinkertaiset kuviot muutamalla kerroksella
- ✓ Vihreää ylhäällä? Todennäköisesti puu.
- ✓ Ruskea pystysuora juttu alhaalla? Ehdottomasti puu.
Entä palmut? Männyt? Kirsikankukat? Puut talvella ilman lehtiä? Lumen peittämät puut? Bonsaipuut? Kannot? Vain yksinkertaisilla kuvioilla jää monia muunnelmia huomaamatta.
Lisää kerroksia, niin jokainen kerros voi oppia yhä kehittyneempiä piirteitä:
Monimutkaiset kuviot monilla kerroksilla
- Kerros 1: Reunat ja tekstuurit
- Kerros 2: Kuorikuviot ja lehtimuodot
- Kerros 3: Oksarakenteet
- Kerros 4: Eri puulajien tunnuspiirteet
- Kerros 5: Puut eri vuodenaikoina ja olosuhteissa
Jokainen kerros rakentaa ymmärrystä edellisen kerroksen löydösten varaan. Kun pääset ulostuloon asti, verkko tunnistaa tammet syksyllä, palmut rannoilla, männyt lumessa ja kirsikankukat keväällä. Kaikki näiden kerroksellisten kuvioiden ansiosta.
Kompromissi
Useammat kerrokset tarkoittavat enemmän laskutoimituksia, pidempää harjoitusaikaa ja suurempaa esimerkkien tarvetta. Matala verkko saattaa oppia 10 000 kuvasta. Syvä verkko saattaa tarvita miljoonan. Mutta monimutkaisissa tehtävissä, kuten kielen ymmärtämisessä, tuhansien kohteiden tunnistamisessa tai shakin pelaamisessa mestaritasolla, syvät verkot ovat vaivan arvoisia.
Siksi ChatGPT ja nykyaikaiset tekoälyjärjestelmät ovat "syviä". Niissä on kymmeniä tai satoja kerroksia, jotka oppivat uskomattoman monimutkaisia kaavoja valtavista tekstin, kuvien tai muun datan määristä. Ei siksi, että ne olisivat älykkäitä, vaan koska niiden tehtävät vaativat hyvin hienovaraisten ja hyvin monimutkaisten kaavojen tunnistamista.
Kaksi lähestymistapaa: tarkkuus vs. tehokkuus
Useimmat nykyajan neuroverkot käyttävät laskelmissaan hyvin tarkkoja lukuja. Kun ne kertovat ja laskevat yhteen painoja, ne käyttävät lukuja kuten 0.7234891 tai 1.3982736. Paljon desimaaleja. Hyvin tarkkaa.
Perinteinen lähestymistapa: liiallinen tarkkuus
Tämä on kuin kakun ainesten mittaamista laboratoriovaa'alla, joka on tarkka 0.001 grammaan asti. Jauhoja: 247.384 grammaa. Sokeria: 118.592 grammaa. Hyvin tarkkaa, hyvin täsmällistä ja rehellisesti sanottuna täysin liioiteltua kakun leipomiseen.
Nämä tarkat luvut (joita kutsutaan liukuluvuiksi) vaativat paljon laskentatehoa. Jokainen kertolasku näillä luvuilla vaatii tuhansia transistoritoimintoja. Kun teet miljardeja kertolaskuja verkon harjoittamiseksi, se kasvaa valtaviksi määriksi sähköä ja laskenta-aikaa.
Binäärinen lähestymistapa
Binääriset neuroverkot: vain kaksi arvoa
On olemassa toinen lähestymistapa: binääriset neuroverkot. Tarkkojen desimaalilukujen sijaan käytetään vain kahta arvoa. Positiivinen yksi tai negatiivinen yksi. Siinä kaikki.
Kuulostaa hullulta, eikö? Miten voit oppia monimutkaisia kaavoja vain kahdella luvulla?
Mummon reseptin lähestymistapa
Ajattele asiaa näin. Kun mummosi leipoi omenapiirakkaa, hän ei käyttänyt laboratoriovaakaa. Hän käytti silmiään ja kokemustaan. "Suunnilleen tämän verran jauhoja. Kunnon kourallinen sokeria. Voita suunnilleen munan kokoinen pala." Ei lainkaan tarkkaa, mutta piirakasta tuli silti herkullista.
Binääriset verkot toimivat samalla tavalla. Jokainen yhteys on joko "kyllä, tällä on merkitystä" (+1) tai "ei, tällä ei ole merkitystä" (-1). Ei desimaalitarkkuutta. Vain yksinkertaisia kyllä/ei-ääniä.
Taika on yhdistelmässä. Tuhannet yksinkertaiset kyllä/ei-päätökset yhdistyvät yllättävän tarkoiksi ennusteiksi. Aivan kuten mummosi epätarkat mittaukset yhdistettynä hänen kokemukseensa tuottivat täydellisen piirakan.
Etu
Binaariset verkot toimivat paljon nopeammin ja kuluttavat huomattavasti vähemmän energiaa. Muistatko aiemman keskustelumme binäärilaskennasta? Yksinkertaiset kyllä/ei-operaatiot ovat satoja kertoja nopeampia kuin tarkka desimaalilaskenta. Binaarinen neuroverkko voi toimia puhelimessasi, yksinkertaisella tietokonesirulla, jopa pienissä laitteissa, joissa ei ole paljon tehoa. Sama verkko tarkoilla luvuilla vaatisi valtavan tietokoneen ja valtavasti sähköä.
Dwevellä keskitymme binaarisiin neuroverkkoihin, jotka tuovat todellista tehokkuutta. Core-järjestelmämme käyttää yksinkertaisia kyllä/ei-painotuksia ja toimii 40 kertaa nopeammin kuin perinteiset verkot, kuluttaen samalla 96 prosenttia vähemmän energiaa. Emme leikkaa kulmia, vaan koska useimmissa käytännön tehtävissä et tarvitse laboratoriotarkkuutta. Mummon reseptimalli toimii mainiosti.
Missä Neuroverkot Ovat Oikeasti Hyviä
Nyt kun ymmärrät, miten neuroverkot toimivat, puhutaan siitä, mihin ne oikeasti soveltuvat. Kaikesta hypetyksestä huolimatta ne eivät nimittäin ole hyviä kaikessa.
Neuroverkot loistavat kuvantunnistuksessa. Jos niille näyttää tuhansia esimerkkejä, joissa on johdonmukaisia kaavoja, ne oppivat tunnistamaan nämä kaavat uusista esimerkeistä. Siksi ne sopivat täydellisesti:
📷 Kuvien tunnistaminen
Näytä verkolle miljoona merkittyä valokuvaa, niin se oppii tunnistamaan kissoja, koiria, autoja, kasvoja, kasvaimia röntgenkuvista, halkeamia teistä, mitä tahansa sillä on opetettu. Puhelimesi kamera käyttää tätä kasvojen tarkentamiseen. Sairaalat käyttävät sitä sairauksien havaitsemiseen lääketieteellisistä kuvista.
🎤 Puheen ymmärtäminen
Kun puhut Sirille tai Alexalle, neuroverkko muuntaa äänikuviosi tekstiksi. Se on oppinut tuhansista tuntien äänitallenteista, mitä kukin äänikuvio tarkoittaa. Eri aksentit, taustamelu, mutina… se käsittelee kaiken kuvantunnistuksen avulla.
💬 Kielen käsittely
Kääntäminen, kysymyksiin vastaaminen, tekstin kirjoittaminen. Verkot, jotka on koulutettu miljardeilla sanoilla, oppivat kielen toiminnan kaavoja. Ei siksi, että ne "ymmärtäisivät" kieltä, vaan koska ne tunnistavat kaavoja, kuten "tämä sana seuraa yleensä tuota sanaa" ja "tämä lauserakenne tarkoittaa kysymystä."
🎬 Suositusten tekeminen
Netflix ehdottaa sarjoja, Spotify löytää musiikkia, josta pidät, Amazon suosittelee tuotteita. Nämä verkot oppivat kaavoja miljoonilta käyttäjiltä. "Ihmiset, jotka pitivät A:sta ja B:stä, pitivät myös C:stä. Tämä henkilö pitää A:sta ja B:stä, joten todennäköisesti hän pitää myös C:stä."
🎮 Pelien pelaaminen
Shakkiohjelmat, gon pelaajat, videopelien tekoäly. Verkko pelaa miljoonia pelejä itseään vastaan ja oppii, mitkä siirrot johtavat voittoihin ja mitkä tappioihin. Puhdasta kaavojen tunnistusta yrityksen ja erehdyksen kautta.
Huomaatko kaavan? Nämä ovat kaikki tehtäviä, joissa suurissa datamäärissä on johdonmukaisia kaavoja. Näytä verkolle tarpeeksi esimerkkejä, niin se löytää kaavat.
Missä Neuroverkot Ovat Täysin Heikkoja
Sitten tulee todellisuuden tarkistus. Neuroverkoilla on vakavia rajoitteita:
⚠️ Ne tarvitsevat valtavia määriä dataa
Lapsi näkee kolme koiraa ja ymmärtää, mitä "koira" tarkoittaa. Neuroverkko tarvitsee tuhansia tai miljoonia kuvia koirista. Ei dataa? Ei oppimista. Pieni datamäärä? Heikko suorituskyky. Nämä järjestelmät ovat datanälkäisiä hirviöitä.
⚠️ Ne ovat mustia laatikoita
Verkko ei osaa selittää päätöksiään. Se tietää vastauksen (tai luulee tietävänsä), mutta se ei osaa kertoa miksi. Miljoonat painot ovat vuorovaikutuksessa monimutkaisilla tavoilla. Kukaan ei pysty seuraamaan päättelyä. Tämä on iso ongelma lääketieteessä, juridiikassa ja kaikkialla, missä päätökset pitää pystyä perustelemaan.
⚠️ Ne oppivat vinoumia datasta
Jos harjoitusdatassa on vinoumia (ja suurimmassa osassa todellista dataa on), verkko oppii ne vinoumat. Historiallista syrjintää? Verkko syrjii. Epätasapainoisia esimerkkejä? Verkko suoriutuu heikommin aliedustetuista ryhmistä. Roskaa sisään, roskaa ulos.
⚠️ Ne yleistä hyvin
Kouluta verkko kissoilla ja koirilla ja näytä sille hevonen. Se ei pärjää. Ihmiset yleistävät helposti ("Ai, se on taas nelijalkainen eläin"). Neuroverkot eivät. Ne tuntevat vain ne tietyt kaavat, jotka näkivät harjoituksessa. Uudet tilanteet hämmentävät niitä.
⚠️ Ne on helppo huijata
Pienet muutokset, joita ihminen ei huomaa, voivat huijata verkkoa täysin. Muuta muutama pikseli kissakuvassa (muutoksia, joita et edes huomaisi), niin verkko saattaa yhtäkkiä sanoa "Lentokone!" 99 prosentin varmuudella. Tätä kutsutaan adversariaaliseksi hyökkäykseksi, ja se on todellinen tietoturvahuoli.
Nämä eivät ole pieniä ongelmia. Ne ovat perustavanlaatuisia sille, miten neuroverkot toimivat. Verkko on vain yhtä hyvä kuin sen harjoitusdata, ja se tunnistaa vain kaavat, jotka se on nähnyt aiemmin.
Se varsinainen lopputulos
Mitä neuroverkot sitten oikeastaan ovat?
Ne ovat kehittyneitä kaavantunnistuskoneita. Monikerroksisia kytkintauluja, jotka oppivat esimerkeistä. Matemaattisia optimointijärjestelmiä, jotka säätävät miljoonia pieniä painoarvoja, kunnes ennusteet vastaavat todellisuutta.
Ne eivät ole aivoja. Ne eivät ole älykkäitä. Ne eivät ole tietoisia. Ne eivät "ymmärrä" mitään. Ne tunnistavat kaavoja toiston ja korjauksen kautta.
Mutta noissa rajoissa ne ovat huomattavan tehokkaita. Ne ovat mullistaneet teknologian. Puhelimesi kasvojentunnistus, ääniavustajat, roskapostisuodattimet, kuvien järjestely, navigointisovellukset, suoratoistosuositukset, automaattiset käännökset... kaikki perustuvat neuroverkkoihin.
Tärkeintä on käyttää niitä oikeisiin tehtäviin
Kaavantunnistus? Erinomaista. Tehtävät, joissa on selkeät esimerkit ja johdonmukaiset kaavat? Täydellistä. Luova ongelmanratkaisu, joka vaatii kontekstin ja merkityksen ymmärtämistä? Ei niinkään.
Kun joku yrittää myydä sinulle "tekoälyä" tai "neuroverkkoja", kysy itseltäsi: Onko tämä todella kaavantunnistusongelma? Onko tarpeeksi hyvää dataa harjoittamiseen? Toimiiko se tilanteissa, joita se ei ole nähnyt aiemmin? Voiko se selittää päätöksensä tarvittaessa?
Jos vastaukset ovat kyllä, kyllä, luultavasti ja ei (tässä järjestyksessä), neuroverkot saattavat olla oikea työkalu. Jos eivät, saatat tarvita jotain muuta.
Aivometafora sai neuroverkot kuulostamaan jännittäviltä ja salaperäisiltä. Kun ymmärtää, mitä ne todella ovat, kehittyneitä kytkentätauluja, jotka oppivat esimerkeistä, ne menettävät taikuutensa mutta muuttuvat paljon hyödyllisemmiksi. Koska kun ymmärrät työkalun, tiedät milloin käyttää sitä ja milloin tarttua johonkin muuhun. Ja se ymmärrys on arvokkaampaa kuin mikään määrä markkinointipuhetta.
Dwevellä rakennamme neuroverkkoja, jotka kunnioittavat todellisuutta. Binäärisiä operaatioita. Tehokasta laskentaa. Selkeitä rajoituksia. Ei taikuutta, ei hypeä, vain rehellistä insinöörityötä. Koska paras tekoäly on sellaista, joka toimii oikeassa maailmassa, ei vain tutkimuspapereissa.