škrbina Što je duboko učenje? (2024) - Ujedinite se.AI
Povežite se s nama
Majstorski tečaj umjetne inteligencije:

AI 101

Što je duboko učenje?

mm
Ažurirano on

Duboko učenje jedno je od najutjecajnijih i najbrže rastućih područja umjetne inteligencije. Međutim, stjecanje intuitivnog razumijevanja dubokog učenja može biti teško jer pojam dubokog učenja pokriva niz različitih algoritama i tehnika. Duboko učenje također je poddisciplina strojnog učenja općenito, stoga je važno razumjeti što je strojno učenje kako biste razumjeli duboko učenje.

Što je strojno učenje?

Duboko učenje je proširenje nekih koncepata koji potječu iz strojnog učenja, pa iz tog razloga uzmimo minutu da objasnimo što je strojno učenje.

Jednostavno rečeno, strojno učenje je metoda koja omogućuje računalima da izvršavaju određene zadatke bez eksplicitnog kodiranja svakog retka algoritama koji se koriste za postizanje tih zadataka. Postoji mnogo različitih algoritama strojnog učenja, ali jedan od najčešće korištenih algoritama je a višeslojni perceptron. Višeslojni perceptron se također naziva neuronska mreža, a sastoji se od niza čvorova/neurona povezanih zajedno. Postoje tri različita sloja u višeslojnom perceptronu: ulazni sloj, skriveni sloj i izlazni sloj.

Ulazni sloj preuzima podatke u mrežu, gdje njima manipuliraju čvorovi u srednjem/skrivenom sloju. Čvorovi u skrivenom sloju su matematičke funkcije koje mogu manipulirati podacima koji dolaze iz ulaznog sloja, izvlačeći relevantne uzorke iz ulaznih podataka. Tako neuronska mreža "uči". Neuronske mreže dobile su ime po tome što su inspirirane strukturom i funkcijom ljudskog mozga.

Veze između čvorova u mreži imaju vrijednosti koje se nazivaju težine. Ove vrijednosti su u biti pretpostavke o tome kako su podaci u jednom sloju povezani s podacima u sljedećem sloju. Kako mreža trenira, težine se prilagođavaju, a cilj je da se težine/pretpostavke o podacima na kraju konvergiraju na vrijednosti koje točno predstavljaju smislene obrasce unutar podataka.

Aktivacijske funkcije prisutne su u čvorovima mreže, a te aktivacijske funkcije transformiraju podatke na nelinearan način, omogućujući mreži da nauči složene prikaze podataka. Aktivacijske funkcije množe ulazne vrijednosti s težinskim vrijednostima i dodaju izraz pristranosti.

Što je duboko učenje?

Duboko učenje je termin koji se daje arhitekturama strojnog učenja koje spajaju mnogo višeslojnih perceptrona, tako da ne postoji samo jedan skriveni sloj, već mnogo skrivenih slojeva. Što je duboka neuronska mreža "dublja", to mreža može naučiti sofisticiranije obrasce.

Mreže dubokog sloja koje se sastoje od neurona ponekad se nazivaju potpuno povezanim mrežama ili potpuno povezanim slojevima, pozivajući se na činjenicu da određeni neuron održava vezu sa svim neuronima koji ga okružuju. Potpuno povezane mreže mogu se kombinirati s drugim funkcijama strojnog učenja za stvaranje različitih arhitektura dubokog učenja.

Različite vrste dubokog učenja

Postoje različite arhitekture dubokog učenja koje koriste istraživači i inženjeri, a svaka od različitih arhitektura ima svoj poseban slučaj upotrebe.

Konvolucionarne neuronske mreže

Konvolucijske neuronske mreže, ili CNN-ovi, arhitektura su neuronske mreže koja se obično koristi u stvaranju sustava računalnog vida. Struktura konvolucijskih neuronskih mreža omogućuje im interpretaciju slikovnih podataka, pretvarajući ih u brojeve koje potpuno povezana mreža može interpretirati. CNN ima četiri glavne komponente:

  • Konvolucijski slojevi
  • Slojevi poduzorkovanja/udruživanja
  • Aktivacijske funkcije
  • Potpuno povezani slojevi

Konvolucijski slojevi primaju slike kao ulaze u mrežu, analiziraju slike i dobivaju vrijednosti piksela. Poduzorkovanje ili udruživanje je mjesto gdje se vrijednosti slike pretvaraju/reduciraju kako bi se pojednostavio prikaz slika i smanjila osjetljivost filtara slike na šum. Aktivacijske funkcije kontroliraju kako podaci teku s jednog sloja na sljedeći, a potpuno povezani slojevi analiziraju vrijednosti koje predstavljaju sliku i uče obrasce koji se nalaze u tim vrijednostima.

RNN-ovi/LSTM-ovi

Ponavljajuće se neuronske mreže, ili RNN-ovi, popularni su za zadatke gdje je bitan redoslijed podataka, gdje mreža mora naučiti o slijedu podataka. RNN-ovi se obično primjenjuju na probleme poput obrade prirodnog jezika, budući da je redoslijed riječi bitan pri dekodiranju značenja rečenice. "Rekurentni" dio izraza Rekurentna neuronska mreža dolazi od činjenice da izlaz za dati element u nizu ovisi o prethodnom proračunu, kao io trenutnom proračunu. Za razliku od drugih oblika dubokih neuronskih mreža, RNN-ovi imaju "sjećanja", a informacije izračunate u različitim vremenskim koracima u nizu koriste se za izračun konačnih vrijednosti.

Postoji više vrsta RNN-ova, uključujući dvosmjerne RNN-ove, koji uzimaju u obzir buduće stavke u nizu, uz prethodne stavke, prilikom izračuna vrijednosti stavke. Druga vrsta RNN je a Dugo kratkoročno pamćenje ili LSTM, mreža. LSTM-ovi su tipovi RNN-a koji mogu rukovati dugim lancima podataka. Redoviti RNN-ovi mogu postati žrtve nečega što se naziva "problem eksplozivnog gradijenta". Ovaj se problem pojavljuje kada lanac ulaznih podataka postane iznimno dug, ali LSTM-ovi imaju tehnike za borbu protiv ovog problema.

Autoenkoderi

Većina do sada spomenutih arhitektura dubokog učenja primjenjuje se na probleme učenja pod nadzorom, a ne na zadatke učenja bez nadzora. Autokoderi mogu transformirati nenadzirane podatke u nadzirani format, dopuštajući da se neuronske mreže koriste za rješavanje problema.

Autoenkoderi često se koriste za otkrivanje anomalija u skupovima podataka, primjer učenja bez nadzora jer priroda anomalije nije poznata. Takvi primjeri otkrivanja anomalija uključuju otkrivanje prijevara za financijske institucije. U tom kontekstu, svrha autoenkodera je odrediti osnovnu liniju pravilnih uzoraka u podacima i identificirati anomalije ili odstupanja.

Struktura autoenkodera često je simetrična, sa skrivenim slojevima raspoređenim tako da izlaz mreže nalikuje ulazu. Četiri vrste autokodera koji se često koriste su:

  • Obični/obični autokoderi
  • Višeslojni koderi
  • Konvolucijski koderi
  • Regulirani koderi

Obični/obični autokoderi samo su neuronske mreže s jednim skrivenim slojem, dok su višeslojni autokoderi duboke mreže s više od jednog skrivenog sloja. Konvolucijski autokoderi koriste konvolucijske slojeve umjesto ili uz potpuno povezane slojeve. Regulirani autokoderi koriste specifičnu vrstu funkcije gubitka koja neuronskoj mreži omogućuje izvršavanje složenijih funkcija, funkcija koje nisu samo kopiranje ulaza u izlaze.

Generativne suparničke mreže

Generativne kontradiktorne mreže (GAN) su zapravo više dubokih neuronskih mreža umjesto samo jedne mreže. Dva modela dubokog učenja treniraju se u isto vrijeme, a njihovi izlazi šalju se u drugu mrežu. Mreže se međusobno natječu, a budući da imaju pristup međusobnim izlaznim podacima, obje uče iz tih podataka i poboljšavaju se. Dvije mreže u biti igraju igru ​​krivotvorina i otkrivanja, gdje generativni model pokušava stvoriti nove instance koje će prevariti detektivski model/diskriminatora. GAN-ovi su postali popularni u području računalnog vida.

Sažetak dubokog učenja

Duboko učenje proširuje načela neuronskih mreža za stvaranje sofisticiranih modela koji mogu naučiti složene obrasce i generalizirati te uzorke na buduće skupove podataka. Konvolucijske neuronske mreže koriste se za interpretaciju slika, dok se RNN/LSTM koriste za interpretaciju sekvencijalnih podataka. Autokoderi mogu transformirati nenadzirane zadatke učenja u nadzirane zadatke učenja. Konačno, GAN-ovi su višestruke mreže međusobno suprotstavljene koje su posebno korisne za zadatke računalnog vida.

Bloger i programer sa specijalnošću u Strojno učenje i Duboko učenje temama. Daniel se nada pomoći drugima da iskoriste snagu umjetne inteligencije za društveno dobro.