AdamátorZápiskyHlášky

Neuronové sítě (Holeňa)

Zápisky z přednášek prof. Ing. RNDr. Martina Holeni, CSc.

Prezentace k přednášce

Neuronové sítě původně vznikly z pokusu matematicky modelovat skutečné neurony.

Neurony budeme reprezentovat jako vrcholy 𝒱 a spoje mezi nimi jako orientované hrany 𝒞𝒱×𝒱. Potom (𝒱,C,c) je graf reprezentující neuronovou síť. Její topologie je (V,𝒞,ε), kde ε jsou nějaké hrany navíc mezi neurony a vnějším prostředím. Pro v𝒱 značíme

i(v){u𝒱|(u,v)𝒞},
o(v){u𝒱|(v,u)𝒞},
{v|i(v)=},
𝒪{v|o(v)=},
𝒱𝒪.

jsou vstupní neurony (protože mají vstup pouze z vnějšího prostředí), 𝒪 jsou výstupní neurony a jsou skryté neurony.

Čas budeme modelovat jako množinu 𝒯. Pro t značíme 𝒯t𝒯(,t. Aktivita neuronu v je funkce zv:𝒯. Je-li zv:𝒯0,1, jde o normalizovanou aktivitu. Stav neuronové sítě je z(t)(zv(t))vV.

V čase t bude síť reprezentovat nějakou funkci Ft z aktivity vstupních neuronů do aktivity výstupních neuronů. Množinu všech možných takových funkcí značíme t. Systém (Ft)t𝒯 nazveme aktivní dynamika sítě. Musí platit:

Máme systém funkcí (ψtv)t𝒯,v𝒱 s vlastnostmi:

Každý parametr sítě je přiřazen nějakému neuronu nebo hraně. Typicky má každý neuron práh θv a každá hrana váhu w(u,v), přičemž aktivita neuronu je definována jako

zv(t)f(ui(v)w(u,v)(t)zu(t)+θv(t)),

kde f je nějaká aktivační funkce.

V praktickém využití se často neuvažuje závislost na čase, čímž se všechno výrazně zjednoduší.

Neuronová síť se nějak adaptuje na základě informací, které dostává od člověka (učitele), což může být jedno z následujících:

Často používané ztrátové funkce γ:|𝒪|×|𝒪|0+ jsou:

Součet čtverců
γ(a,d)i=1|𝒪|(aidi)2,
Křížová entropie
γ(a,d)i=1|𝒪|(dilogai+(1di)log(1ai)),
Logistická ztráta
γ(a,d)da+log(𝕖a𝕖a)=logexpaexpaexp(da)

Způsob, jakým budeme ztrátovou funkci minimalizovat, musíme uzpůsobit podle toho, kolikátou derivaci γ známe.

Nejjednodušší možná „neuronová sít“ je Heavisideova funkce: Θ(x)[x0].

O něco složitější je perceptron (Rosenblatt, 1958):

yr=Θ(i=1kwixi).

Učení perceptronu probíhá v epochách. Dostane učicí vzorek xr,rn^ a zareaguje nějakým výstupem yr. Pokud neklasifikuje správně všechny vzorky, potom změníme váhy podle vzorce

Δwi,rεx(δ(r,s)yr)xi,δ(r,s)[r=s].
Věta konvergence učení perceptronu Nechť Xk je množina učicích vzorků, pro něž existuje posloupnost vah (wi*),ik^ vedoucí k jejich správné klasifikaci do dvou tříd. Nechť X má vlastnosti:Potom učicí algoritmus daný pomocí
εx(i=1kxi2)12
najde wi* pro libovolné počáteční nastavení wi v konečném počtu iterací.
Poznámka V praxi máme jen konečný počet učicích vzorků, takže stačí splnit podmínku lineární separability.
Věta Co když ale data nejsou lineárně separabilní? To můžeme vyřešit přidáním dalších dimenzí. Budeme mít nějakou jádrovou funkci K:X×X0+, která má tu vlastnost, že její Gramova matice Gi,jK(xi,xj) je symetrická a pozitivně semidefinitní.