Strojno učenje je skupek metod, ki se uporabljajo za ustvarjanje računalniških programov, ki se lahko učijo iz opazovanj in dajejo napovedi. Strojno učenje uporablja algoritme, regresijo in sorodne vede za razumevanje podatkov. Te algoritme lahko na splošno štejemo kot statistične modele in omrežja.
Globoko učenje je podvrsta strojnih metod učenja. Podatki se razdelijo skozi več plasti globokega učnega omrežja, tako da lahko mreža sklepa in sprejema odločitve o podatkih. Metode poglobljenega učenja omogočajo veliko natančnost pri velikih naborih podatkov, vendar te lastnosti omogočajo globlje učenje veliko bolj intenzivno z viri kot klasično strojno učenje.
Strojno učenje se že nekaj desetletij uporablja kot metoda za doseganje umetne inteligence v strojih. V osnovi je področje strojnega učenja usmerjeno v ustvarjanje računalnikov, ki se lahko učijo in sprejemajo odločitve, zaradi česar je strojno učenje dobro prilagojeno raziskovanju umetne inteligence. Vendar niso vsi modeli strojnega učenja namenjeni razvijanju "prave" umetne inteligence, ki se popolnoma ujema ali presega človeško inteligenco. Namesto tega so modeli pogosto zasnovani za raziskovanje posebnih, omejenih težav.
Globoko učenje je bilo predlagano v zgodnjih fazah razprav o strojnem učenju, vendar je malo raziskovalcev sledilo metodam globokega učenja, ker so računske potrebe po globokem učenju veliko večje kot pri klasičnem strojnem učenju. Vendar se je računalniška moč računalnikov od leta 2000 eksponentno povečala, kar je raziskovalcem omogočilo ogromne izboljšave na področju strojnega učenja in gradnje umetne inteligence. Ker se modeli globokega učenja dobro povečujejo s povečanjem podatkov, lahko globoko učenje premaga velike ovire pri ustvarjanju prave umetne inteligence.
Strojno učenje in poglobljeno učenje sta algoritmična. Pri klasičnem strojnem učenju raziskovalci uporabljajo razmeroma majhno količino podatkov in se odločijo, katere so najpomembnejše lastnosti v podatkih, ki jih algoritem potrebuje, da bi lahko predvideli. Ta metoda se imenuje funkcijski inženiring. Na primer, če bi se program strojnega učenja učili prepoznavati podobo letala, bi njegovi programerji izdelali algoritme, ki programu omogočajo prepoznavanje značilnih oblik, barv in velikosti komercialnih letal. S temi informacijami bi program strojnega učenja predvidel, ali bodo slike predstavljene z vključenimi letali.
Globoko učenje se na splošno razlikuje od klasičnega strojnega učenja s številnimi plastmi odločanja. Omrežja globokega učenja se pogosto obravnavajo kot "črne škatle", ker se podatki razdelijo skozi več mrežnih slojev, pri čemer vsaka opravi opažanja. To lahko rezultate težje razume kot rezultate klasičnega strojnega učenja. Natančno število slojev ali korakov pri odločanju je odvisno od vrste in zahtevnosti izbranega modela.
Strojno učenje tradicionalno uporablja majhne naloge podatkov, iz katerih se lahko učijo in napovedujejo. Z majhnimi količinami podatkov lahko raziskovalci določijo natančne lastnosti, ki bodo pomagale programu strojnega učenja razumeti in se naučiti iz podatkov. Če pa program naleti na informacije, ki jih ne more razvrstiti na podlagi svojih že obstoječih algoritmov, bodo raziskovalci običajno morali ročno analizirati problematične podatke in ustvariti novo funkcijo. Zaradi tega klasično strojno učenje ponavadi ni dobro z veliko količino podatkov, lahko pa zmanjša napake na manjših naborih podatkov.
Globoko učenje je še posebej primerno za velike nabore podatkov in modeli pogosto zahtevajo, da so velike množice podatkov koristne. Zaradi zapletenosti mreže z globokim učenjem omrežje potrebuje veliko količino podatkov o vadbi in dodatnih podatkov za testiranje omrežja po treningu. Trenutno raziskovalci izpopolnjujejo omrežja globokega učenja, ki so lahko učinkovitejša in uporabljajo manjše nabore podatkov.
Strojno učenje ima različne zahteve glede zmogljivosti računalnika. Obstaja veliko modelov, ki jih je mogoče zagnati na povprečnem osebnem računalniku. Bolj kot so napredne statistične in matematične metode, težje je, da računalnik hitro obdeluje podatke.
Globoko učenje je zelo veliko virov. Razdelitev velikih količin informacij skozi več plasti odločanja zahteva veliko računalniške moči. Ko računalniki hitreje napredujejo, je globlje učenje vedno bolj dostopno.
Strojno učenje ima nekaj skupnih in pomembnih omejitev. Prekomerno opremljanje je statistična težava, ki lahko vpliva na algoritem strojnega učenja. Algoritem strojnega učenja vsebuje določeno količino "napake" pri analizi in napovedovanju s podatki. Algoritem naj bi pokazal razmerje med ustreznimi spremenljivkami, toda pri prekomernem opremljanju začne zajemati tudi napako, kar vodi v "hrupnejši" ali napačen model. Modeli strojnega učenja lahko postanejo tudi pristranski do idiosinkrazije podatkov, s katerimi so bili usposobljeni, problem, ki je še posebej očiten, ko raziskovalci trenirajo algoritme na celotnem razpoložljivem naboru podatkov, namesto da bi prihranili del podatkov za testiranje algoritma proti.
Globoko učenje ima enake pasti statistike kot klasično strojno učenje, pa tudi nekaj edinstvenih vprašanj. Za številne težave ni dovolj razpoložljivih podatkov za usposabljanje razumno natančne mreže za globoko učenje. Zbiranje več podatkov o dejanskem problemu je pogosto nemogoče ali nemogoče, kar omejuje trenutno temo tem, za katere se lahko uporablja globoko učenje.
Strojno učenje in globoko učenje opisujeta metode poučevanja računalnikov za učenje in sprejemanje odločitev. Globoko učenje je podvrsta klasičnega strojnega učenja, zaradi nekaterih pomembnih razlik pa sta globoko učenje in strojno učenje vsakega posebej primerna za različne aplikacije.