Globoke nevronske mreže

Človeško znanje je obsežno, spremenljivo in težko opredeljivo. Človeški um je sposoben absorbirati in uporabljati znanje, ker je, kot so zapisali Chomsky, Roberts in Watumull, »... presenetljivo učinkovit, celo eleganten sistem, ki obdeluje majhne količine informacij. Ne stremi k sklepanju o surovih povezavah med podatki, ampak k razlaganju.«

Strojno učenje naj bi to počelo z iskanjem vzorcev v velikih količinah podatkov. Prej pa so morali programerji ročno kodirati, določiti katere značilnosti podatkov so pomembne za obravnavani problem, in jih posredovati stroju v obliki »parametrov«. Kot smo že povedali, je delovanje sistema močno odvisno od kakovosti podatkov in parametrov, ki jih ni vedno enostavno natančno določiti.

Globoke nevronske mreže (ang. deep neural networks) ali globoko učenje (ang. deep learning) predstavlja vejo strojnega učenja, ki omenjeno premaguje:

  • z ekstrahiranjem lastnih parametrov iz podatkov v fazi učenja;
  • z uporabo več plasti, ki gradijo razmerja med parametri, postopoma gredo od preprostih reprezentacij v najbolj zunanji plasti do bolj kompleksnih in abstraktnih. To globokemu učenju omogoča, da določene naloge opravi bolje kot običajni algoritmi strojnega učenja.

Vse več zmogljivih aplikacij strojnega učenja se vedno bolj zanaša na globoko učenje. Sem spadajo iskalniki, sistemi priporočil, transkripcija govora in tudi prevod tega priročnika iz angleščine v slovenščino. Brez pretiravanja lahko rečemo, da je prav globoko učenje omogočilo uspeh UI pri številnih nalogah.

Izraz »globoke« (globoke nevronske mreže) se nanaša na to, kako se plasti nalagajo ena na drugo, da ustvarijo mrežo. Izraz »nevronske« odraža dejstvo, da so določene vidike njihove zasnove navdihnile povezave med nevroni v človeških bioloških možganih. Kljub temu pa, in čeprav zagotavljajo vpogled v naše lastne miselne procese, so to strogo matematični modeli, ki v resnici niso podobni nobenemu biološkemu elementu ali procesu.


Oblikovanje globoke nevronske mreže

Ko se programer odloči za uporabo globokega učenja in pripravi podatke, mora najprej zasnovati tako imenovano arhitekturo svoje nevronske mreže. Določiti mora število plasti (globina mreže) in število parametrov na plast (širina mreže). Nato se mora odločiti, kako vzpostaviti povezave med plastmi – ali bo vsaka enota plasti povezana z vsako enoto prejšnje plasti ali ne.

Idealna arhitektura za določeno nalogo pogosto se pogosto izkaže kot posledica eksperimentiranja. Večje kot je število plasti, manj parametrov je potrebnih na vsaki plasti. Mreže delujejo bolje s splošnimi podatki, čeprav jih je zato težje optimizirati. Manj povezav bi pomenilo manj parametrov in manj računanja, vendar bi to zmanjšalo prilagodljivost mreže.