Bevezetés a mélytanulásba · Lecke 05

Szekvenciamodellek és a figyelem mechanizmus

A szöveg, a hang és az idősorok esetében a sorrend hordozza a jelentés jó részét. Ebben a leckében megnézzük, hogyan kezeli ezt a mélytanulás. Végigmegyünk a rekurrens hálókon és a rejtett állapoton, az eltűnő gradiens problémáján, az LSTM kapuin, és eljutunk a figyelem mechanizmusig, amely a mai nyelvi modellek alapja.

Vissza a tananyaghoz


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.


RNN RNN RNN RNN rejtett állapot „a"„macska"„az"„egérre" kimenet minden lépésben
Ugyanaz az RNN cella dolgozza fel a sorozat elemeit egymás után, időben kiterítve. A rejtett állapot lépésről lépésre viszi tovább a korábbi elemek lényegét.

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.


  1. Felejtő kapuEldönti, a korábbi cellaállapotból mit dobjon el, ami már nem releváns.
  2. Bemeneti kapuSzabályozza, az új elemből mennyi kerüljön be a cellaállapotba.
  3. Cellaállapot frissítéseA megtartott régi és a beengedett új információ összeáll az új állapottá.
  4. 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.


Melyik szóra figyeljen az „egérre" feldolgozásakor a macska kergeti az egérre erős figyelem közepes
A figyelem minden pozícióhoz súlyt rendel. Az „egérre" szó feldolgozásakor a modell erősen a „macska" szóra figyel, mert az a lényeges összefüggés, függetlenül a távolságtól.

3

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.


← Előző lecke Következő lecke →

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 →