peň Čo sú RNN a LSTM v hlbokom učení? - Spojte sa.AI
Spojte sa s nami
Masterclass AI:

AI 101

Čo sú RNN a LSTM v hlbokom učení?

mm
Aktualizované on

Mnohé z najpôsobivejších pokrokov v spracovaní prirodzeného jazyka a chatbotoch AI sú poháňané Opakujúce sa neurónové siete (RNN) a siete s dlhou krátkodobou pamäťou (LSTM). RNN a LSTM sú špeciálne architektúry neurónových sietí, ktoré sú schopné spracovať sekvenčné dáta, dáta, kde záleží na chronologickom usporiadaní. LSTM sú podstatne vylepšené verzie RNNschopný interpretovať dlhšie sekvencie údajov. Poďme sa pozrieť na to, ako sú RNN a LSTMS štruktúrované a ako umožňujú vytváranie sofistikovaných systémov na spracovanie prirodzeného jazyka.

Čo sú to Feed-Forward neurónové siete?

Takže predtým, než si povieme, ako funguje dlhodobá pamäť (LSTM) a konvolučné neurónové siete (CNN), mali by sme diskutovať o formáte neurónovej siete vo všeobecnosti.

Neurónová sieť je určená na skúmanie údajov a učenie sa relevantných vzorcov, aby bolo možné tieto vzorce aplikovať na iné údaje a klasifikovať nové údaje. Neurónové siete sú rozdelené do troch častí: vstupná vrstva, skrytá vrstva (alebo viacero skrytých vrstiev) a výstupná vrstva.

Vstupná vrstva je to, čo prijíma údaje do neurónovej siete, zatiaľ čo skryté vrstvy sú to, čo sa učí vzory v údajoch. Skryté vrstvy v množine údajov sú spojené so vstupnou a výstupnou vrstvou pomocou „váh“ a „predpojatosti“, čo sú len predpoklady toho, ako navzájom súvisia údajové body. Tieto váhy sa upravujú počas tréningu. Ako sa sieť trénuje, odhady modelu o trénovacích údajoch (výstupné hodnoty) sa porovnávajú so skutočnými trénovacími štítkami. V priebehu tréningu by sa sieť mala (dúfajme) spresniť v predpovedaní vzťahov medzi dátovými bodmi, aby mohla presne klasifikovať nové dátové body. Hlboké neurónové siete sú siete, ktoré majú viac vrstiev v stredných/viac skrytých vrstiev. Čím viac skrytých vrstiev a viac neurónov/uzlov model má, tým lepšie dokáže model rozpoznať vzory v údajoch.

Bežné, dopredné neurónové siete, ako sú tie, ktoré som opísal vyššie, sa často nazývajú „husté neurónové siete“. Tieto husté neurónové siete sú kombinované s rôznymi sieťovými architektúrami, ktoré sa špecializujú na interpretáciu rôznych druhov údajov.

Čo sú to RNN (rekurentné neurónové siete)?

Rekurentné neurónové siete využívajú všeobecný princíp dopredných neurónových sietí a umožňujú im spracovávať sekvenčné údaje dáva modelu internú pamäť. Časť názvu RNN „Recurrent“ pochádza zo skutočnosti, že vstupy a výstupy tvoria slučku. Po vytvorení výstupu siete sa výstup skopíruje a vráti do siete ako vstup. Pri rozhodovaní sa analyzuje nielen aktuálny vstup a výstup, ale zohľadňuje sa aj predchádzajúci vstup. Inak povedané, ak je počiatočný vstup pre sieť X a výstup je H, H aj X1 (ďalší vstup v dátovej sekvencii) sa privedú do siete pre ďalšie kolo učenia. Týmto spôsobom je kontext údajov (predchádzajúce vstupy) zachovaný ako vlaky siete.

Výsledkom tejto architektúry je, že RNN sú schopné spracovávať sekvenčné dáta. RNN však trpia niekoľkými problémami. RNN trpia miznúce gradienty a explodujúce gradientové problémy.

Dĺžka sekvencií, ktoré môže RNN interpretovať, je pomerne obmedzená, najmä v porovnaní s LSTM.

Čo sú siete s dlhou krátkou pamäťou (LSTM)?

Siete s dlhou krátkodobou pamäťou možno považovať za rozšírenia RNN, pričom sa opäť uplatňuje koncepcia zachovania kontextu vstupov. LSTM však boli upravené niekoľkými dôležitými spôsobmi, ktoré im umožňujú interpretovať minulé údaje lepšími metódami. Zmeny vykonané v LSTM sa zaoberajú problémom miznúceho gradientu a umožňujú LSTM zvážiť oveľa dlhšie vstupné sekvencie.

Modely LSTM sa skladajú z tri rôzne komponenty alebo brány. Je tu vstupná brána, výstupná brána a zabudnutá brána. Podobne ako RNN, aj LSTM berú do úvahy vstupy z predchádzajúceho časového kroku pri úprave pamäte modelu a vstupných váh. Vstupná brána rozhoduje o tom, ktoré hodnoty sú dôležité a mali by byť prepustené cez model. Vo vstupnej bráne sa používa sigmoidná funkcia, ktorá určuje, ktoré hodnoty sa majú preniesť cez rekurentnú sieť. Nula znižuje hodnotu, zatiaľ čo 1 ju zachováva. Používa sa tu aj funkcia TanH, ktorá rozhoduje o tom, aké dôležité sú pre model vstupné hodnoty v rozsahu od -1 do 1.

Po započítaní aktuálnych vstupov a stavu pamäte sa výstupná brána rozhodne, ktoré hodnoty sa presunú do ďalšieho časového kroku. Vo výstupnej bráne sú hodnoty analyzované a je im priradená dôležitosť v rozsahu od -1 do 1. Tým sa regulujú údaje predtým, ako sa prenesú do ďalšieho výpočtu časového kroku. Nakoniec úlohou zabudnutej brány je vypustiť informácie, ktoré model považuje za nepotrebné, aby mohol rozhodnúť o povahe vstupných hodnôt. Brána zabudnutia používa na hodnoty sigmoidnú funkciu, pričom výstupom sú čísla medzi 0 (zabudnite na to) a 1 (toto si ponechajte).

Neurónová sieť LSTM sa skladá zo špeciálnych vrstiev LSTM, ktoré dokážu interpretovať sekvenčné údaje slov, a z husto prepojených, ako je opísané vyššie. Keď sa dáta presunú cez vrstvy LSTM, postupujú do husto prepojených vrstiev.

Bloger a programátor so špecializáciou v Strojové učenie a Deep Learning témy. Daniel dúfa, že pomôže ostatným využívať silu AI pre sociálne dobro.