Mikor számít a sorrend
Sok adatnál nem elég önmagában az egyes elemeket ismerni, a sorrendjük is jelentést hordoz. Egy mondatban a szavak sorrendje dönti el az értelmet, egy hangfelvételben a minták időbeli egymásutánja adja ki a beszédet, egy tőzsdei idősornál a korábbi értékek befolyásolják a következőt. Ezeket összefoglalva szekvenciának, sorozatnak nevezzük. Az eddig tárgyalt előrecsatolt háló ezekre gyengén illik, mert nincs memóriája, és fix méretű bemenetet vár. A szekvencia hosszú is lehet, rövid is, és a korábbi elemeknek hatniuk kell a későbbiek feldolgozására.
Rekurrens neurális hálók
A rekurrens neurális háló (recurrent neural network, RNN) úgy oldja meg ezt, hogy a sorozatot elemről elemre dolgozza fel, és közben fenntart egy rejtett állapotot (hidden state), amely mint egy belső jegyzet viszi tovább a korábban látott elemek lényegét. Minden lépésben a háló az aktuális elemet és az előző lépésből kapott rejtett állapotot együtt dolgozza fel, ebből új rejtett állapotot és kimenetet állít elő. Ez az állapot köti össze az időben egymást követő lépéseket, így az információ előre tud áramlani a sorozat mentén.
Az eltűnő gradiens problémája
Az RNN tanítása a visszaterjesztés időbeli változatával, a visszaterjesztés az időben (backpropagation through time) eljárással történik. A hibát nem csak a rétegeken, hanem az időlépéseken keresztül is visszavezetjük. Itt jelentkezik egy komoly nehézség. Ahogy a gradiens sok időlépésen keresztül halad visszafelé, ismételt szorzások miatt vagy egyre kisebbé zsugorodik, vagy elszáll. Az előbbit nevezzük eltűnő gradiensnek (vanishing gradient). Ennek az a következménye, hogy a háló nehezen tanulja meg a hosszú távú összefüggéseket, tehát a sorozat elején látott információ hatása a végére szinte elvész.
Az LSTM és a kapuk
Erre a problémára válaszol a hosszú rövid távú memória (long short-term memory, LSTM), a rekurrens háló egy fejlettebb változata. Az LSTM egy külön cellaállapotot tart fenn, amelyen az információ hosszan, kevés torzítással áramolhat végig. A cellaállapot tartalmát kapuk (gate) szabályozzák, amelyek megtanulják, mit érdemes megtartani, mit elfelejteni, és mit kiadni. A felejtő kapu eldobja a fölöslegessé vált információt, a bemeneti kapu beengedi az újat, a kimeneti kapu pedig meghatározza, mi kerüljön a kimenetre. Ezekkel a kapukkal az LSTM sokkal jobban kezeli a hosszú távú összefüggéseket, mint az egyszerű RNN.
- Felejtő kapuEldönti, a korábbi cellaállapotból mit dobjon el, ami már nem releváns.
- Bemeneti kapuSzabályozza, az új elemből mennyi kerüljön be a cellaállapotba.
- Cellaállapot frissítéseA megtartott régi és a beengedett új információ összeáll az új állapottá.
- Kimeneti kapuMeghatározza, a cellaállapotból mi jelenjen meg a lépés kimenetén.
A figyelem mechanizmus
Az LSTM is egyetlen állapotba sűríti a múltat, ezért nagyon hosszú sorozatnál még mindig szűk a keresztmetszet. A figyelem mechanizmus (attention) más elven működik. Ahelyett, hogy mindent egyetlen állapotba préselne, minden kimeneti lépésnél közvetlenül hozzáfér a teljes bemeneti sorozathoz, és megtanulja, melyik elemre mennyire érdemes figyelni. Minden pozícióhoz egy súlyt rendel, ami azt fejezi ki, mennyire fontos az adott elem az éppen készülő kimenethez. Így a modell a lényeges részekre koncentrál, függetlenül attól, milyen messze vannak a sorozatban.
Amikor a modell ugyanazon a sorozaton belül végzi ezt, tehát minden elemet a többihez viszonyítva súlyoz, önfigyelemről (self-attention) beszélünk. Ez a mai nyelvi modellek és a transzformer (transformer) architektúra alapja, amivel egy külön kurzusban részletesen is foglalkozunk.
Három szint egy irányba. Az RNN a rejtett állapottal visz információt előre, az LSTM kapukkal jobban kezeli a hosszú távú összefüggést, a figyelem pedig közvetlenül a teljes sorozathoz fér hozzá. Mindhárom ugyanazt a célt szolgálja, hogy a sorrend jelentése ne vesszen el.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →