škrbina Kaj je globoko učenje? (2024) - Združite.AI
Povežite se z nami

AI 101

Kaj je globoko učenje?

mm
Posodobljeno on

Globoko učenje je eno najvplivnejših in najhitreje rastočih področij umetne inteligence. Vendar pa je lahko težko intuitivno razumeti globoko učenje, ker izraz globoko učenje zajema vrsto različnih algoritmov in tehnik. Globoko učenje je tudi poddisciplina strojnega učenja na splošno, zato je pomembno razumeti, kaj je strojno učenje, da bi razumeli globoko učenje.

Kaj je strojno učenje?

Globoko učenje je razširitev nekaterih konceptov, ki izvirajo iz strojnega učenja, zato si vzemimo minuto časa in razložimo, kaj je strojno učenje.

Preprosto povedano, strojno učenje je metoda, ki računalnikom omogoča izvajanje določenih nalog brez eksplicitnega kodiranja vsake vrstice algoritmov, ki se uporabljajo za izpolnitev teh nalog. Obstaja veliko različnih algoritmov strojnega učenja, vendar je eden najpogosteje uporabljenih algoritmov a večplastni perceptron. Večplastni perceptron se imenuje tudi nevronska mreža in je sestavljen iz niza med seboj povezanih vozlišč/nevronov. V večplastnem perceptronu so tri različne plasti: vhodna plast, skrita plast in izhodna plast.

Vhodna plast prenese podatke v omrežje, kjer z njimi manipulirajo vozlišča v srednji/skriti plasti. Vozlišča v skritem sloju so matematične funkcije, ki lahko manipulirajo s podatki, ki prihajajo iz vhodnega sloja, in iz vhodnih podatkov izločijo ustrezne vzorce. Tako se nevronska mreža »uči«. Nevronske mreže so dobile ime po dejstvu, da se zgledujejo po zgradbi in delovanju človeških možganov.

Povezave med vozlišči v omrežju imajo vrednosti, imenovane uteži. Te vrednosti so v bistvu predpostavke o tem, kako so podatki v eni plasti povezani s podatki v naslednji plasti. Ko se omrežje usposablja, se uteži prilagajajo, cilj pa je, da se uteži/predpostavke o podatkih sčasoma zbližajo z vrednostmi, ki natančno predstavljajo pomembne vzorce v podatkih.

Aktivacijske funkcije so prisotne v vozliščih omrežja in te aktivacijske funkcije transformirajo podatke na nelinearen način, kar omrežju omogoča, da se nauči kompleksnih predstavitev podatkov. Aktivacijske funkcije pomnožijo vhodne vrednosti z vrednostmi teže in dodajo pristranski izraz.

Kaj je globoko učenje?

Globoko učenje je izraz za arhitekture strojnega učenja, ki združujejo več večplastnih perceptronov skupaj, tako da ni le ena skrita plast, ampak več skritih plasti. »Globlje« kot je globoko nevronsko omrežje, bolj sofisticiranih vzorcev se lahko omrežje nauči.

Mreže globokih plasti, sestavljene iz nevronov, se včasih imenujejo popolnoma povezana omrežja ali popolnoma povezane plasti, kar se nanaša na dejstvo, da določen nevron ohranja povezavo z vsemi nevroni, ki ga obdajajo. Popolnoma povezana omrežja je mogoče kombinirati z drugimi funkcijami strojnega učenja za ustvarjanje različnih arhitektur globokega učenja.

Različne vrste globokega učenja

Obstajajo različne arhitekture globokega učenja, ki jih uporabljajo raziskovalci in inženirji, in vsaka od različnih arhitektur ima svoj poseben primer uporabe.

Konvolucijsko nevronsko omrežje

Konvolucionarne nevronske mreže, ali CNN, so arhitektura nevronske mreže, ki se običajno uporablja pri ustvarjanju sistemov računalniškega vida. Struktura konvolucijskih nevronskih mrež jim omogoča interpretacijo slikovnih podatkov in njihovo pretvorbo v številke, ki jih lahko interpretira popolnoma povezano omrežje. CNN ima štiri glavne komponente:

  • Konvolucijske plasti
  • Plasti podvzorčenja/združevanja
  • Aktivacijske funkcije
  • Popolnoma povezane plasti

Konvolucijske plasti sprejemajo slike kot vhode v omrežje, analizirajo slike in pridobivajo vrednosti slikovnih pik. Pri podvzorčenju ali združevanju se vrednosti slike pretvorijo/zmanjšajo, da se poenostavi predstavitev slik in zmanjša občutljivost slikovnih filtrov na šum. Aktivacijske funkcije nadzorujejo, kako podatki tečejo iz ene plasti v naslednjo, popolnoma povezane plasti pa so tiste, ki analizirajo vrednosti, ki predstavljajo sliko, in se naučijo vzorcev v teh vrednostih.

RNN/LSTM

Ponavljajoče se nevronske mrežeali RNN so priljubljeni za naloge, kjer je vrstni red podatkov pomemben, kjer mora omrežje izvedeti o zaporedju podatkov. RNN se običajno uporabljajo za težave, kot je obdelava naravnega jezika, saj je vrstni red besed pomemben pri dekodiranju pomena stavka. »Ponavljajoči se« del izraza ponavljajoče se nevronske mreže izhaja iz dejstva, da je izhod za dani element v zaporedju odvisen od prejšnjega izračuna in tudi trenutnega izračuna. Za razliko od drugih oblik globokih nevronskih mrež imajo RNN "spomine" in informacije, izračunane v različnih časovnih korakih v zaporedju, se uporabljajo za izračun končnih vrednosti.

Obstaja več vrst RNN-jev, vključno z dvosmernimi RNN-ji, ki pri izračunu vrednosti elementa poleg prejšnjih elementov upoštevajo prihodnje elemente v zaporedju. Druga vrsta RNN je a Dolgotrajni kratkoročni spomin ali LSTM, omrežje. LSTM so vrste RNN, ki lahko obravnavajo dolge verige podatkov. Običajni RNN lahko postanejo žrtev nečesa, kar se imenuje "problem eksplozivnega gradienta". Ta težava se pojavi, ko postane veriga vhodnih podatkov izjemno dolga, vendar imajo LSTM tehnike za boj proti tej težavi.

Samodejni kodirniki

Večina do sedaj omenjenih arhitektur globokega učenja se uporablja za nadzorovane učne težave, namesto za nenadzorovane učne naloge. Samodejni kodirniki lahko pretvorijo nenadzorovane podatke v nadzorovano obliko, kar omogoča uporabo nevronskih mrež pri težavi.

Samodejni kodirniki se pogosto uporabljajo za odkrivanje anomalij v naborih podatkov, primer nenadzorovanega učenja, saj narava anomalije ni znana. Takšni primeri odkrivanja anomalij vključujejo odkrivanje goljufij za finančne institucije. V tem kontekstu je namen samodejnega kodirnika določiti izhodišče pravilnih vzorcev v podatkih in identificirati anomalije ali odstopanja.

Struktura samodejnega kodirnika je pogosto simetrična, s skritimi plastmi, razporejenimi tako, da je izhod omrežja podoben vhodu. Štiri vrste samodejnih kodirnikov, ki se pogosto uporabljajo, so:

  • Običajni/navadni samodejni kodirniki
  • Večplastni kodirniki
  • Konvolucijski kodirniki
  • Regulirani kodirniki

Običajni/navadni samodejni kodirniki so le nevronske mreže z eno samo skrito plastjo, medtem ko so večplastni samodejni kodirniki globoka omrežja z več kot eno skrito plastjo. Konvolucijski samodejni kodirniki uporabljajo konvolucijske plasti namesto popolnoma povezanih plasti ali poleg njih. Regulirani samodejni kodirniki uporabljajo posebno vrsto funkcije izgube, ki nevronski mreži omogoča izvajanje bolj zapletenih funkcij, funkcij, ki niso samo kopiranje vhodov v izhode.

Generativne adversarne mreže

Generative Adversarial Networks (GAN) so pravzaprav več globokih nevronskih mrež namesto le ene mreže. Dva modela globokega učenja se usposabljata hkrati, njuni izhodi pa se napajajo v drugo omrežje. Omrežji med seboj tekmujeta in ker imata dostop do izhodnih podatkov drug drugega, se iz teh podatkov učita in izboljšujeta. Dve omrežji v bistvu igrata igro ponarejanja in odkrivanja, kjer generativni model poskuša ustvariti nove primere, ki bodo preslepili detektivski model/diskriminatorja. GAN so postali priljubljeni na področju računalniškega vida.

Povzetek globokega učenja

Globoko učenje razširja načela nevronskih mrež za ustvarjanje prefinjenih modelov, ki se lahko naučijo zapletenih vzorcev in te vzorce posplošijo na prihodnje nize podatkov. Konvolucijske nevronske mreže se uporabljajo za interpretacijo slik, medtem ko se RNN/LSTM uporabljajo za interpretacijo zaporednih podatkov. Avtokodirniki lahko nenadzorovane učne naloge pretvorijo v nadzorovane učne naloge. Nazadnje so GAN-ji več omrežij, ki so postavljena drug proti drugemu in so še posebej uporabna za naloge računalniškega vida.

Bloger in programer s posebnostmi v strojno učenje in Globoko učenje teme. Daniel upa, da bo drugim pomagal uporabiti moč umetne inteligence za družbeno dobro.