Uvod v algoritme poglobljenega učenja
Globoko učenje je korak, da se približamo umetni inteligenci, ki bi lahko sprejemala odločitve, kot so človeški možgani, torej se lahko učimo s poskusom in napakami tako kot ljudje. Človeški možgani imajo milijarde nevronov (približno 86 milijard; vir: Wikipedia). Z umetnimi nevroni pomaga tudi globoko učenje pri posnemanju človeškega uma. Za obdelavo informacij in sprejemanje odločitev po umetnih nevronskih omrežjih obstaja nekaj algoritmov, imenovanih algoritmi globokega učenja. Algoritmi se učijo v vsaki plasti postopoma, tj; večja vrednost je dodana funkcijam v naslednjem sloju. Model globokega učenja lahko koristi, če so podatki majhni, nepopolni ali preveč preprosti. Algoritmi globljega učenja so učinkoviti, kadar je veliko podatkov.
Algoritmi poglobljenega učenja
Če želite ustvariti model globokega učenja, morate napisati več algoritmov, jih zliti in ustvariti mrežo nevronov. Globoko učenje ima visoke računske stroške. Za pomoč modelom globljega učenja obstajajo platforme za globoko učenje, kot so Tensor flow, Py-Torch, Chainer, Keras, itd. V poglobljenem učenju smo poskušali razmnožiti človeško nevronsko mrežo z umetno nevronsko mrežo, človeški nevron se imenuje perceptron v model globokega učenja. Te enote perceptrona povezujemo skupaj, da ustvarimo nevronsko mrežo, ima 3 odseke:
- Vhodna plast
- Skrite plasti
- Izhodna plast
Receptron ima vhodna vozlišča (dendriti v človeških možganih), funkcijo sproženja za sprejem majhne odločitve in izhodna vozlišča (aksoni v človeških možganih). Videli bomo, kako deluje en perceptron, če jih bomo povezali skupaj, bomo ustvarili model globokega učenja. Vhodnim informacijam (številom vhodnih spremenljivk / lastnosti) se dodeli določena teža in jih sproži funkcija aktiviranja. Aktivirna funkcija sprejme odločitev in pošlje izhod. Izhod tega perceptrona bo vhod v druge nevrone. Ko je serija obdelana, se na vsakem nevronu izračuna napaka razmnoževanja s pomočjo stroškovne funkcije / navzkrižne entropije. Na ta način se vhodne uteži prerazporedijo in celoten postopek se nadaljuje, dokler navzkrižna entropija ne izpolni pogoja.
Za majhno odločitev imamo različne pogonske funkcije, kot so Sigmoidne funkcije, hiperbolična tangentna funkcija, Popravljena linearna enota (ReLU). Model globokega učenja potrebuje ogromno podatkov, da ustvari dober model. Na splošno je model z več kot tremi skritimi plastmi obravnavan kot globoka nevronska mreža. V osnovi je globinsko učenje niz nevronov, ki imajo za vsak sloj določene številne parametre. Za ustvarjanje modela Deep Learning so priljubljene arhitekture RNN, CNN itd.
Arhitekturne metode algoritmov globljega učenja
Za izgradnjo te arhitekture se uporabljajo naslednji algoritmi:
1. Nazaj širjenje
V tem algoritmu izračunamo delne izpeljane. Na splošno se metoda spuščanja z gradientom za optimizacijo, derivati (gradienti) izračunajo pri vsaki ponovitvi. Pri globokem učenju funkcije niso enostavne, so sestava različnih funkcij. V tem primeru je težko izračunati gradiente, zato za izračunavanje izpeljank uporabljamo približno diferenciacijo. Več ko je število parametrov, dražja bo približna diferenciacija.
2. Stohastičen gradientski spust
Pri spustu Gradient je cilj najti globalne minimume ali optimalno rešitev. Da pa to dosežemo, moramo upoštevati tudi lokalne minimalne rešitve (niso zaželene). Če je ciljna funkcija konveksna funkcija, je enostavno najti globalne minimume. Začetna vrednost funkcije in stopnja učenja sta odločilna parametra za iskanje globalnih minimumov. To je enostavno razumeti, če upoštevamo reko, ki prihaja z vrha gore, in išče pogorje (globalni minimi). Toda na poti bo nekaj vzponov in padcev (lokalnih minima), ki se jim je treba izogniti. Izhodiščna točka reke in hitrost (začetna vrednost in stopnja učenja v našem primeru) sta odločilna dejavnika za iskanje globalnih minimumov.
3. Stopnja učenja
Stopnja učenja je kot hitrost reke, lahko skrajša čas treninga in poveča uspešnost. Na splošno, če se želite naučiti katero koli tehniko / šport, je na začetku stopnja učenja razmeroma visoka kot na koncu, ko jo je treba obvladati. Po vmesni stopnji bo učenje počasno, poudarek bo na natančni prilagoditvi. Enako velja za poglobljeno učenje, prevelike spremembe se odpravijo z višjo stopnjo učenja in počasnim zniževanjem stopnje učenja kasneje za natančno nastavitev.
4. Normalizacija serije
Pri globokem učenju se začetna vrednost teže (naključno izbrana) in učenja določi za mini paket. Na začetku bi bilo veliko odstranjevalcev, med povratnim razmnoževanjem pa je treba te odbitke kompenzirati, da izračunajo uteži, da bi dobili rezultat. To nadomestilo povzroči dodatne epohe. Da bi se temu izognili, uporabljamo serijsko normalizacijo.
5. Izpusti
Pri globokem učenju se na splošno srečujemo s težavo prekomernega opremljanja. Če je v velikih omrežjih z več parametri previdno, je težko predvideti preskusne podatke. Da bi se izognili uporabi metode osipa, ki med usposabljanjem spušča naključne enote z ustvarjanjem različnih 'stanjšanih mrež'. Pri preizkušanju teh redčenih omrežij se povprečno predvidevajo napovedi, kar prepreči prekomerno opremljanje.
6. Torba besed
Za napovedovanje naslednje besede uporabljamo neprekinjeno vrečo besed. Na primer, v e-pošti vidimo, da je pisanje avtosugestije za dokončanje stavka del NLP-ja. To storimo tako, da upoštevamo veliko stavkov in za določeno besedo, ki obdaja besede. Te posebne besede in okoliške besede se napajajo v nevronski mreži. Po modelu treninga lahko na podlagi okoliških besed predvidi določeno besedo.
7. Dolg kratkoročni spomin
LSTM je zelo uporaben pri težavah z napovedovanjem zaporedja, kot so prevajanje jezika, napovedovanje prodaje in iskanje cene delnic. LSTM ima prednost pred drugimi tehnikami, ker lahko upošteva predhodne podatke. LSTM spreminja mehanizem s staničnimi stanji. Spominja se, da stvari pozabi. 3 glavne vidike LSTM izstopajo od drugih tehnik poglobljenega učenja. Prvo je, kdaj naj bi nevron imel vložene podatke, drugo, kdaj se je treba spomniti prejšnjih podatkov in kaj pozabiti, tretje pa je, kdaj prenesti izhod.
Zaključek
Model globokega učenja je korak k podvajanju človeškega uma. Namesto bioloških nevronov globinsko učenje uporablja umetno nevronsko mrežo. Globoko učenje ima visoke računske stroške, ki jih je mogoče zmanjšati z uporabo globinskih učnih okvirov, kot so Tensor flow in Py-Torch itd. RNN, CNN so arhitekturne metode za modele poglobljenega učenja. V tem članku so obravnavani različni algoritmi globljega učenja, ki se uporabljajo v teh arhitekturah.
Priporočeni članki
To je vodnik po Algoritmih globljega učenja. Tukaj obravnavamo arhitekturne metode algoritmov globljega učenja skupaj s plastmi. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -
- Uvod v algoritme strojnega učenja
- Najboljših 14 aplikacij strojnega učenja
- Umetna inteligenca proti strojnemu učenju proti poglobljenemu učenju
- Top 13 uporabnih vprašanj in odgovorov za intervju z globokim učenjem