Prehľad algoritmov neurónovej siete

  • Poďme najprv vedieť, čo znamená neurónová sieť? Neurónové siete sú inšpirované biologickými neurálnymi sieťami v mozgu alebo môžeme povedať nervový systém. To prinieslo veľa vzrušenia a výskum stále prebieha v tejto podskupine strojového učenia v priemysle.
  • Základnou výpočtovou jednotkou neurónovej siete je neurón alebo uzol. Prijíma hodnoty od ostatných neurónov a počíta výstup. Každý uzol / neurón je spojený s hmotnosťou (w). Táto váha je daná relatívnou dôležitosťou daného konkrétneho neurónu alebo uzla.
  • Ak teda vezmeme f ako funkciu uzlov, potom funkcia uzlov f poskytne výstup, ako je uvedené nižšie: -

Výstup neurónu (Y) = f (w1.X1 + w2.X2 + b)

  • Ak w1 a w2 sú hmotnosť, X1 a X2 sú číselné vstupy, zatiaľ čo b je predpätie.
  • Vyššie uvedená funkcia f je nelineárna funkcia, ktorá sa tiež nazýva aktivačná funkcia. Jeho základným účelom je zaviesť nelinearitu, pretože takmer všetky údaje zo skutočného sveta sú nelineárne a my chceme, aby sa tieto reprezentácie učili neuróny.

Rôzne algoritmy neurónovej siete

Pozrime sa teraz na štyri rôzne algoritmy neurónovej siete.

1. Zostupný prechod

Je to jeden z najpopulárnejších optimalizačných algoritmov v oblasti strojového učenia. Používa sa pri tréningu modelu strojového učenia. Jednoducho povedané, v zásade sa používa na nájdenie hodnôt koeficientov, ktoré jednoducho znižujú nákladovú funkciu v maximálnej možnej miere. Najprv zo všetkých začneme definovaním niektorých hodnôt parametrov a potom pomocou počtu začneme iteratívne upravovať hodnoty tak, aby stratená funkcia je znížená.

Teraz, poďme k časti, čo je gradient ?. Teda gradient znamená, že výstup akejkoľvek funkcie sa bude meniť, ak znížime vstup o málo alebo inými slovami ho môžeme nazvať na svah. Ak je sklon prudký, model sa bude učiť rýchlejšie, keď sa model nula skryje, model sa prestane učiť. Dôvodom je to, že daný algoritmus minimalizuje algoritmus minimalizácie.

Pod vzorcom na nájdenie ďalšej polohy sa zobrazuje v prípade klesania.

Kde b je ďalšia poloha

a je aktuálna poloha, gama je čakacia funkcia.

Ako vidíte, klesanie je veľmi dobrá technika, ale v mnohých oblastiach nefunguje správne. Nižšie sú uvedené niektoré z nich:

  1. Ak algoritmus nie je spustený správne, môžeme sa stretnúť s problémom, ako je napríklad ústup gradientu. Vyskytujú sa, keď je gradient príliš malý alebo príliš veľký.
  2. Problémy nastanú, keď usporiadanie údajov predstavuje nekonvexný optimalizačný problém. Dôstojný prechod funguje iba s problémami, ktoré sú konvexne optimalizovaným problémom.
  3. Jedným z veľmi dôležitých faktorov, ktoré treba pri používaní tohto algoritmu hľadať, sú zdroje. Ak máme pre aplikáciu pridelenú menšiu pamäť, mali by sme sa vyhnúť algoritmu zostupného gradientu.

2. Newtonova metóda

Je to algoritmus optimalizácie druhého poriadku. Hovorí sa tomu druhý poriadok, pretože využíva Heshovskú maticu. Hessiánska matica teda nie je ničím iným ako druhou mocninou matíc čiastkových derivátov druhého rádu funkcie skalárneho významu. V algoritme optimalizácie metód Newtonovej metódy sa aplikuje na prvý derivát dvojitej diferencovateľnej funkcie f, takže môže nájsť korene. / stacionárne body. Teraz prejdeme k krokom vyžadovaným Newtonovou metódou optimalizácie.

Najprv vyhodnotí index strát. Potom skontroluje, či sú kritériá zastavenia pravdivé alebo nesprávne. Ak je nepravdivý, potom vypočíta Newtonov smer tréningu a rýchlosť tréningu a potom zlepší parametre alebo hmotnosti neurónu a opäť ten istý cyklus pokračuje. Takže teraz môžete povedať, že v porovnaní s klesaním klesá na minimum, aby sa dosiahlo minimum hodnota funkcie. Aj keď v porovnaní s algoritmom zostupného klesania má menej krokov, stále sa nepoužíva široko, pretože presný výpočet Hessiana a jeho inverzie je výpočtovo veľmi nákladný.

3. Konjugátový gradient

Je to metóda, ktorú možno považovať za niečo medzi zostupom gradientu a Newtonovou metódou. Hlavný rozdiel spočíva v tom, že urýchľuje pomalú konvergenciu, ktorú zvyčajne spájame s klesaním. Ďalšou dôležitou skutočnosťou je, že sa dá použiť pre lineárne aj nelineárne systémy a je to iteračný algoritmus.

Vyvinuli ho Magnus Hestenes a Eduard Stiefel. Ako už bolo spomenuté vyššie, produkuje rýchlejšiu konvergenciu ako gradient klesania. Dôvodom je to, že v algoritme konjugovaného gradientu sa vyhľadávanie vykonáva spolu so smermi konjugácie, vďaka čomu konverguje rýchlejšie ako algoritmy klesania gradientu. Jedným dôležitým bodom, ktorý treba poznamenať, je, že y sa nazýva konjugovaný parameter.

Tréningový smer je pravidelne nastavený na záporný bod sklonu. Táto metóda je pri výcviku neurónovej siete efektívnejšia ako zostup gradientu, pretože nevyžaduje Hessovskú maticu, ktorá zvyšuje výpočtovú záťaž a konverguje rýchlejšie ako klesanie. Je vhodné používať vo veľkých neurónových sieťach.

4. Kvazi-Newtonova metóda

Je to alternatívny prístup k Newtonovej metóde, pretože teraz vieme, že Newtonova metóda je výpočtovo nákladná. Táto metóda rieši tieto nevýhody do tej miery, že namiesto výpočtu Hessovskej matice a následného výpočtu inverzie priamo vytvára táto metóda aproximáciu pre inverziu Hessiana pri každej iterácii tohto algoritmu.

Teraz sa táto aproximácia vypočíta pomocou informácií z prvej derivácie stratovej funkcie. Môžeme teda povedať, že pravdepodobne ide o najvhodnejšiu metódu riešenia veľkých sietí, pretože šetrí čas výpočtu a je tiež oveľa rýchlejšia ako metóda gradientu klesania alebo konjugovaného gradientu.

záver

Predtým, ako skončíme tento článok, poďme porovnať výpočtovú rýchlosť a pamäť pre vyššie uvedené algoritmy. Podľa požiadaviek na pamäť vyžaduje zostupový gradient najmenšiu pamäť a je tiež najpomalší. Na rozdiel od toho si Newtonova metóda vyžaduje väčšiu výpočtovú silu. Z tohto dôvodu je Quasi-Newtonova metóda najvhodnejšia.

Odporúčané články

Toto bol sprievodca algoritmami neurónovej siete. Tu diskutujeme aj prehľad algoritmu neurónovej siete spolu so štyrmi rôznymi algoritmami. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Strojové učenie vs neurónová sieť
  2. Rámce strojového učenia
  3. Neurónové siete vs hlboké učenie
  4. K- znamená algoritmus zoskupovania
  5. Sprievodca klasifikáciou neurónovej siete

Kategórie: