Vodič dubokog učenja za početnike: Osnove neuronske mreže

⚡ Pametni sažetak

Duboko učenje je grana strojnog učenja izgrađena na umjetnim neuronskim mrežama koje slažu mnoge skrivene slojeve, tako da svaki sloj uči bogatije značajke podataka od sloja prije njega.

  • 🔘 Slojevita arhitektura: Ulazni sloj, dva ili više skrivenih slojeva i izlazni sloj čine mrežu dubokom.
  • ☑️ Signal snaga: Težina, pristranost i aktivacijska funkcija odlučuju što svaki neuron prenosi sljedećem sloju.
  • Dvofazna petlja: Nelinearna transformacija stvara model, zatim ga metoda temeljena na derivacijama poboljšava, ponavljajući se sve dok točnost ne postane prihvatljiva.
  • 🧪 Četiri arhitekture: Mreže s unaprijednom povratnom vezom, rekurentne mreže, konvolucijske mreže i agenti za učenje s potkrepljenjem.
  • 🛠️ Gdje se isplati: Kreditno bodovanje u financijama, provjera kandidata u ljudskim resursima, analiza sentimenta u pozivnim centrima u marketingu.
  • Prave granice: Troškovi označavanja, apetit za ogromnim skupovima podataka i modeli koji se opiru objašnjenju jednostavnim jezikom.

Vodič dubokog učenja za početnike: Osnove neuronske mreže

Što je duboko učenje?

Duboko učenje je računalni softver koji oponaša mrežu neurona u mozgu. To je podskup stroj za učenje temeljeno na umjetnim neuronskim mrežama s učenjem reprezentacije. Naziva se dubokim učenjem jer koristi duboke neuronske mreže. Ovo učenje može biti pod nadzorom, polunadzirano ili bez nadzora.

Algoritmi dubokog učenja konstruirani su s povezanim slojevima, kao što je prikazano na donjem dijagramu.

  • Prvi sloj naziva se ulazni sloj
  • Posljednji sloj naziva se izlazni sloj
  • Svi slojevi između nazivaju se skriveni slojevi. Riječ duboki znači da mreža spaja neurone u više od dva sloja.
Dijagram duboke neuronske mreže koji prikazuje ulazni sloj, dva skrivena sloja neurona i izlazni sloj
Ulazni sloj, skriveni slojevi i izlazni sloj, s vezama koje se odvijaju između pojedinačnih neurona

Svaki skriveni sloj sastoji se od neurona. Neuroni su međusobno povezani. Neuron obrađuje ulazni signal koji primi, a zatim širi rezultat u sloj iznad sebe. Jačina signala koji se prenosi na neuron u sljedećem sloju ovisi o težini, pristranosti i aktivacijskoj funkciji.

Mreža troši velike količine ulaznih podataka i operira s njima kroz više slojeva, tako da mreža može učiti sve složenije značajke podataka na svakom sloju.

Proces dubokog učenja

Duboka neuronska mreža pruža vrhunsku točnost u mnogim zadacima, od detekcije objekata do prepoznavanja govora. Takve mreže mogu učiti automatski, bez unaprijed definiranog znanja koje su programeri eksplicitno kodirali. U praksi, projekt dubokog učenja prolazi kroz pet faza:

  • Shvatite problem
  • Identificirajte podatke
  • Odaberite algoritam dubokog učenja
  • Uvježbajte model
  • Testirajte model
Proces dubokog učenja u pet faza, od razumijevanja problema do testiranja modela

Pet faza projekta dubokog učenja, od definiranja problema do testiranja

Kako bismo shvatili ideju dubokog učenja, zamislite obitelj s dojenčetom i roditeljima. Malo dijete pokazuje malim prstom na predmete i uvijek izgovara riječ 'mačka'. Budući da su roditelji zabrinuti za njegovo obrazovanje, stalno mu govore 'Da, to je mačka' ili 'Ne, to nije mačka'. Dojenče ustraje u pokazivanju na predmete, ali postaje točnije s riječju 'mačke'. Malo dijete, duboko u sebi, ne zna zašto može reći je li to mačka ili nije. Jednostavno je naučilo organizirati značajke koje čine mačku u hijerarhiju, gledajući ljubimca u cjelini, a zatim se usredotočujući na detalje poput repa ili nosa prije nego što donese odluku.

Neuronska mreža radi na vrlo sličan način. Svaki sloj predstavlja dublju razinu znanja, odnosno hijerarhiju znanja. Neuronska mreža s četiri sloja naučit će složenije značajke od one s dva sloja.

Učenje se odvija u dvije faze:

  • Prva faza: primjenom nelinearne transformacije ulaza i stvaranjem statističkog modela kao izlaza.
  • Druga faza: poboljšanje modela matematičkom metodom temeljenom na derivatima, što je način na koji širenje unazad podešava utege.

Neuronska mreža ponavlja ove dvije faze stotine do tisuće puta dok ne dostigne podnošljivu razinu točnosti. Svako ponavljanje dviju faza naziva se iteracija.

Za primjer dubokog učenja, pogledajte animaciju u nastavku, u kojoj model pokušava naučiti plesati. Nakon 10 minuta treninga, model ne zna plesati, a njegov rezultat izgleda kao škrabotina.

Animirana figura se nepravilno kreće nakon deset minuta treninga dubokog učenja

Nakon 48 sati učenja, računalo savladava umijeće plesa, kao što pokazuje druga animacija.

Animirana figura glatko pleše nakon četrdeset osam sati treninga dubokog učenja

Klasifikacija neuronskih mreža

Mreže se prvo grupiraju prema broju skrivenih slojeva.

Plitka neuronska mreža: Plitka neuronska mreža ima samo jedan skriveni sloj između ulaza i izlaza.

Duboka neuronska mreža: Duboke neuronske mreže imaju više od jednog skrivenog sloja. Na primjer, GoogLeNet model za prepoznavanje slika broji 22 sloja.

Danas se duboko učenje pojavljuje u automobilima bez vozača, mobilnim telefonima, Google tražilica, otkrivanje prijevara i televizija.

Vrste mreža za duboko učenje

Nekoliko arhitektura postalo je standardno, a svaka je oblikovana vrstom podataka koje obrađuje. Grafikon u nastavku, koji je objavio Asimov Institute, mapira širu obitelj.

Grafikon arhitektura neuronskih mreža, uključujući perceptron, feed forward, RBF, RNN, LSTM, GRU i autoenkodere

Grafikon arhitektura neuronskih mreža, od jednog perceptrona do LSTM, GRU i varijanti autoenkodera

Feed-forward neuronske mreže

Ovo je najjednostavnija vrsta umjetne neuronske mreže. S ovom vrstom arhitekture, informacije teku samo u jednom smjeru, naprijed. To znači da protok informacija počinje na ulaznom sloju, ide do "skrivenih" slojeva i završava na izlaznom sloju. Mreža nema petlju, a informacije se zaustavljaju na izlaznom sloju.

Ponavljajuće neuronske mreže (RNN)

An RNN je višeslojna neuronska mreža koja može pohranjivati ​​informacije u kontekstne čvorove, što joj omogućuje učenje nizova podataka i ispis broja ili drugog niza. Jednostavno rečeno, to je umjetna neuronska mreža čije veze između neurona uključuju petlje. RNN-ovi su vrlo prikladni za obradu nizova ulaza, jer se izlaz vraća u mrežu kao memorija.

Blok dijagram rekurentne neuronske mreže s izlazom koji se vraća u mrežu kao memorija

RNN šalje svoj izlaz natrag samoj sebi, što daje mrežnoj memoriji

Na primjer, ako je zadatak predvidjeti sljedeću riječ u rečenici „Želite li...?“, mreža postupa ovako:

  • RNN neuroni primaju signal koji ukazuje na početak rečenice.
  • Mreža prima riječ „Do“ kao ulaz i generira vektor brojeva. Ovaj vektor se vraća neuronu kako bi mreži pružio memoriju. Ova faza pomaže mreži da zapamti da je primila „Do“ i da ga je primila na prvoj poziciji.
  • Mreža postupa slično kao i sa sljedećim riječima. Uzima riječ „ti“, a zatim „želiš“. Stanje neurona se ažurira pri primanju svake riječi.
  • Završna faza događa se nakon primanja riječi „a“. Neuronska mreža daje vjerojatnost za svaku englesku riječ koja bi mogla dovršiti rečenicu. Dobro obučena RNN vjerojatno dodjeljuje visoku vjerojatnost riječima „café“, „drink“, „burger“ i sličnim riječima.

Uobičajene upotrebe RNN-a

  • Pomozite trgovcima vrijednosnim papirima da generiraju analitička izvješća
  • Otkrivanje abnormalnosti u financijskim izvještajima
  • Otkrivanje lažnih transakcija kreditnim karticama
  • Navedite naslov za slike
  • Napajanje chatbots
  • Standardna upotreba RNN-a javlja se kada praktičari rade s vremenskim serijama podataka ili nizovima, na primjer s audio snimkama ili tekstom.

Konvolucijske neuronske mreže (CNN)

A CNN je višeslojna neuronska mreža s jedinstvenom arhitekturom dizajniranom zatracsve složenije značajke podataka na svakom sloju kako bi se odredio izlaz. CNN-ovi su vrlo prikladni za perceptivne zadatke.

CNN arhitektura s konvolucijom, ReLU-om i objedinjavanjem faza učenja značajki nakon čega slijede faze izravnavanja, potpuno povezane i softmax klasifikacije

Učenje značajki putem konvolucije, ReLU-a i grupiranja; klasifikacija putem izravnavanja, potpuno povezane metode i softmaxa

CNN se uglavnom koristi kada postoji nestrukturirani skup podataka, poput slika, a praktičari trebaju objasnititracinformacije s njega.

Na primjer, ako je zadatak predvidjeti naslov slike:

  • CNN prima sliku, recimo, mačke. U računalnim terminima, ta je slika skup piksela, obično jedan sloj za sliku u sivim tonovima i tri sloja za sliku u boji.
  • Tijekom faze učenja značajki, odnosno skrivenih slojeva, mreža identificira jedinstvene značajke, na primjer rep mačke ili uho.
  • Nakon što mreža temeljito nauči prepoznavati sliku, može odrediti vjerojatnost za svaku klasu slika koju poznaje. Oznaka s najvećom vjerojatnošću postaje predviđanje mreže.

Učenje ojačanja

Ojačavanje učenja je podpodručje strojnog učenja u kojem se sustavi obučavaju primanjem virtualnih „nagrada“ ili „kazni“, u biti učeći metodom pokušaja i pogrešaka. To je paradigma učenja, a ne oblik mreže, ali njezini moderni algoritmi izgrađeni su na dubokim mrežama. GoogleDeepMind je koristio učenje s potkrepljenjem kako bi pobijedio ljudskog prvaka u Gou. Učenje s potkrepljenjem se također koristi u videoigrama za poboljšanje iskustva igranja pružanjem pametnijih botova.

Neki od najpoznatijih algoritama su:

  • Q-učenje
  • Duboka Q mreža
  • Država-Akcija-Nagrada-Država-Akcija (SARSA)
  • Gradijent duboke determinističke politike (DDPG)

Donja tablica sažima kada koja arhitektura odgovara.

Architektura Podaci koji odgovaraju Razlikujuća osobina Tipičan zadatak
Feed-forward Tablični unos fiksne duljine Nema petlji; informacije se kreću samo naprijed Bodovanje i jednostavna klasifikacija
Ponavljajući (RNN) Sekvence i vremenske serije Kontekstualni čvorovi mu daju memoriju Predviđanje teksta, zvuk, predviđanje
Konvolucijski (CNN) Nestrukturirani podaci nalik mreži Konvolucija i združivanje primjertracznačajke Klasifikacija i opisivanje slika
Ojačavanje učenja Okruženje, a ne skup podataka Uči iz nagrada i kazni Agenti za igre, robotika, upravljanje

Primjeri aplikacija dubokog učenja

Ove arhitekture su već u proizvodnji u vrlo različitim industrijama:

AI u financijama

Sektor financijske tehnologije već je počeo koristiti umjetnu inteligenciju kako bi uštedio vrijeme, smanjio troškove i dodao vrijednost. Duboko učenje mijenja industriju kreditiranja kroz robusnije kreditno bodovanje. Donositelji kreditnih odluka mogu koristiti umjetnu inteligenciju za podnošenje zahtjeva za kreditiranje kako bi postigli bržu i točniju procjenu rizika, koristeći strojnu inteligenciju za uračunavanje karaktera i kapaciteta podnositelja zahtjeva.

Underwrite je fintech tvrtka koja pruža AI rješenje za donositelje kreditnih odluka. underwrite.ai koristi AI kako bi otkrio koji će podnositelj zahtjeva vjerojatnije otplatiti zajam, pristup za koji tvrtka tvrdi da nadmašuje tradicionalne bodovne kartice.

AI u HR

Under Armour, tvrtka za sportsku odjeću, revolutionizirao je zapošljavanje i modernizirao iskustvo kandidata uz pomoć umjetne inteligencije. Under Armour suočio se s porastom interesa 2012. godine i u prosjeku je primao više od 30 000 prijava mjesečno. Čitanje svih tih prijava, a zatim početak procesa provjere i intervjua trajao je predugo. Dugotrajan proces zapošljavanja i uključivanja ljudi utjecao je na sposobnost Under Armoura da svoje maloprodajne trgovine u potpunosti popuni osobljem, pripremi i bude spremne za rad.

U to vrijeme, Under Armour je imao svu neophodnu HR tehnologiju, kao što su transakcijska rješenja za nabavu, primjenu, trackralj i uvođenje u posao, ali ti alati sami po sebi nisu bili dovoljni. Under Armour je odabrao HireVue, pružatelja HR rješenja temeljenih na umjetnoj inteligenciji, i za intervjue na zahtjev i za intervjue uživo. Rezultati su bili zapanjujući: tvrtka je izvijestila o smanjenju vremena popunjavanja za 35%, a istovremeno je povećala kvalitetu osoblja koje je zaposlila.

AI u marketingu

Umjetna inteligencija vrijedan je alat za upravljanje korisničkom službom i izazove personalizacije. Poboljšano prepoznavanje govora u upravljanju pozivnim centrom i usmjeravanju poziva, kao rezultat primjene tehnika umjetne inteligencije, omogućuje besprijekornije iskustvo za korisnike.

Na primjer, analiza dubokog učenja zvuka omogućuje sustavima procjenu emocionalnog tona kupca. Ako kupac loše reagira na AI chatbota, sustav može preusmjeriti razgovor na stvarnog, ljudskog operatera koji preuzima problem.

Osim triju gore navedenih primjera dubokog učenja, umjetna inteligencija se široko koristi u drugim sektorima i industrijama.

Zašto je duboko učenje važno?

Duboko učenje je moćan alat za pretvaranje predviđanja u praktične rezultate. Duboko učenje se ističe u otkrivanju obrazaca i predviđanju temeljenom na znanju. Big podataka je gorivo za duboko učenje. Kada se oboje kombinira, organizacija može postići rezultate u produktivnosti, prodaji, upravljanju i inovacijama koji su prije bili nedostižni.

Duboko učenje također može nadmašiti tradicionalne metode. Posebno u problemima percepcije, duboke mreže godinama su bile najuspješnije: klasifikacija slika, prepoznavanje govora i prepoznavanje lica dominirani su dubokim arhitekturama, s modelima prepoznavanja lica koji postižu gotovo 99% točnosti na standardnim javnim mjerilima. Prednost dolazi od toga što mreža uči vlastite značajke umjesto da se oslanja na ručno konstruirane.

Ograničenja dubokog učenja

Ti rezultati dolaze sa stvarnim troškovima.

Označavanje podataka

Većina trenutnih modela umjetne inteligencije obučava se putem nadziranog učenja. To znači da ljudi moraju označavati i kategorizirati temeljne podatke, što može biti velik i podložan pogreškama zadatak. Na primjer, tvrtke razvijajuping Tehnologije autonomnih automobila zapošljavaju stotine ljudi koji ručno zapisuju sate video zapisa iz prototipova vozila kako bi se obučili ti sustavi.

Nabavite ogromne skupove podataka za obuku

Pokazalo se da tehnike dubokog učenja poput CNN-a u nekim slučajevima mogu oponašati znanje stručnjaka u medicini i drugim područjima. Međutim, taj val strojnog učenja zahtijeva skupove podataka za obuku koji nisu samo označeni, već i dovoljno široki i univerzalni.

Metode dubokog učenja zahtijevaju tisuće opažanja da bi modeli postali relativno dobri u zadacima klasifikacije, a u nekim slučajevima i milijune da bi se mogli izvoditi na razini ljudi. Nije iznenađujuće da je duboko učenje najčešće u divovskim tehnološkim tvrtkama, koje koriste velike količine podataka za akumuliranje petabajta primjera. Ta skala im omogućuje stvaranje impresivnih i vrlo točnih modela dubokog učenja.

Objasnite problem

Velike i složene modele može biti teško objasniti ljudskim jezikom, na primjer zašto je donesena određena odluka. To je jedan od razloga zašto prihvaćanje nekih umjetna inteligencija alati su spori u područjima primjene gdje je interpretabilnost korisna ili čak potrebna.

Nadalje, kako se primjena umjetne inteligencije širi, regulatorni zahtjevi također bi mogli potaknuti potrebu za objašnjivijim modelima umjetne inteligencije.

Pitanja i odgovori

Klasičan stroj za učenje Potrebne su ručno konstruirane značajke i dobro funkcionira na malim tabličnim podacima. Duboko učenje uči značajke iz sirovih nestrukturiranih podataka, ali zahtijeva puno više primjera i izračuna.

Uvodi nelinearnost, tako da složeni slojevi mogu modelirati zakrivljene granice odlučivanja umjesto da se uruše u jedan linearni korak. ReLU je uobičajena zadana postavka u skrivenim slojevima; sigmoid i softmax oblikuju izlaz.

Unatrag propagacijom se mjeri koliko je svaka težina doprinijela pogrešci, a zatim se taj gradijent pomiče unatrag kroz slojeve tako da se svaka težina pomiče u smjeru koji smanjuje gubitak. To je druga faza u akciji.

Epoha je jedan potpuni prolaz kroz podatke za učenje. Veličina serije je koliko uzoraka mreža vidi prije ažuriranja težina. Brzina učenja kontrolira koliko je veliko svako od tih ažuriranja težina.

Transformatori, predstavljeni 2017. godine, zamjenjuju ponavljanje pažnjom, omogućujući svakom tokenu da istovremeno prati svaki drugi token. Budući da se to odvija paralelno, skaliraju se puno bolje od RNN-ova i sada dominiraju radom s jezikom i vidom.

Trening je uglavnom množenje velikih matrica, koje GPU-i izvode paralelno s vrlo velikom propusnošću memorije. Premještanje CNN-a ili transformatora s CPU-a na jedan GPU za trening obično daje višestruka ubrzanja.

Pretraživanje neuronske arhitekture i alati AutoML isprobavaju broj slojeva, širine i hiperparametre, a zatim zadržavaju kandidata koji se najbolje provjeri. Dramatično smanjuju ručno pretraživanje, iako osoba i dalje postavlja cilj i proračun za izračun.

GitHub kopilot nacrti TensorFlow i PyTorch petlje za učenje iz kratkog prompta. Provjerite ulazne oblike, funkciju gubitka i sami odredite početni broj, jer generirani standardni kod često krivo prikazuje te podatke.

Sažmite ovu objavu uz: