Neuroniniai tinklai: kas jie yra, kaip veikia ir kodėl pavadinimas klaidinantis

Neuroniniai tinklai iš tikrųjų nepanašūs į smegenis. Štai kas jie yra iš tiesų, kaip jie veikia ir kodėl svarbu suprasti skirtumą.

Neuroniniai tinklai: kas jie yra, kaip veikia ir kodėl pavadinimas klaidinantis

Jūsų senelio telefono komutatorius

Įsivaizduokite: 1950-ieji, o jūsų senelis dirba telefono bendrovėje. Jo darbas? Valdyti didžiulį komutatorių. Šimtai laidų, tūkstančiai mažyčių lizdų, o jo rankos žaibiškai juda, sujungdamos vieną skambutį su kitu.

Kaip veikė komutatorius

Kažkas skambina iš kepyklos į gėlių parduotuvę. Jūsų senelis įkiša laidą iš lizdo A47 į lizdą B23. Skambutis sujungtas. Kažkas kitas skambina iš bibliotekos į paštą. Dar vienas laidas, dar vienas sujungimas. Visą dieną jis jungia skambučius, perduoda signalus, padeda informacijai tekėti iš vienos vietos į kitą.

O dabar įsivaizduokite, kad tas komutatorius galėtų mokytis. Įsivaizduokite, kad po tūkstančių skambučių jis pradėtų pastebėti dėsningumus. Dauguma rytinių skambučių iš kepyklos eina į restoranus. Dauguma popietinių skambučių iš mokyklų eina tėvams. Dauguma skambučių iš ligoninės yra skubūs ir turėtų būti sujungti nedelsiant.

Jei tas komutatorius galėtų prisitaikyti pagal šiuos dėsningumus ir perduoti skambučius efektyviau, nereikalaudamas, kad jūsų senelis galvotų apie kiekvieną iš jų, turėtumėte kažką labai panašaus į neuroninį tinklą.

Būtent tai iš tikrųjų yra neuroninis tinklas. Ne smegenys. Ne intelektas. Tik labai sudėtingas komutatorius, kuris praktikos dėka išmoksta, kurie sujungimai veikia geriausiai.

Pavadinimas „neuroninis tinklas" skamba taip, tarsi kurtume elektronines smegenis. Taip nėra. Mes kuriame protingus komutatorius, kurie, kaupdami patirtį, vis geriau perduoda informaciją. Leiskite man parodyti, kaip tiksliai tai veikia, naudojant pavyzdžius, kuriuos suprastų kiekvienas.

Didžioji pavadinimo painiava (kodėl „neuroninis" klaidina)

Kai mokslininkai šeštajame dešimtmetyje pirmą kartą sukūrė šias sistemas, jie pažvelgė į tai, kaip veikia žmogaus smegenys, ir pagalvojo: „Ei, galėtume sukurti kažką panašaus į tai." Jie pasiskolino keletą idėjų ir įmantrų pavadinimą.

Klaidingas žingsnis.

Kodėl pavadinimas klaidina

Vadinti šias sistemas „neuroniniais tinklais" yra tas pat, kas vadinti lėktuvą „mechaniniu paukščiu". Taip, abu skraido. Taip, abu įkvėpti gamtos stebėjimo. Bet lėktuvas neplaka sparnais, neturi plunksnų, nereikia jam ėsti kirminų ir neskrenda į pietus žiemoti.

Jūsų tikrosios smegenys

  • Maždaug 86 milijardai neuronų
  • Kiekvienas iš jų yra nepaprastai sudėtinga biologinė ląstelė
  • Tūkstančiai jungčių viename neurone
  • Veikia chemijos ir neuromediatorių dėka
  • Geba augti ir keistis visą gyvenimą

Dirbtinis „neuronas“

Tai paprastas matematinis veiksmas. Daugyba ir sudėtis. Štai ir viskas. Jis panašus į smegenų ląstelę maždaug tiek, kiek lemputė į saulę. Abi skleidžia šviesą, bet viena yra didžiulis branduolinės sintezės rutulys, o kita veikia elektra iš jūsų sieninio lizdo.

Taigi, kai tik išgirsite „neuroninis tinklas“, tiesiog pagalvokite „raštus atpažįstanti perjungimo stotis“. Skamba ne taip patraukliai, bet yra kur kas tiksliau. O suprasdami, kas šios sistemos iš tikrųjų yra, geriau suprasite, ką jos gali ir ko negali.

Mokymosi perjungimo stotis

Perjungimo stotis mokosi jūsų miestelio skambučių modelių. Išnagrinėjusi tūkstančius skambučių, ji pastebi, kad kepyklėlė kiekvieną rytą apie 6 valandą skambina į restoranus. Rytoj, kai sulauks to 6 valandos skambučio, perjungimo stotis bus pasiruošusi. Ji jau paruošė geriausią jungtį, pasimokė iš patirties, prisitaikė prie modelio. Būtent tai ir daro šios sistemos. Jos randa modelius pavyzdžiuose ir naudoja juos, kad ateityje jungtys būtų greitesnės ir geresnės.

Rizika, susijusi su „The Great Name Confusion (Why "Neural" is Misleading)", tampa valdoma, kai ji turi pavadinimus ir atsakingus asmenis.

Pagrindinis statinys: viena paprasta jungties vieta

Pradėkime nuo mažiausios mūsų perjungimo skydo dalies: vienos jungties vietos. Išgalvotoje terminologijoje ji vadinama „dirbtiniu neuronu". Tačiau iš tikrųjų tai tik vieta, kur sueina keli laidai ir vienas išeina.

Įsivaizduokite, kad sprendžiate, ar pasiimti skėtį išeidami iš namų. Jūs atsižvelgiate į kelis signalus:

Signalai, į kuriuos atsižvelgiate

  • Ar dangus tamsus ir debesuotas? (1 signalas)
  • Ar orų prognozė žadėjo lietų? (2 signalas)
  • Ar dabar lietingasis sezonas? (3 signalas)
  • Ar nešatės kitų daiktų? (4 signalas)

Tačiau ne visi šie signalai vienodai svarbūs. Orų prognozė tikriausiai patikimesnė nei vien žvilgsnis į dangų. Lietingasis sezonas kai kur svarbesnis nei kitur. Galite jiems mintyse suteikti skirtingą svorį:

Svarbumo įvertinimas

  • Tamsūs debesys: vidutinės svarbos
  • Orų prognozė: labai svarbi
  • Lietingasis sezonas: šiek tiek svarbus
  • Daiktų nešiojimasis: mažiau svarbus

Jūsų smegenys šį skaičiavimą atlieka per akimirksnį. Jos įvertina visus signalus pagal svarbą, juos susumuoja ir nusprendžia: skėtis ar ne skėtis.

Ką daro dirbtinis neuronas

Dirbtinis neuronas daro lygiai tą patį, tik su skaičiais. Kiekvienas gaunamas signalas padauginamas iš jo svarbos (jo svorio). Visi šie pasverti signalai sudedami. Jei suma pakankamai didelė, išvestis yra „taip, suaktyvink“. Jei per maža, išvestis yra „ne, lik ramus“.

Tai vienas neuronas. Padaugink kelis skaičius. Susumuok juos. Patikrink, ar suma peržengia slenkstį. Išvesk taip arba ne. Jokios paslapties. Jokio intelekto. Tik aritmetika.

Įsivaizduokite tai kaip durininką klube, kuris tikrina jūsų amžių, aprangos kodą ir ar esate svečių sąraše. Kiekvienas veiksnys turi skirtingą svorį. Esate svečių sąraše? Tikriausiai įleis. Tinkami batai? Svarbu, bet ne lemiama. Durininkas susumuoja visus veiksnius ir priima vieną sprendimą: įleisti ar ne. Tai ir yra dirbtinis neuronas. Labai paprastas sprendimo taškas, kuris įvertina daugybę įėjimų su skirtingais svarbos lygiais.

Jungiant Taškus: Kuriant Skirstymo Stotelę

Vienas jungties taškas nėra labai naudingas. Jūsų senelio skirstymo stotelė turėjo tūkstančius. Būtent iš to ir kyla galia.

Įsivaizduokite, kad bandote atpažinti savo draugę Mariją perpildytoje traukinių stotyje. Jūsų smegenys šio sprendimo nepriima vienu neuronu. Jos naudoja tūkstančius sprendimo taškų, kurių kiekvienas žiūri į skirtingas detales:

  • Pirmojo lygmens sprendimai: Ar tai žmogus? Ar tai moteris? Maždaug tinkamo ūgio?
  • Antrojo lygmens sprendimai: Ar ji tamsiais plaukais? Ar ji nešioja akinius? Ar tai jos įprastas paltas?
  • Trečiojo lygmens sprendimai: Ar jos veidas atitinka Marijos bruožus? Ta eisena atrodo pažįstama. Tai tikrai jos rankinė.
  • Galutinis sprendimas: Viskas susidėlioja į vientisą vaizdą. Tai Marija. Pamojuok ir pašauk ją vardu.

Dirbtinis neuroninis tinklas veikia taip pat. Jis sudarytas iš sluoksnių, kaip aukštai pastate. Informacija teka nuo pirmojo aukšto (įvesties sluoksnio) per kelis vidurinius aukštus (paslėptus sluoksnius) iki viršutinio aukšto (išvesties sluoksnio).

Tarkime, bandai išmokyti kompiuterį atpažinti kačių nuotraukas. Štai kas vyksta:

  1. 1 Įvesties sluoksnis (pirmas aukštas):

    Priima neapdorotą paveikslėlį. Kiekvienas mažytis taškelis (pikselis) paveikslėlyje patenka į vieną neuroną. Mažoje nuotraukoje gali būti 10 000 pikselių, todėl jai priimti reikia 10 000 neuronų. Kiekvienas neuronas laiko vieną mažytę informacijos dalelę: „Mano pikselis tamsus“ arba „Mano pikselis šviesus“.

  2. 2 Pirmasis paslėptasis sluoksnis (antras aukštas):

    Ieško paprastų raštų. Kai kurie neuronai suaktyvėja pamatę horizontalias linijas. Kiti pastebi vertikalias linijas. Kai kurie aptinka lenktas linijas ar kampus. Šie neuronai dar nežino, kad žiūri į kates. Jie tiesiog žino: „Čia radau lenktą liniją“ arba „Ten pastebėjau kraštą“.

  3. 3 Antrasis paslėptasis sluoksnis (trečias aukštas):

    Sujungia tuos paprastus raštus į sudėtingesnes formas. „Ei, šios kreivės ir kraštai kartu atrodo kaip smaili ausis.“ „Šie raštai, išdėstyti tokiu būdu, atrodo kaip ūsai.“ „Tai tikrai akies forma.“ Vis dar neatpažįsta kačių, tik identifikuoja katės dalis.

  4. 4 Trečiasis paslėptasis sluoksnis (ketvirtas aukštas):

    Surenka dalis į pilnus požymius. „Šie ūsai, ši nosies forma, šios smailios ausys... Tokį derinį jau esu matęs. Tai pradeda atrodyti kaip katės veidas.“ Dabar jau kažkas darosi.

  5. 5 Išvesties sluoksnis (viršutinis aukštas):

    Priima galutinį sprendimą. „Remdamasis viskuo, ką rado kiti aukštai, esu 95 % įsitikinęs, kad tai katė. Gali būti šuo (3 % tikimybė). Tikrai ne automobilis (0,001 % tikimybė).“ Laimi didžiausią pasitikėjimą turintis neuronas, ir tinklas paskelbia: „Katė!“

Kiekvienas sluoksnis remiasi ankstesniuoju. Paprasti raštai tampa sudėtingomis formomis. Sudėtingos formos tampa atpažįstamais bruožais. Bruožai tampa ištisais objektais. Štai ir visas triukas. Ne tikrasis intelektas, o tik sumanus paprastų sprendimų sluoksniavimas.

„Connecting the Dots: Building the Switchboard“ yra ciklas: stebėk, rinkis, veik ir vėl tikrink.

Mokymosi dalis (kaip skirstymo skydelis tampa protingesnis)

O dabar įdomiausia dalis. Kaip tinklas sužino, kurie ryšiai yra svarbūs?

Mokymasis kaip skalbinių rūšiavimas

Įsivaizduokite, kad mokote sūnėną rūšiuoti skalbinius. Pirmą kartą jis net neįsivaizduoja, kaip tai daroma. Gali įdėti raudoną kojinę prie baltų marškinių. Katastrofa. Rožiniai marškiniai visur. Jūs sakote: „Ne, ne, taip negerai. Raudoni skalbiniai dedami prie tamsių, o ne prie baltų.“ Jis pakoreguoja savo taisykles. Kitą kartą jam sekasi šiek tiek geriau. Vis tiek daro klaidų, bet mažiau. Jūs ir toliau jį taisote. „Teisingai!“ „Ne, bandyk dar kartą.“ „Puiku!“ „Oi, beveik.“ Po šimto skalbinių krovinių sūnėnas išmoksta dėsningumus. Balti kartu. Tamsūs kartu. Raudoni su tamsiais. Gležni audiniai atskirai. Jūsų jam nebereikia. Jis išmoko praktikuodamasis ir taisydamas klaidas.

Neuroniniai tinklai mokosi lygiai taip pat. Štai kaip vyksta procesas:

  1. 1 Pradėkite nuo atsitiktinių spėjimų

    Tinklas pradeda nuo visiškai atsitiktinių ryšių stiprumų (svorių). Tai kaip jūsų sūnėnas pirmąją dieną. Parodykite jam katės nuotrauką, o jis gali pasakyti „Automobilis!“ Gryna nesąmonė. Bet nieko tokio. Visi nuo kažko pradeda.

  2. 2 Parodykite jam pavyzdį

    Įveskite į tinklą katės nuotrauką. Vaizdas teka per visus sluoksnius. Kiekvienas neuronas atlieka savo skaičiavimą (padaugina įvestis iš svorių, jas susumuoja, suaktyvėja arba ne). Galiausiai išvesties sluoksnis pateikia spėjimą. Su atsitiktiniais svoriais spėjimas yra baisus. „Šuo! Ne, automobilis! Gal… skėtis?“

  3. 3 Pasakykite jam teisingą atsakymą

    Jūs žinote teisingą atsakymą (nes patys pažymėjote mokymo nuotraukas). „Ne, tai buvo katė, o ne automobilis.“ Tinklas įvertina, kiek klydo. Spėjo automobilį su 80 % pasitikėjimu, kai turėjo pasakyti katė? Tai labai klaidinga. Tiksliai apskaičiuokite, kiek kiekvienas neuronas nukrypo nuo teisingo atsakymo.

  4. 4 Sureguliuokite ryšius (atgalinis sklidimas)

    Štai ir gudrioji dalis. Tinklas dirba atgal nuo išvesties iki įvesties, klausdamas: „Kurie ryšiai prisidėjo prie šios klaidos? Kuriuos svorius reikia pakeisti?“ Tai tarsi atsekti sūnėno mąstymo procesą. „Įdėjai raudoną kojinę prie baltų, nes manei, kad spalva nesvarbi. Padidinkime spalvos svarbą tavo sprendime.“ Šiek tiek pakoreguokite kiekvieną svorį ta kryptimi, kuri būtų sumažinusi klaidą.

  5. 5 Kartokite tūkstančius kartų

    Parodykite tinklui kitą nuotrauką. Jis pateikia kitą spėjimą (dabar jau šiek tiek geresnį). Įvertinkite klaidą. Vėl sureguliuokite svorius. Kartokite su tūkstančiais ar milijonais nuotraukų. Lėtai, palaipsniui, svoriai pasikeičia iš atsitiktinių šiukšlių į naudingus modelius. Po pakankamai praktikos tinklas pradeda teisingai atpažinti. Parodykite katę, jis sako katė. Parodykite šunį, jis sako šuo. Jis išmoko.

What "learning" really means

This process is called "training" or "learning," but it's really just mathematical optimization. Adjust millions of tiny numbers (weights) based on examples until the network's predictions match reality. No understanding. No consciousness. Just pattern matching through trial and error.

The more examples you show it, the better it gets. The more varied the examples, the better it handles new situations. Show it only golden retrievers, and it will struggle with poodles. Show it cats in every color, size, and position, and it will recognize cats anywhere.

Think of it like adjusting the tension on guitar strings. Too loose, wrong sound. Too tight, also wrong. You pluck a string, listen to the note, and adjust the tension slightly. Pluck again. Still not quite right. Adjust again. After many small adjustments, each string produces the perfect note. Training a neural network is just adjusting millions of "tension knobs" (weights) until the output sounds right. Except instead of music, you're producing predictions.

The space around "The Learning Part (How the Switchboard Gets Smarter)" shrinks when rules, search, and proof meet.

Deep Learning (Why More Layers Help)

You might hear the term "deep learning" thrown around. People act like it's something magical. It's not.

"Deep" just means "lots of layers." Instead of three or four hidden layers, you might have twenty, fifty, or even a hundred layers stacked up. That's it. That's the big secret.

Kam tiek daug sluoksnių? Nes sudėtingiems modeliams reikia sudėtingo apdorojimo.

Įsivaizduokite, kad mokote ką nors atpažinti medžius. Turėdami tik du sluoksnius (vieną paslėptąjį sluoksnį), galite išmokyti paprastų taisyklių:

Paprasti modeliai su keliais sluoksniais

  • Žalia masė viršuje? Tikriausiai medis.
  • Rudas vertikalus daiktas apačioje? Tikrai medis.

O kaip dėl palmių? Pušų? Sodininkystės vyšnių? Medžių žiemą be lapų? Medžių, padengtų sniegu? Bonsai medžių? Kelmų? Turėdami tik paprastus modelius, praleisite daugybę variantų.

Pridėkite daugiau sluoksnių, ir kiekvienas sluoksnis gali išmokti vis sudėtingesnių požymių:

Sudėtingi modeliai su daugybe sluoksnių

  • 1 sluoksnis: Kraštai ir tekstūros
  • 2 sluoksnis: Žievės raštai ir lapų formos
  • 3 sluoksnis: Šakų struktūros
  • 4 sluoksnis: Skirtingų medžių rūšių požymiai
  • 5 sluoksnis: Medžiai skirtingais sezonais ir sąlygomis

Kiekvienas sluoksnis kuria supratimą ant ankstesnio sluoksnio atradimų. Kai pasiekiate išvestį, tinklas gali atpažinti ąžuolus rudenį, palmes paplūdimiuose, pušis sniege ir vyšnių žiedus pavasarį. Visa tai iš tų sluoksniuotų modelių.

Kompromisas

Kuo daugiau sluoksnių, tuo daugiau skaičiavimų, ilgesnis mokymo laikas ir daugiau reikia pavyzdžių. Seklus tinklas gali išmokti iš 10 000 paveikslėlių. Gilus tinklas gali prireikti milijono. Tačiau sudėtingoms užduotims, tokioms kaip kalbos supratimas, tūkstančių objektų atpažinimas ar šachmatų žaidimas meistro lygiu, gilūs tinklai verti pastangų.

Štai kodėl ChatGPT ir šiuolaikinės dirbtinio intelekto sistemos yra „gilūs". Jie turi dešimtis ar šimtus sluoksnių, iš didžiulių tekstų, vaizdų ar kitų duomenų kiekių mokydamiesi nepaprastai sudėtingų modelių. Ne todėl, kad jie yra protingi, o todėl, kad užduotys, kurias jie atlieka, reikalauja atpažinti labai subtilius, labai sudėtingus modelius.

Du požiūriai: tikslumas ir efektyvumas

Dauguma šiandieninių neuroninių tinklų skaičiavimams naudoja labai tikslius skaičius. Kai jie daugina ir sudeda svorius, naudoja tokius skaičius kaip 0.7234891 arba 1.3982736. Daug dešimtainių vietų. Labai tikslu.

Tradicinis požiūris: per didelis tikslumas

Tai tarsi pyrago ingredientų matavimas laboratorinėmis svarstyklėmis, kurių tikslumas yra 0.001 gramo. Miltų: 247.384 gramo. Cukraus: 118.592 gramo. Labai tikslu, labai tikslu, ir, tiesą sakant, visiškai nereikalinga kepant pyragą.

Šie tikslūs skaičiai (vadinami slankiojo kablelio skaičiais) reikalauja daug skaičiavimo galios. Kiekvienas dauginimas su šiais skaičiais užima tūkstančius tranzistorių operacijų. Kai atliekate milijardus dauginimų, kad išmokytumėte tinklą, tai susideda į didžiulį elektros energijos ir skaičiavimo laiko kiekį.

Dvejetainis požiūris

Dvejetainiai neuroniniai tinklai: tik dvi reikšmės

Yra ir kitas požiūris: dvejetainiai neuroniniai tinklai. Vietoj tikslių dešimtainių skaičių naudokite tik dvi reikšmes. Teigiamas vienetas arba neigiamas vienetas. Štai ir viskas.

Skamba keistai, ar ne? Kaip galima išmokti sudėtingų modelių tik su dviem skaičiais?

Močiutės recepto požiūris

Pagalvokite apie tai taip. Kai jūsų močiutė kepė tą obuolių pyragą, ji nenaudojo laboratorinių svarstyklių. Ji naudojo savo akis ir patirtį. „Maždaug tiek miltų. Gera sauja cukraus. Sviesto maždaug kiaušinio dydžio." Visai netikslu, bet pyragas vis tiek pavyko skanus.

Dvejetainiai tinklai veikia panašiai. Kiekvienas ryšys yra arba „taip, tai svarbu" (+1), arba „ne, tai nesvarbu" (-1). Jokio dešimtainio tikslumo. Tik paprasti taip/ne balsai.

Magiškumas yra derinyje. Tūkstančiai paprastų taip/ne sprendimų susijungia į stebėtinai tikslias prognozes. Kaip ir jūsų močiutės netikslūs matavimai kartu su jos patirtimi padėjo pagaminti tobulą pyragą.

Privalumas

Dvejetainiai tinklai veikia daug greičiau ir sunaudoja gerokai mažiau energijos. Prisimenate mūsų ankstesnį aptarimą apie dvejetainį skaičiavimą? Paprastos taip/ne operacijos yra šimtus kartų greitesnės nei tikslus dešimtainis skaičiavimas. Dvejetainis neuroninis tinklas gali veikti jūsų telefone, paprastame kompiuterio luste, net mažyčiuose įrenginiuose, kurie neturi daug galios. Tas pats tinklas su tikslių skaičių skaičiavimais reikalautų didžiulio kompiuterio ir daugybės elektros energijos.

„Dweve“ orientuojamės į dvejetainius neuroninius tinklus, siekdami realaus efektyvumo. Mūsų „Core“ sistema naudoja paprastus taip/ne svorius ir veikia 40 kartų greičiau nei tradiciniai tinklai, sunaudodama 96 % mažiau energijos. Ne todėl, kad taupytume, o todėl, kad daugeliui realių užduočių laboratorinio tikslumo nereikia. Močiutės recepto metodas puikiai tinka.

Kam Neuroniniai Tinklai Iš Tikrųjų Tinka

Dabar, kai suprantate, kaip veikia neuroniniai tinklai, pakalbėkime apie tai, kam jie iš tikrųjų naudingi. Nes nepaisant viso ažiotažo, jie ne viskam tinka.

Neuroniniai tinklai puikiai atpažįsta šablonus. Jei parodysite jiems tūkstančius pavyzdžių su nuosekliais šablonais, jie išmoks atpažinti tuos šablonus naujuose pavyzdžiuose. Todėl jie puikiai tinka:

📷 Vaizdų atpažinimas

Parodykite tinklui milijoną pažymėtų nuotraukų, ir jis išmoks atpažinti kates, šunis, automobilius, veidus, navikus rentgeno nuotraukose, įtrūkimus keliuose, ką tik jį išmokėte. Jūsų telefono kamera tai naudoja veidams fokusuoti. Ligoninės tai naudoja ligoms medicininiuose tyrimuose aptikti.

🎤 Kalbos supratimas

Kai kalbate su „Siri“ ar „Alexa“, neuroninis tinklas paverčia jūsų balso šablonus tekstu. Jis išmoko iš tūkstančių įrašytos kalbos valandų, ką reiškia kiekvienas garso šablonas. Skirtingi akcentai, foninis triukšmas, murmėjimas... visa tai jis tvarko per šablonų atpažinimą.

💬 Kalbos apdorojimas

Vertimas, atsakymai į klausimus, teksto rašymas. Tinklai, išmokyti iš milijardų žodžių, įsisavina kalbos veikimo šablonus. Ne todėl, kad jie „suprastų“ kalbą, o todėl, kad atpažįsta šablonus, pavyzdžiui, „šis žodis paprastai eina po ano“ ir „ši sakinio struktūra reiškia klausimą“.

🎬 Rekomendacijų teikimas

„Netflix“ siūlo serialus, „Spotify“ randa jums patinkančios muzikos, „Amazon“ rekomenduoja produktus. Šie tinklai mokosi iš milijonų vartotojų elgesio modelių. „Žmonėms, kuriems patiko A ir B, taip pat patiko C. Šiam žmogui patinka A ir B, todėl tikriausiai patiks ir C.“

🎮 Žaidimų žaidimas

Šachmatų programos, „Go“ žaidėjai, vaizdo žaidimų dirbtinis intelektas. Tinklas sužaidžia milijonus žaidimų pats su savimi, mokydamasis, kurie ėjimai veda į pergalę, o kurie į pralaimėjimą. Grynas modelių atpažinimas bandymų ir klaidų būdu.

Pastebėjote modelį? Visos šios užduotys turi nuoseklius modelius dideliuose duomenų kiekiuose. Parodykite tinklui pakankamai pavyzdžių, ir jis ras tuos modelius.

Kuo dirbtiniai neuroniniai tinklai yra siaubingai blogi

Dabar apie realybę. Neuroniniai tinklai turi rimtų apribojimų:

⚠️ Jiems reikia didžiulių duomenų kiekių

Vaikas pamato tris šunis ir supranta, kas yra „šuo“. Neuroniniam tinklui reikia tūkstančių ar milijonų šunų nuotraukų. Nėra duomenų? Nėra mokymosi. Mažas duomenų rinkinys? Prasti rezultatai. Šios sistemos yra duomenimis mintantys monstrai.

⚠️ Jie yra juodosios dėžės

Tinklas negali paaiškinti savo sprendimų. Jis žino atsakymą (arba mano žinąs), bet negali pasakyti kodėl. Milijonai svorių, sąveikaujančių sudėtingais būdais. Joks žmogus negali atsekti samprotavimo. Tai didelė problema medicinoje, teisėje ir visur, kur reikia pagrįsti sprendimus.

⚠️ Jie išmoksta šališkumą iš duomenų

Jei jūsų mokymo duomenys turi šališkumų (o dauguma realaus pasaulio duomenų jų turi), tinklas išmoksta tų šališkumų. Istorinė diskriminacija? Tinklas diskriminuos. Nesubalansuoti pavyzdžiai? Tinklas prasčiau veikia nepakankamai atstovaujamoms grupėms. Kas įdedama, tas ir gaunama.

⚠️ Jie prastai apibendrina

Išmokykite tinklą atpažinti kates ir šunis, o paskui parodykite jam arklį. Jis susidurs su sunkumais. Žmonės apibendrina lengvai („O, čia dar vienas keturkojis gyvūnas"). Neuroniniai tinklai to nedaro. Jie žino tik tuos konkrečius modelius, kuriuos matė mokymo metu. Naujos situacijos juos glumina.

⚠️ Juos lengva apgauti

Žmogaus akiai nematomi smulkūs pakeitimai gali visiškai suklaidinti tinklą. Pakeiskite kelis pikselius katės nuotraukoje (pakeitimus, kurių net nepastebėtumėte), ir tinklas gali staiga 99 % užtikrintumu pasakyti „Lėktuvas!". Tai vadinama priešiška ataka, ir tai yra reali saugumo problema.

Tai nėra smulkūs trūkumai. Tai esminės neuroninių tinklų veikimo savybės. Tinklas yra tik tiek geras, kiek geri jo mokymo duomenys, ir jis gali atpažinti tik tuos modelius, kuriuos jau yra matęs.

Kokia tikroji esmė

Taigi, kas iš tikrųjų yra neuroniniai tinklai?

Tai sudėtingos modelių atpažinimo mašinos. Daugiasluoksnės skirstyklos, kurios mokosi iš pavyzdžių. Matematinės optimizavimo sistemos, kurios koreguoja milijonus mažyčių svorių, kol prognozės sutampa su realybe.

Jie nėra smegenys. Jie nėra protingi. Jie nėra sąmoningi. Jie nieko „nesupranta". Jie atpažįsta modelius per kartojimą ir korekcijas.

Tačiau nepaisant šių apribojimų, jie yra nepaprastai galingi. Jie pakeitė technologijas. Jūsų telefono veido atpažinimas, balso asistentai, šiukšlių filtrai, nuotraukų tvarkymas, navigacijos programėlės, srautinio turinio rekomendacijos, automatinis vertimas… visa tai veikia neuroninių tinklų dėka.

Svarbiausia juos naudoti tinkamoms užduotims

Modelių atpažinimas? Puiku. Užduotys su aiškiais pavyzdžiais ir nuosekliais modeliais? Tobula. Kūrybiškas problemų sprendimas, reikalaujantis suprasti kontekstą ir prasmę? Ne itin.

Kai kas nors bando jums parduoti „dirbtinį intelektą" ar „neuroninius tinklus", paklauskite savęs: ar tai tikrai modelių atpažinimo problema? Ar yra pakankamai gerų duomenų mokymui? Ar tai veiks situacijose, kurių dar nematė? Ar prireikus jis galės paaiškinti savo sprendimus?

Jei atsakymai yra taip, taip, tikriausiai ir ne (atitinkamai), tuomet neuroniniai tinklai gali būti tinkamas įrankis. Jei ne, gali prireikti ko nors kito.

Smegenų metafora privertė neuroninius tinklus skambėti įdomiai ir paslaptingai. Supratus, kas jie iš tikrųjų yra, sudėtingi skirstytuvai, besimokantys iš pavyzdžių, jie tampa ne tokie stebuklingi, bet kur kas naudingesni. Nes kai supranti įrankį, žinai, kada jį naudoti, o kada griebtis ko nors kito. Ir tas supratimas vertas daugiau nei bet koks rinkodaros triukšmas.

„Dweve" kuriame neuroninius tinklus, kurie gerbia realybę. Dvejetainės operacijos. Efektyvus skaičiavimas. Aiškūs apribojimai. Jokios magijos, jokio ažiotažo, tik sąžininga inžinerija. Nes geriausias dirbtinis intelektas yra tas, kuris veikia realiame pasaulyje, o ne tik moksliniuose straipsniuose.

Kelias už „The Real Bottom Line" lieka naudojamas, kai kiekvienas žingsnis turi įrodymų.