Deep Learning Academy · Oppitunti

Paikkakoodaus järjestystä varten

Lisätkää sekvenssin sijainti tokeneihin

Oppitunti 3/413 vaihetta

Paikkakoodaus järjestystä varten on ilmainen Deep Learning Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Deep Learning Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Huomio ohittaa järjestyksen

Itsehuomio käsittelee lausetta tokenien joukkona. Sanojen järjestyksen muuttaminen vaikuttaa matematiikkaan vain vähän, joten mallilla ei ole sisäänrakennettua käsitystä järjestyksestä.

Järjestys sisältää merkitystä

Järjestyksellä on kuitenkin merkitystä: "dog bites man" ei ole sama kuin "man bites dog". Mallille on annettava tietoa kunkin tokenin sijainnista.

Lisää, älä liitä

Ratkaisu on lisätä sijaintivektori suoraan kunkin tokenin upotukseen. Muoto säilyy samana, joten huomio näkee sisällön ja sijainnin yhdistettynä.

x = token_emb + pos_emb

Sinimuotoinen koodaus

Alkuperäinen transformer käytti eri taajuuksien kiinteitä siniaaltoja ja kosiniaaltoja, yhden kuvion kutakin ulottuvuutta kohden, merkitsemään jokaisen sijainnin.

Miksi siniaallot

Taajuuksien yhdistelmä antaa jokaiselle sijainnille yksilöllisen sormenjäljen, ja tasaisesti muuttuvat aallot auttavat mallia yleistämään pituuksiin, joita se ei nähnyt koulutuksessa.

Kaava

Parilliset ulottuvuudet käyttävät siniä ja parittomat kosinia, ja aallonpituus kasvaa ulottuvuuksien mukana. Siinä on koko koodausmenetelmä.

pe[:, 0::2] = torch.sin(pos / div)
pe[:, 1::2] = torch.cos(pos / div)

Suhteellinen etäisyys

Sinimuotojen hyödyllinen lisäetu on, että kahden sijainnin välinen siirtymä on helppo ilmaista. Tämä auttaa huomiota päättelemään suhteellista etäisyyttä.

Opitut sijainnit

Nykyaikaiset mallit ohittavat usein sinimuodot ja käyttävät opittua upotustaulukkoa: yhtä koulutettavaa vektoria sijaintia kohden, aivan kuten sanaupotuksissa.

self.pos_emb = nn.Embedding(max_len, d_model)

Kiinteä vai opittu

Kiinteät sinimuodot yleistyvät uusiin pituuksiin ilmaiseksi, kun taas opitut taulukot sopivat dataasi, mutta niiden enimmäispituus on rajattu koulutuksessa käytettyyn enimmäispituuteen.

Rotary-koodaus

Uudemmat transformerit suosivat rotary-sijaintikoodausta, jossa query- ja key-vektoreita kierretään sijaintiin sidotun kulman verran ja järjestys sisällytetään suoraan huomioon.

Mihin se sijoitetaan

Valitsemastasi menetelmästä riippumatta sijaintitieto syötetään kerran sisäänmenossa, ennen ensimmäisen huomio-kerroksen suorittamista.

Pikakertaus

Tarkistetaan, miksi sijaintikoodaus on olemassa.

Kertaus

Opit, että huomio ohittaa järjestyksen, joten lisäämme sijaintikoodaukset — olivatpa ne sinimuotoisia, opittuja tai rotary-muotoisia — kertomaan, missä tokenit sijaitsevat. Hienosti tehty!

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Paikkakoodaus järjestystä varten” ilmainen?

Kyllä – oppitunnin ”Paikkakoodaus järjestystä varten” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Deep Learning Academy-kurssin, päivitä CoddyKit PROhon. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Paikkakoodaus järjestystä varten”?

Lisätkää sekvenssin sijainti tokeneihin Harjoittelet Deep Learning Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Deep Learning Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Deep Learning Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Paikkakoodaus järjestystä varten”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Deep Learning Academy-oppitunnilla?

Kyllä. Jokainen Deep Learning Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Self-attention: Query, Key ja Value
  2. Skaalattu pistetulo ja multi-head
  3. Paikkakoodaus järjestystä varten
  4. Kootkaa transformer-enkooderin lohko
← Takaisin: Deep Learning Academy