Sissejuhatus süvaõppe algoritmidesse
Sügav õppimine on samm kunstlikule intelligentsusele lähenemiseks, mis võiks vastu võtta otsuseid, nagu inimese aju, st võime õppida katse-eksituse meetodil, nagu ka inimesed. Inimese ajus on miljardeid neuroneid (umbes 86 miljardit; allikas: Wikipedia). Kunstnärvide abil aitab sügav õppimine ka inimese mõistuse jäljendamist. Teabe töötlemiseks ja otsuse tegemiseks kunstlike närvivõrkude kaudu on olemas mõned algoritmid, mida nimetatakse süvaõppe algoritmideks. Algoritmid õpivad igas kihis järk-järgult, st; järgmise kihi funktsioonid annavad lisaväärtust. Süvaõppe mudel võib üle sobida, kui andmed on väikesed või puudulikud või liiga lihtsad. Süvaõppe algoritmid on tõhusad, kui andmeid on palju.
Süvaõppe algoritmid
Süvaõppe mudeli loomiseks tuleb kirjutada mitu algoritmi, need omavahel kokku segada ja luua neuronite võrk. Süvaõppel on suur arvutuslik kulu. Süvaõppe mudelite hõlbustamiseks on olemas sellised sügava õppe platvormid nagu Tensor flow, Py-Torch, Chainer, Keras jne. Süvaõppes oleme proovinud inimese närvivõrku replitseerida kunstliku närvivõrguga, inimese neuronit nimetatakse perceptroniks. sügav õpimudel. Me ühendame need perceptrooni ühikud närvivõrgu loomiseks. Sellel on 3 sektsiooni:
- Sisendkiht
- Varjatud kihid
- Väljundkiht
Perceptronil on sisendsõlmed (inimese ajus olevad dendriidid), käivitusfunktsioon väikese otsuse tegemiseks ja väljundisõlmed (inimese ajus asuvad aksonid). Näeme, kuidas üks perceptron töötab, nende ühendamine loob sügava õpimudeli. Sisendteabele (sisendmuutujate / tunnuste arv) omistatakse teatav kaal ja kantakse aktiveerimisfunktsioonile. Aktiveerimisfunktsioon teeb otsuse ja saadab väljundi. See perceptrooni väljund sisestatakse teistesse neuronitesse. Kui partii on töödeldud, arvutatakse igal neuronil kulufunktsiooni / rist-entroopia abil tagasi paljunemise viga. Sel viisil määratakse sisendkaalud ümber ja kogu protsess jätkub, kuni rist-entroopia vastab tingimusele.
Väikese otsuse tegemiseks on meil erinevad aktiveerimisfunktsioonid, näiteks Sigmoidi funktsioonid, hüperboolne puutujafunktsioon, puhastatud lineaarüksus (ReLU). Süvaõppe mudel vajab hea mudeli ehitamiseks tohutult andmeid. Üldiselt käsitletakse rohkem kui 3 varjatud kihiga mudelit sügava närvivõrguna. Põhimõtteliselt on sügav õppimine neuronite kogum, mille iga kihi jaoks on määratletud arv parameetreid. Deep Learning mudeli loomiseks on populaarsed arhitektuurid RNN, CNN jne.
Süvaõppe algoritmide arhitektuurimeetodid
Selle arhitektuuri ülesehitamiseks kasutatakse järgmisi algoritme:
1. Selja paljundamine
Selles algoritmis arvutame osalised tuletised. Üldiselt arvutatakse optimeerimiseks gradiendi laskumise meetod, tuletised (gradiendid) arvutatakse iga iteratsiooni korral. Süvaõppes pole funktsioonid lihtsad, need on erinevate funktsioonide koostis. Sel juhul on gradientide arvutamine keeruline, seetõttu kasutame tuletiste arvutamiseks ligikaudset diferentseerumist. Mida rohkem parameetreid on, seda kallim on ligikaudne diferentseerimine.
2. Stohhastiline gradient laskumine
Gradientide laskumisel on eesmärk leida globaalsed miinimumid või optimaalne lahendus. Kuid selleks peame arvestama ka kohalike miinimumlahendustega (pole soovitav). Kui objektiivfunktsioon on kumer, on globaalseid miinimume lihtne leida. Funktsiooni algväärtus ja õppimiskiirus on globaalsete miinimumide leidmise parameetrid. Seda saab hõlpsasti mõista, kui arvestada mäe tipust tuleva jõega ja otsida jalamile (globaalsed miinimumid). Kuid moel tuleb ette mõningaid tõuse ja mõõnasid (kohalikud miinused), mida tuleb vältida. Jõe lähtepunkt ja kiirus (meie puhul algväärtus ja õpikiirus) on globaalsete miinimumide leidmisel otsustavaks teguriks.
3. Õppimisaste
Õppimiskiirus on nagu jõe kiirus, see võib vähendada treeninguaega ja suurendada jõudlust. Üldiselt on mis tahes tehnika / spordi õppimiseks õppetase alguses suhteliselt kõrge kui lõpus, kui seda õppida. Pärast vaheetappi on õppimine aeglane, keskendutakse peenhäälestamisele. Sama kehtib sügava õppimise kohta. Liiga suurte muutustega toime tullakse suurema õpimäära abil ja vähendades hiljem õppimise taset hiljem, et seda täpsustada.
4. Partii normaliseerimine
Süvaõppes on kaalu (juhuslikult valitud) ja õppimise algväärtus määratletud minipartii jaoks. Alguses oleks palju kõrvalekaldeid ja tagasipropagatsiooni ajal tuleb need väljundite saamiseks kaalu arvutamiseks kompenseerida. Selle hüvitise tulemuseks on täiendavad ajajärgud. Selle vältimiseks kasutame partii normaliseerimist.
5. Väljalangemine
Süvaõppes puutume üldjuhul kokku ületäitumise probleemiga. Ümberpaigutamine suurtes mitme parameetriga võrkudes raskendab katseandmete ennustamist. Nii et selle vältimiseks kasutame väljalangemise meetodit, mis loob treeningu ajal juhuslikud ühikud erinevate "hõrendatud võrkude" loomisega. Nende õhenenud võrkude testimisel võetakse keskmiseks prognoosid, mis aitab vältida liigset paigaldamist.
6. Sõnade kott
Järgmise sõna ennustamiseks kasutame pidevat sõnade kotti. Näiteks näeme meilisõnumite kirjutamisel, et lause täitmise automaatne soovitus on NLP osa. Selleks võetakse arvesse palju lauseid ja konkreetse sõna jaoks, mis ümbritseb sõnu, mis on hõivatud. Need konkreetsed sõnad ja neid ümbritsevad sõnad suunatakse närvivõrku. Pärast treeningumudelit suudab see ennustada konkreetset sõna ümbritsevate sõnade põhjal.
7. Pikk lühiajaline mälu
LSTM on väga kasulik selliste järjestuste ennustamisega seotud probleemide korral nagu keele tõlkimine, müügi ennustamine ja aktsiahinna leidmine. LSTM-il on teiste tehnikate ees eelis, kuna ta suudab arvestada eelnevate andmetega. LSTM teeb muudatusi raku olekute mehhanismi järgi. See mäletab asju unustamata. LSTMi 3 peamist aspekti eristavad seda teistest sügava õppimise tehnikatest. Esimene on see, millal neuronil peaks olema sisend, teiseks, millal eelnevad andmed meelde jätta ja mida unustada ning kolmandaks, millal väljund edastada.
Järeldus
Sügav õppimismudel on samm inimmõistuse kordamise suunas. Bioloogiliste neuronite asemel kasutab sügav õppimine kunstlikku närvivõrku. Süvaõppel on kõrge arvutuslik maksumus, mida saab vähendada selliste sügavate õpperaamistike abil nagu Tensori voog ja Py-Torch jne. RNN, CNN on süvaõppe mudelite arhitektuurimeetodid. Selles artiklis käsitletakse erinevaid nendes arhitektuurides kasutatavaid süvaõppe algoritme.
Soovitatavad artiklid
See on juhend süvaõppe algoritmidele. Siin käsitleme süvaõppe algoritmide ja kihtide arhitektuurilisi meetodeid. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Sissejuhatus masinõppe algoritmidesse
- Masinõppe 14 parimat rakendust
- Tehisintellekt vs masinõpe vs sügav õppimine
- 13 parimat kasuliku süvaõppega intervjuu küsimust ja vastust