AI:n perusteet

Mitä ovat Transformer-Neuraaliset Verkkomallit?

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Transformer-Neuraaliset Verkkomallit Kuvaus

Transformerit ovat tietokoneiden oppimismalleja, jotka erikoistuvat järjestelmällisten tietojen käsittelyyn ja tulkintaan, mikä tekee niistä optimaalisia luonnollisen kielen prosessointitehtäviin. Jotta ymmärtäisimme paremmin, mitä tietokoneen oppimisen transformer on ja miten ne toimivat, tarkastelemme transformer-malleja ja niiden mekanismeja tarkemmin.

Tässä artikkelissa käsitellään:

  • Järjestelmän malleja
  • Transformer-Neuraaliverkon Arkkitehtuuri
  • Huomio Mekanismi
  • Eroavaisuudet Transformerien ja RNN/LSTM: n välillä

Järjestelmän Malleja

Järjestelmän malleja ovat tietokoneen oppimismalleja, joita käytetään muuttamaan järjestelmän tyyppi toiseen tyyppiin. On olemassa erilaisia järjestelmän malleja, kuten Recurrent Neural Network -mallit ja Long Short-Term Memory (LSTM) -mallit.

Perinteiset järjestelmän mallit, kuten RNN:t ja LSTMit, eivät ole tämän artikkelin keskipisteenä, mutta niiden ymmärtäminen on välttämätöntä, jotta voimme arvostaa, miten transformer-mallit toimivat ja miksi ne ovat parempia kuin perinteiset järjestelmän mallit.

Lyhyesti, RNN-mallit ja LSTM-mallit koostuvat koodaus- ja dekoodausverkoista, jotka analysoivat syötetietoja eri aikatauluilla. Koodausverkko on vastuussa muodostamasta koodatusta edustuksesta syötetiedon sanoista. Jokaisessa aikataulussa koodausverkko ottaa syötteen ja piilotilan edellisestä aikataulusta. Piilotilan arvot päivitetään, kun tieto etenee verkossa, kunnes viimeinen aikataulu, jossa “kontekstivektori” luodaan. Kontekstivektori välitetään dekoodausverkolle, jota käytetään luomaan kohdesanajono ennustamalla todennäköisin sana, joka parittuu syötteen sanan kanssa kunkin aikataulun osalta.

Nämä mallit voidaan täydentää “huomio-mekanismin” avulla. Huomio-mekanismi määrittää, mitkä osat syötteen vektoria verkko pitäisi keskittyä luomaan oikean tulosteen. Toisin sanoen huomio-mekanismi antaa transformer-mallille mahdollisuuden prosessoida yhtä syötteen sanaa ja samalla kiinnittää huomiota muihin syötteen sanoihin, jotka sisältävät merkityksellistä tietoa. Huomio-mekanismi myös peittää sanat, jotka eivät sisällä merkityksellistä tietoa.

Transformer-Neuraaliverkon Arkkitehtuuri

Tarkastelemme huomio-mekanismia tarkemmin myöhemmin, mutta nyt katsotaan transformer-neuraaliverkon arkkitehtuuri yleisellä tasolla.

Yleisesti ottaen transformer-neuraaliverkko näyttää seuraavalta:

Vaikka tämä yleinen rakenne voi muuttua verkkomallien mukaan, ydin osat säilyvät samoina: paikalliset koodaukset, sanavektorit, huomio-mekanismi, eteenpäin suuntautuva neuroverkko.

Paikalliset Koodaukset ja Sanavektorit

Transformer-neuraaliverkko toimii ottamalla syötteen ja muuttamalla sen kahteen muuhun järjestykseen. Transformer tuottaa sanavektoreiden ja paikallisten koodausten järjestyksen.

Sanavektorit ovat vain tekstiä, joka on esitetty numeerisessa muodossa, jota neuroverkko voi prosessoida. Paikalliset koodaukset ovat vektoreita, jotka sisältävät tietoa sanan sijainnista syötteen lauseessa suhteessa muihin sanoihin.

Muut tekstipohjaiset neuroverkkomallit, kuten RNN:t ja LSTMit, käyttävät vektoreita edustamaan syötetiedon sanoja. Nämä vektoreiden upottamiset karttavat sanat vakioarvoihin, mutta tämä on rajoittavaa, koska sanat voidaan käyttää eri konteksteissa. Transformer-verkko ratkaisee tämän ongelman tekemällä sanan arvot joustavammaksi käyttämällä sinusoidifunktioita, jotta sanavektorit voivat ottaa eri arvoja sanan sijainnin mukaan lauseessa.

Tämä mahdollistaa neuroverkon säilyttää tietoa syötetyn sanan suhteellisesta sijainnista, vaikka vektorit siirtyvät transformer-verkon kerroksien läpi.

Paikalliset koodaukset ja sanavektorit lasketaan yhteen ja välitetään sekä koodaus- että dekoodausverkkoihin. Vaikka transformer-neuraaliverkkomallit käyttävät koodaus-/dekoodaus-skeemoja samoin kuin RNN:t ja LSTMit, yksi merkittävä ero heidän välillä on, että kaikki syötetiedot syötetään verkkoon samaan aikaan, kun taas RNN:ssä ja LSTMissä tieto syötetään järjestyksessä.

Koodausverkot ovat vastuussa siitä, että syötetiedot muutetaan edustukseksi, josta verkko voi oppia, kun taas dekoodausverkot tekevät vastakkaisen ja muuttavat koodaukset todennäköisyysjakaumaksi, jota käytetään luomaan todennäköisin sana tulostuslauseessa. Olennaisesti sekä koodaus- että dekoodausverkoissa on huomio-mekanismi.

Koska GPU:t pystyvät rinnakkaisprosessointiin, useita huomio-mekanismeja käytetään rinnakkain laskemaan merkityksellistä tietoa kaikista syötetistä sanoista. Tämä kyky kiinnittää huomiota useisiin sanoihin, jota kutsutaan “monipäiseksi huomioksi”, auttaa neuroverkkoa oppimaan sanan kontekstia lauseessa, ja se on yksi transformer-verkkojen etuoikeuksista RNN:iin ja LSTMiin nähden.

Huomio Mekanismi

Huomio-mekanismi on tärkein osa transformer-verkkoa. Huomio-mekanismi on se, joka mahdollistaa transformer-mallien ylittää perinteisten RNN- ja LSTM-mallien huomio-raja. Perinteiset järjestelmän mallit hylkäävät kaikki välimuistitilat ja käyttävät vain viimeistä tilaa/kontekstivektoria dekoodausverkon aloittamiseen syötteen ennustamiseksi.

Hylkääminen kaikkea muuta kuin viimeistä kontekstivektoria toimii kohtuullisesti, kun syötetietojen pituus on melko lyhyt. Kuitenkin kun syötetiedon pituus kasvaa, mallin suorituskyky heikkenee tämän menetelmän käytön aikana. Tämä johtuu siitä, että on vaikea tiivistää pitkä syötetieto yhteen vektoriin. Ratkaisu on lisätä “huomiota” malliin ja käyttää välimuistitiloja dekoodausverkon kontekstivektoreiden muodostamiseen.

Huomio-mekanismi määrittää, kuinka tärkeitä muut syötetokenit ovat mallille, kun koodaukset luodaan kullekin tokenille. Esimerkiksi “se” on yleinen pronominin, jota usein käytetään kuvaamaan eläimiä, kun niiden sukupuolta ei tiedetä. Huomio-mekanismi antaisi transformer-mallille mahdollisuuden määrittää, että “se” viittaa esimerkiksi oravaan, koska se voi tarkastella kaikkia merkityksellisiä sanoja syötetiedossa.

Huomio-mekanismia voidaan käyttää kolmella eri tavalla: koodaus-dekoodaus, koodaus-vain ja dekoodaus-vain.

Koodaus-dekoodaus huomio antaa dekoodausmahdollisuuden tarkastella syötetietoja tulostuksen aikana, kun taas koodaus-vain ja dekoodaus-vain huomio-mekanismit antavat verkoille mahdollisuuden tarkastella kaikkia osia edellisistä ja nykyisistä järjestyksistä.

Huomio-mekanismin rakentaminen voidaan jakaa viiteen vaiheeseen:

  1. Laskemalla kaikkien koodausverkkojen pisteytys.
  2. Laskemalla huomio-painot.
  3. Laskemalla kontekstivektorit.
  4. Päivittämällä kontekstivektoria edellisen aikataulun tulosteen kanssa.
  5. Luo tulostus dekoodausverkon avulla.

Ensimmäinen vaihe on dekoodausverkon laskeminen kaikkien koodausverkkojen pisteytykselle. Tämä tehdään kouluttamalla dekoodausverkkoa, joka on perustein eteenpäin suuntautuva neuroverkko. Kun dekoodausverkko on koulutettu syötetiedon ensimmäiselle sanalle, ei ole vielä luotu sisäistä/piilotilaa, joten koodausverkon viimeinen tila käytetään dekoodausverkon edellisenä tilana.

Jotta huomio-painot voidaan laskea, softmax-funktiota käytetään luomaan todennäköisyysjakauma huomio-painoille.

Kun huomio-painot on laskettu, kontekstivektori on laskettava. Tämä tehdään kertomalla huomio-painot ja piilotilan yhteen jokaisessa aikataulussa.

Kun kontekstivektori on laskettu, se käytetään yhdessä edellisen aikataulun tulosteen kanssa luomaan seuraava sana tulostusjärjestyksessä. Koska dekoodausverkolla ei ole edellistä tulostetta, jota se voisi viitata ensimmäisessä aikataulussa, erityinen “aloitus”-token käytetään sen sijaan.

Eroavaisuudet Transformerien ja RNN/LSTM: n välillä

Käydään läpi joitakin eroavaisuuksia RNN:iin ja LSTM:iin.

RNN:t prosessoida syötetietoja järjestyksessä, kun taas piilotila säilytetään ja muutetaan syötetiedon sanojen mukaan, kun ne siirtyvät verkossa. RNN:n piilotilat sisältävät yleensä vain vähän merkityksellistä tietoa aiemmista syötetiedoista. Uudet syötetiedot yleensä ylikirjoittavat nykyisen tilan, mikä aiheuttaa tietohävikin ja heikentää suorituskykyä ajan myötä.

Sen sijaan transformer-mallit prosessoida koko syötetiedon kerran. Huomio-mekanismi antaa jokaisen tulostus-sanalle mahdollisuuden perustua jokaiseen syötetietoon ja piilotilaan, mikä tekee verkon luotettavammaksi pitkille teksteille.

LSTMit ovat muunnelma RNN:stä, jota on muokattu käsittelemään pidempiä syötetietoja. LSTM-arkkitehtuuri käyttää rakennetta, jota kutsutaan “porteiksi”, joissa on “syötöportit”, “tulostusportit” ja “unohdusportit”. Porteilla varustettu suunnittelu käsittelee tietohävikin, joka on yleinen RNN-malleissa. Tieto prosessoidaan edelleen järjestyksessä, ja arkkitehtuurin toistuva suunnittelu tekee LSTM-malleista vaikeita kouluttaa rinnakkaislaskennan avulla, mikä tekee koulutusajan pitemmäksi yleensä.

LSTM-insinöörit lisäsivät usein huomio-mekanismeja verkkoon, mikä paransi mallin suorituskykyä. Kuitenkin myöhemmin havaittiin, että huomio-mekanismi yksinään paransi tarkkuutta. Tämä johtopäätös johti transformer-verkkojen kehittymiseen, jotka käyttivät huomio-mekanismeja ja rinnakkaislaskentaa GPU:n avulla.

Blogger ja ohjelmoija, jolla on erityisalat Machine Learning ja Deep Learning -aiheissa. Daniel toivoo pystyvänsä auttamaan muita käyttämään tekoälyn voimaa sosiaaliseen hyvään.