Uvod u algoritme dubokog učenja
Duboko učenje korak je približavanja umjetnoj inteligenciji koja može donositi odluke poput ljudskog mozga, tj. Imati sposobnost učenja putem pokušaja i pogrešaka poput ljudi. Ljudski mozak ima milijardu neurona (oko 86 milijardi; izvor: Wikipedia). Uz umjetne neurone, duboko učenje pomaže i u oponašanju ljudskog uma. Za obradu informacija i donošenje odluke kroz umjetne neuronske mreže postoje neki algoritmi, nazvani algoritmi dubokog učenja. Algoritmi uče u svakom sloju progresivno tj .; više vrijednosti dodaje se značajkama u sljedećem sloju. Model dubokog učenja može biti koristan ako su podaci mali ili nepotpuni ili previše jednostavni. Algoritmi dubokog učenja učinkoviti su kada su podaci ogromni.
Algoritmi dubokog učenja
Da bi se stvorio model dubokog učenja, treba napisati nekoliko algoritama, spojiti ih i stvoriti mrežu neurona. Duboko učenje ima visoke računske troškove. Da bi se pomoglo modelima dubokog učenja postoje platforme za duboko učenje poput Tensor protoka, Py-Torch, Chainer, Keras, itd. U dubokom učenju pokušali smo umnožiti ljudsku neuronsku mrežu s umjetnom neurološkom mrežom, ljudski neuron se naziva perceptron u model dubokog učenja. Te perceptron jedinice povezujemo zajedno da bismo stvorili neuronsku mrežu, ona ima 3 odjeljka:
- Ulazni sloj
- Skriveni slojevi
- Izlazni sloj
Perceptron ima ulazne čvorove (dendriti u ljudskom mozgu), funkciju aktiviranja za donošenje male odluke i izlazne čvorove (akson u ljudskom mozgu). Vidjet ćemo kako jedan perceptron djeluje, spajajući ih zajedno stvorit će se model dubokog učenja. Ulaznim podacima (broj ulaznih varijabli / karakteristika) dodjeljuje se određena težina i stavlja ih u funkciju aktiviranja. Aktivirajuća funkcija donosi odluku i šalje izlaz. Izlaz ovog perceptrona bit će ulazni dio drugih neurona. Nakon što se šarža obrađuje, izračunava se pogreška razmnožavanja na svakom neuronu, uz pomoć troškovne funkcije / unakrsne entropije. Na taj se način preraspodjeljuju ulazni utezi i cijeli se postupak nastavlja sve dok unakrsna entropija ne zadovolji uvjet.
Imamo različite funkcije aktiviranja kao što su Sigmoidne funkcije, hiperbolička tangenta, Ispravljana linearna jedinica (ReLU) za donošenje male odluke. Model dubokog učenja treba ogromnu količinu podataka za izgradnju dobrog modela. Općenito, model s više od 3 skrivena sloja tretira se kao duboka neuronska mreža. U osnovi, Duboko učenje je skup neurona s nizom parametara definiranih za svaki sloj. Za izradu modela Deep Learning popularne su arhitekture RNN, CNN itd.
Arhitektonske metode algoritama dubokog učenja
Za izgradnju ove arhitekture koriste se sljedeći algoritmi:
1. Leđa širenje
U ovom algoritmu izračunavamo djelomične derivate. Općenito, metoda spuštanja u gradijentu za optimizaciju, derivati (gradijenti) se izračunavaju pri svakoj iteraciji. U dubokom učenju funkcije nisu jednostavne, one su sastav različitih funkcija. U ovom je slučaju teško izračunati gradijente, pa koristimo približnu diferencijaciju za izračunavanje derivata. Što je veći broj parametara, to će biti skuplja približna diferencijacija.
2. Stohastički gradijent
Cilj gradijenta je pronaći globalne minimume ili optimalno rješenje. Ali da bismo to postigli, moramo uzeti u obzir i lokalna minimalna rješenja (nije poželjno). Ako je ciljna funkcija konveksna funkcija, lako je pronaći globalne minimume. Početna vrijednost funkcije i brzine učenja su odlučujući parametri za pronalaženje globalnih minima. To se lako može shvatiti ako se uzme rijeka koja dolazi s vrha planine i traži se podnožje (globalni minimi). Ali na putu će biti nekih uspona i padova (lokalnih minima) koji se moraju izbjeći. Točka i brzina podrijetla rijeke (početna vrijednost i stopa učenja u našem slučaju) su odlučujući faktori za pronalaženje globalnih minima.
3. Stopa učenja
Stopa učenja slična je brzini rijeke, može smanjiti vrijeme treninga i povećati performanse. Općenito, kako biste naučili bilo koju tehniku / sport, u početku je stopa učenja relativno visoka nego na kraju kad je netko treba svladati. Nakon srednje faze, učenje će biti sporo, težište će biti na preciznom prilagođavanju. Isto se primjenjuje u dubokom učenju. Prevelike promjene se rješavaju većom stopom učenja i laganim smanjenjem stupnja učenja kasnije za fino prilagođavanje.
4. Normalizacija serije
U dubokom učenju početna vrijednost težine (nasumično odabrana) i učenja, brzina se definira za mini skup. U početku bi bilo mnogo odmetnika, a tijekom povratnog širenja ovi odlasci moraju biti nadoknađeni za izračunavanje utega kako bi se dobili rezultati. Ova naknada rezultira dodatnim epohama. Da bismo ga izbjegli, koristimo serijsku normalizaciju.
5. Ispusti se
U dubokom učenju općenito se susrećemo s problemom prekomjernog opremanja. Prekomjerno opremanje u velikim mrežama s nekoliko parametara otežava predviđanje testnih podataka. Kako bi se izbjeglo da koristimo metodu odustajanja, koja ispada nasumične jedinice tijekom treninga stvaranjem različitih 'prorijeđenih mreža'. Prilikom ispitivanja tih stanjivanih mreža prosjeke su predviđanja, što pomaže u izbjegavanju prekomjernog uklapanja.
6. Torba riječi
Koristimo neprekidnu vrećicu riječi da bismo predvidjeli sljedeću riječ. Na primjer, vidimo u pisanju e-pošte da je autosugestija za dovršavanje rečenice dio NLP-a. To se postiže razmatranjem puno rečenica i za određenu riječ koja okružuje riječi. Te se specifične riječi i okolne riječi prebacuju u neuronsku mrežu. Nakon modela treninga može predvidjeti određenu riječ na temelju okolnih riječi.
7. Dugo kratkotrajno pamćenje
LSTM je vrlo koristan u problemima predviđanja slijeda poput prevođenja jezika, predviđanja prodaje i pronalaženja cijena dionica. LSTM ima prednost nad ostalim tehnikama jer je u stanju uzeti u obzir prethodne podatke. LSTM vrši izmjene mehanizmom staničnih stanja. Sjeća se da je zaboravio stvari. Tri glavna aspekta LSTM-a razlikuju se od ostalih tehnika dubokog učenja. Prvo je kada bi neuron trebao imati ulaz, drugo kada se sjetiti prethodnih podataka i što zaboraviti i treće je kada treba proći izlaz.
Zaključak
Model dubokog učenja korak je prema umnožavanju ljudskog uma. Umjesto bioloških neurona, duboko učenje koristi umjetnu neurološku mrežu. Duboko učenje ima velike računske troškove, koji se mogu umanjiti uporabom okvira dubokog učenja poput Tensor protoka i Py-Torch itd. RNN, CNN su arhitektonske metode za modele dubokog učenja. U ovom su članku opisani različiti algoritmi dubokog učenja koji se koriste u ovim arhitekturama.
Preporučeni članci
Ovo je vodič za algoritme dubokog učenja. Ovdje smo raspravljali o arhitektonskim metodama za duboko učenje algoritama zajedno sa slojevima. Možete i proći naše druge predložene članke da biste saznali više -
- Uvod u algoritme strojnog učenja
- Top 14 primjena strojnog učenja
- Umjetna inteligencija vs strojno učenje vs dubinsko učenje
- 13 najboljih korisnih pitanja i odgovora za razgovor o dubokom učenju