Pravidlo učení Oja

Ojovo pravidlo učení, nebo jednoduše Ojovo pravidlo, pojmenované po finském informatikovi Erkkim Ojovi, je model toho, jak neurony v mozku nebo v umělých neuronových sítích mění v průběhu času sílu spojení, nebo se učí. Je to modifikace standardního Hebbova pravidla (viz Hebbovo učení), které pomocí multiplikativní normalizace řeší všechny problémy se stabilitou a generuje algoritmus pro analýzu hlavních komponent. Jedná se o výpočetní formu efektu, o kterém se předpokládá, že se odehrává v biologických neuronech.

Klíčovým problémem v umělých neuronových sítích je to, jak se neurony učí. Ústřední hypotézou je, že učení je založeno na změně spojení, neboli synaptických vah mezi neurony podle specifických pravidel učení. Při učení bez dozoru závisí změny vah pouze na vstupech a výstupu neuronu. Populárním předpokladem je Hebbianovo pravidlo učení, podle kterého je změna dané synaptické váhy úměrná jak presynaptickému vstupu, tak výstupní aktivitě postsynaptického neuronu.

Učební pravidlo Oja (Oja, 1982) je matematická formalizace tohoto Hebbovského učebního pravidla, kdy se neuron časem skutečně naučí počítat hlavní složku svého vstupního proudu.

Ojino pravidlo vyžaduje řadu zjednodušení, aby se odvodilo, ale ve své konečné podobě je prokazatelně stabilní, na rozdíl od Hebbova pravidla. Je to jednoneuronový zvláštní případ Generalizovaného Hebbovského algoritmu. Nicméně Ojino pravidlo může být zobecněno i jinými způsoby v různé míře stability a úspěchu.

Ojovo pravidlo definuje změnu presynaptických hmotností w vzhledem k výstupní odezvě neuronu na jeho vstupy x má být

kde η je rychlost učení, která se může také měnit s časem. Všimněte si, že tučné symboly jsou vektory a n definuje diskrétní časovou iteraci. Pravidlo lze také vytvořit pro souvislé iterace jako

Nejjednodušším známým učícím se pravidlem je Hebbovo pravidlo, které v pojmových pojmech říká, že neurony, které spolu hoří, se navzájem propojují. Ve formě součástek jako diferenční rovnice se píše

nebo s implicitní závislostí n,

kde y(xn) je opět výstup, tentokrát explicitně závislý na jeho vstupním vektoru x.

Hebbovo pravidlo má synaptické váhy blížící se nekonečnu s kladnou rychlostí učení. Můžeme to zastavit normalizací vah tak, že velikost každé váhy je omezena mezi 0, což odpovídá nulové hmotnosti, a 1, což odpovídá tomu, že je jediným vstupním neuronem s jakoukoliv hmotností. Matematicky to má podobu

Všimněte si, že v Ojově původní práci, p=2, odpovídá kvadratuře (kořenový součet čtverců), což je známé kartézské normalizační pravidlo. Nicméně jakýkoliv typ normalizace, i lineární, dá stejný výsledek bez ztráty obecnosti.

Naším dalším krokem je rozšířit to do Taylor série pro malé rychlost učení, dávat

U malého η se naše veličiny vyššího řádu O(η2) rovnají nule. Opět stanovíme specifikaci lineárního neuronu, to znamená, že výstup neuronu se rovná součtu součinu každého vstupu a jeho synaptické hmotnosti, nebo

Dále upřesňujeme, že naše váhy se normalizují na 1, což bude nezbytnou podmínkou stability, takže

Doporučujeme:  Centrální limitní věta

který, když je nahrazen do naší expanze, dává Oja pravidlo, nebo

Vezměme si zjednodušený neuronový model, který má
vstupy každý s váhou Neuron nejprve spočítá vážený součet vstupů,

a pak předá tento součet dalším neuronům v síti. Problém učení spočívá v tom, jak změnit váhy, když proud vstupních vektorů jeden po druhém, je dán tomuto neuronu jako vstupy.

Od hebbiánského učení k pravidlu učení Oja

Pomocí výše uvedené matematické notace by mohl být Hebbiánův princip učení vyjádřen jako

kde označuje změnu hodnoty váhy je vstup přicházející váhou a je výstupem neuronu, jak je uvedeno v rovnici (1). Koeficient se nazývá rychlost učení a je typicky malý. Kvůli tomu jeden vstupní vektor (jehož složkou je termín ) způsobí pouze malou okamžitou změnu vah, ale když se malé změny v průběhu času nahromadí, váhy se usadí na nějaké hodnoty.

Rovnice \eqref{Hebb} představuje hebbovský princip, protože termín je součinem vstupu a výstupu. Toto učící se pravidlo má však vážný problém: nic nebrání tomu, aby spoje neustále rostly a nakonec vedly k velmi velkým hodnotám. Měl by existovat jiný termín, který by tento růst vyrovnal. V mnoha neuronových modelech byl použit jiný termín představující „zapomínání“: hodnota samotné váhy by měla být odečtena z pravé strany.
Ústřední myšlenkou učícího se pravidla Oja je, aby tento zapomínající termín byl úměrný nejen hodnotě váhy, ale také druhé mocnině výstupu neuronu. Ojové pravidlo zní:

Zapomínající výraz vyrovnává růst hmotnosti. Čtvercový výstup zaručuje, že čím větší je výstup neuronu, tím silnější je tento vyrovnávací efekt.

Pravidlo učení Oja a analýza hlavních komponent

Matematická analýza naučného pravidla Oja v \eqref{Ojarule} jde následovně (mnohem důkladnější a přísnější analýza se objevuje v knize (Oja, 1983)). Nejprve se změňte na vektorový zápis, ve kterém je sloupcový vektor s prvky a je sloupcový vektor s prvky Nazývají se vstupní vektor, respektive váhový vektor. Ve vektorové maticové notaci pak rovnice (1) zní

kde T znamená transpozici, změnu sloupcového vektoru na řádkový vektor. To je dobře známý vnitřní součin mezi dvěma vektory, definovaný jako součet součinů jejich prvků (viz rovnice (1)).

Dále napište rovnici \eqref{Ojarule} ve vektorové notaci :

Pak nahraďte z rovnice \eqref{linearVec} do rovnice \eqref{OjaruleVec}:

Jedná se o přírůstkovou změnu pouze jednoho vstupního vektoru Když algoritmus běží delší dobu a mění vstupní vektor v každém kroku, lze se podívat na průměrné chování. Zvláště zajímavou otázkou je, jaká je hodnota vah, když průměrná změna hmotnosti je nulová. To je bod konvergence algoritmu.

Průměr pravé strany přes podmínku setrvání konstantní a nastavení na nulu dává následující rovnici pro hmotnostní vektor v bodě konvergence:

kde matice je průměr Za předpokladu, že vstupní vektory mají nulové prostředky, je to ve skutečnosti dobře známá kovarianční matice vstupů.

Doporučujeme:  Discursivní psychologie

Vezmeme-li v úvahu, že kvadratická forma je skalár, pak tato rovnice je jasně rovnice eigenvalue-eigenvector pro kovarianční matici Tato analýza ukazuje, že pokud se váhy sbíhají v Oja učícím se pravidle, pak se váhový vektor stává jedním z eigenvectorů vstupní kovarianční matice a výstup neuronu se stává odpovídající hlavní složkou. Hlavní složky jsou definovány jako vnitřní produkty mezi eigenvectory a vstupními vektory. Z tohoto důvodu se jednoduché neuronové učení podle Oja pravidla stává hlavním komponentovým analyzátorem (PCA).

Ačkoli zde není ukázáno, bylo prokázáno, že je to první hlavní složka, kterou neuron najde, a norma hmotnostního vektoru má tendenci k jedné. Podrobnosti viz (Oja, 1983; 1992). Tato analýza je založena na stochastické aproximační teorii (viz např. Kushner a Clark, 1978) a závisí na souboru matematických předpokladů. Zvláště rychlost učení nemůže být konstantní, ale musí se v průběhu času snižovat. Typickou klesající posloupností je

Rozšíření výukového pravidla Oja

Toto pravidlo učení bylo rozšířeno do několika směrů.
Dvě rozšíření jsou zde stručně shrnuta: Oja pravidlo pro několik paralelních neuronů a nelineárnosti v pravidle.

Oja pravidlo pro několik neuronů

Toto pravidlo učení je možné definovat pro vrstvu paralelních neuronů, z nichž každý přijímá stejný vstupní vektor Aby se pak všechny neurony nenaučily totéž, jsou zapotřebí paralelní spojení mezi nimi. Výsledkem je, že se naučí podmnožinu nebo všechny hlavní složky. Takové nervové vrstvy zvažoval (Oja, 1983, 1992; Sanger, 1989; Földiák, 1989).

Nelineární hebbiánské učení a nezávislá analýza komponent

Nezávislá analýza komponent (ICA) je technika, která souvisí s PCA, ale je potenciálně mnohem výkonnější: místo hledání nekorelovaných komponent jako v PCA, jsou nalezeny statisticky nezávislé komponenty, pokud existují v původních datech. Ukazuje se, že poměrně malé změny v Oja pravidle mohou v takovém případě vytvořit nezávislé, namísto principiální komponenty. Co je potřeba, je změnit lineární výstupní faktor v Hebbianově výrazu na vhodnou nelinearitu, jako Také zapomenutý výraz musí být odpovídajícím způsobem změněn. Následující učící se pravidlo

může být prokázáno, že dává jeden z nezávislých skrytých faktorů za vhodných předpokladů (Hyvärinen a Oja, 1998). Hlavním požadavkem je, že před zadáním tohoto algoritmu musí být vstupní vektory nulový průměr a vybělit tak, aby jejich kovarianční matice byla rovna matici identity. Toho lze dosáhnout jednoduchou lineární transformací, nebo variantou Ojova pravidla (viz také Hyvärinen a kol., 2001).

Při analýze konvergence jednoho neuronu, který se vyvíjí podle Ojova pravidla, se extrahuje první hlavní komponenta nebo rys datové sady. Navíc s rozšířeními pomocí Generalizovaného Hebbiánského algoritmu lze vytvořit multiOjovou neuronovou síť, která dokáže extrahovat tolik rysů, kolik je potřeba, což umožňuje analýzu hlavních komponent.

Hlavní složka aj je extrahována z datového souboru x přes nějaký přidružený vektor qj, nebo aj = qj⋅x, a my můžeme obnovit náš původní datový soubor tím, že

Doporučujeme:  Battle trance

V případě jediného neuronu trénovaného Ojovým pravidlem zjistíme, že váhový vektor konverguje k q1, neboli první hlavní složce, když se čas nebo počet iterací blíží nekonečnu. Můžeme také definovat, vzhledem k sadě vstupních vektorů Xi, že jeho korelační matice Rij = XiXj má přidružené vlastní číslo dané qj s vlastní hodnotou λj. Rozptyl výstupů našeho Ojového neuronu σ2(n) = ⟨y2(n)⟩ pak konverguje s časovými iteracemi k hlavní vlastní hodnotě, nebo

Tyto výsledky jsou odvozeny pomocí analýzy Lyapunovovy funkce a ukazují, že Ojův neuron nutně konverguje na striktně první hlavní komponentu, pokud jsou splněny určité podmínky v našem původním učícím se pravidle. Nejdůležitější je, že naše učící se rychlost η se může měnit s časem, ale pouze tak, že její součet je divergentní, ale její mocninný součet je konvergentní, tedy

Naše výstupní aktivační funkce y(x(n)) může být také nelineární a nesttatická, ale musí být spojitě diferencovatelná v x i w a mít derivace ohraničené v čase.

Ojovo pravidlo bylo původně popsáno v Ojově práci z roku 1982, ale princip sebeorganizace, na který je aplikováno, je poprvé připsán Alanu Turingovi v roce 1952. PCA má také dlouhou historii použití, než Ojovo pravidlo formalizovalo jeho použití v síťových výpočtech v roce 1989. Model tak může být aplikován na jakýkoliv problém sebeorganizování mapování, zejména na ty, u kterých je primárním zájmem extrakce rysů. Proto má Ojovo pravidlo důležité místo ve zpracování obrazu a řeči. Je také užitečné, protože se snadno rozšiřuje do vyšších dimenzí zpracování, takže je schopen rychle integrovat více výstupů. Kanonickým příkladem je jeho použití v binokulárním vidění.

Biologie a subprostorové pravidlo Oji

Existují jasné důkazy jak pro dlouhodobou potenciaci, tak pro dlouhodobou depresi v biologických neuronových sítích, spolu s normalizačním efektem jak ve vstupních hmotnostech, tak ve výstupech neuronů. Nicméně, i když zatím neexistují přímé experimentální důkazy o tom, že by Ojovo pravidlo působilo v biologické neuronové síti, je možná biofyzikální derivace zobecnění tohoto pravidla. Taková derivace vyžaduje retrográdní signalizaci z postsynaptického neuronu, která je biologicky přijatelná (viz neuronové zpětné šíření) a má podobu

kde jako před wij je synaptická hmotnost mezi ith vstupem a jth výstupními neurony, x je vstup, y je postsynaptický výstup a definujeme ε jako konstantní analogickou rychlost učení a cpre a cpost jsou presynaptické a postsynaptické funkce, které modelují slábnutí signálů v čase. Všimněte si, že úhlové závorky označují průměr a operátor ∗ je konvoluce. Přenesením pre- a postsynaptických funkcí do frekvenčního prostoru a kombinací integrujících podmínek s konvolucí zjistíme, že to dává libovolně-dimenzionální zobecnění Ojova pravidla známého jako Ojův subprostor, tedy