single
Challenge: Kooderin ja Dekooderin Lohkojen Rakentaminen
Pyyhkäise näyttääksesi valikon
Kooderin ja dekooderin lohkojen rakenteen ymmärtäminen on keskeistä, kun halutaan hallita, miten Transformer-mallit käsittelevät ja tuottavat tekstiä. Jokainen Transformer-mallin kooderin lohko muuntaa syötesequenssit kontekstirikkaiksi esityksiksi, kun taas jokainen dekooderin lohko tuottaa ulostulosequensseja huomioimalla sekä aiemmat ulostulot että kooderin esitykset. Sekvenssistä sekvenssiin -tekstitehtävissä, kuten käännöksessä tai tiivistämisessä, kooderi vastaanottaa syöteteksin ja koodaa sen piilotilojen sarjaksi. Dekooderi käyttää näitä piilotiloja yhdessä oman itsehuomionsa kanssa tuottaakseen kohdesekvenssin askel askeleelta. Tämä kooderin ja dekooderin lohkojen välinen vuorovaikutus mahdollistaa mallin monimutkaisten riippuvuuksien havaitsemisen tekstissä, mikä tekee Transformereista erittäin tehokkaita monenlaisiin luonnollisen kielen käsittelyn tehtäviin.
Seuraava taulukko tiivistää Transformer-kooderin lohkon toimintojen järjestyksen ja korostaa niiden merkitystä tekstidatan käsittelyssä:
| |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Each operation ensures that the encoder builds increasingly abstract and context-aware representations of the input text, which are essential for downstream sequence-to-sequence tasks. |
Pyyhkäise aloittaaksesi koodauksen
Tehtävänäsi on täydentää TransformerEncoderBlock-luokan puuttuvat osat alustamalla sen keskeiset komponentit oikein ja varmistamalla, että niitä käytetään eteenpäinlaskennassa.
TransformerEncoderBlock-luokka mallintaa yksittäistä kooderin lohkoa Transformer-arkkitehtuurissa. Sinun tulee alustaa kaksi pääkomponenttia luokan konstruktorissa (__init__-metodi):
- Itsehuomiokerros käyttäen
MultiHeadAttention(hidden_dim). Tämä kerros mahdollistaa jokaisen syötteen tokenin huomioimisen kaikkiin muihin tokeneihin, jolloin kontekstuaaliset suhteet voidaan havaita; - Syväsyöttöverkko käyttäen
FeedForward(hidden_dim). Tämä kerros suorittaa epälineaarisia muunnoksia jokaiselle token-edustukselle erikseen, jatkokäsitellen itsehuomiokerroksen tuottamaa tulosta; forward-metodissa sinun tulee käyttää näitä kahta kerrosta peräkkäin:- ensin syötä syöte
xitsehuomiokerroksen läpi; - sitten syötä itsehuomiokerroksen tuotos syväsyöttöverkon läpi;
- palauta lopullinen tulos.
- ensin syötä syöte
Varmista, että sekä MultiHeadAttention että FeedForward alustetaan luokalle annetulla hidden_dim-parametrilla. Nämä komponentit muodostavat kooderin lohkon ytimen ja ne tulee käyttää oikeassa järjestyksessä, jotta lohko toimii oikein.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme