Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā transformatoru uzmanības mehānisms uzlabo kodu ģenerēšanu


Kā transformatoru uzmanības mehānisms uzlabo kodu ģenerēšanu


Transformatoru uzmanības mehānisms būtiski uzlabo kodu ģenerēšanu, ļaujot modelim selektīvi koncentrēties uz dažādām ieejas secības daļām, vienlaikus izgatavojot katru izejas marķieri. Tā rezultātā tiek iegūta lielāka konteksta apzināšanās un saskaņota kodu ģenerēšana. Uzmanības mehānisms palīdz uztvert lielas attāluma atkarības, strukturālos modeļus un semantiskās nianses avota kodā, kas ir būtiska sintaktiski pareizu un loģiski konsekventu programmu ģenerēšanai. Tā daudzšķautņainās iespējas nodrošina ievērojamas priekšrocības salīdzinājumā ar tradicionālajiem secības secības modeļiem, kas balstījās uz fiksēta garuma konteksta attēlojumiem.

Uzmanības pamatjēdziens transformatoros

Transformatoros uzmanība ir tehnika, kas aprēķina izejas vektoru kopu kā svērtās ieejas vērtības vektoru summas. Svari tiek dinamiski aprēķināti, pamatojoties uz saderības rādītājiem starp vaicājumam (attēlo pašreizējo stāvokli, kurai tiek ģenerēta izeja) un atslēgu vektoru komplektu (attēlo visas pozīcijas ieejas secībā). Tas ļauj modelim "apmeklēt" vai koncentrēties uz attiecīgajām ievades daļām, ģenerējot katru marķieri, nevis vienmērīgi apstrādājot visu secību vai saspiežot to fiksēta izmēra vektorā.

Slīpēta punktu produkta uzmanības pamatne ir šāda:

$ $
\ teksts {uzmanība} (q, k, v) = \ teksts {softmax} \ kreisais (\ frac {qk^t} {\ sqrt {d_k> \ pa labi) v
$ $

kur $$ Q $$, $$ K $$ un $$ V $$ ir attiecīgi vaicājumu, atslēgu un vērtību matricas, un $$ D_K $$ ir mērogošanai izmantoto atslēgu izmēri. Funkcija Softmax pārveido punktu produktu rādītājus starp vaicājumiem un taustiņiem varbūtības sadalījumā, ko pēc tam izmanto vērtību svars.

Konteksta un atkarību uztveršana kodā

Programmēšanas kods pēc būtības ir strukturēts ar atkarībām no liela attāluma; Mainīgos, kas deklarēti funkcijas sākumā, daudzās vietās var izmantot daudz vēlāk. Tradicionālie modeļi, piemēram, RNNS vai CNNS, cīnījās, lai saglabātu šādas liela attāluma kontekstuālās attiecības to secīgā vai vietējā uztveres rakstura dēļ. Turpretī transformatoru pašpārbaudes mehānisms var būt saistīts ar katru marķieri tieši ar katru otro marķieri, neatkarīgi no to attāluma secībā.

Pašpārliecinātība ļauj katrai marķiera pozīcijai vienlaikus apkopot informāciju no visām citām pozīcijām ievades secībā. Piemēram, ģenerējot noslēguma kronšteinu, modelis var apmeklēt atbilstošo atvēršanas iekavu, kas varētu būt vairākas līnijas agrāk. Šī pilna savienojamība ļauj modelim efektīvāk kodēt sintaktisko un semantisko struktūru, kas ir būtiska koda ģenerēšanai bez kļūdām.

vairāku galvas uzmanība dažādiem kontekstiem

Transformatori izmanto vairāku galvas uzmanību, kur dažādās ievades ieguldu lineārās projekcijās tiek veiktas vairākas paralēlas uzmanības operācijas (galvas). Katra galva iemācās koncentrēties uz dažādiem ievades aspektiem, piemēram, mainīgiem nosaukumiem, vadības plūsmas konstrukcijām vai funkciju robežām. Šī vairāku galvu iestatīšana piedāvā vairākas priekšrocības:

- Tas ļauj modelim kopīgi apmeklēt informāciju no dažādām attēlojuma apakšgrupām.
- Tas apvieno vairākas perspektīvas ievades secībā, paplašinot modeļa apguves jomu.
- Tas uzlabo robustumu, nepaļaujoties uz vienu uzmanības attēlojumu.

Šo vairāku galviņu izejas ir savienotas un lineāri pārveidotas, lai veidotu galīgo attēlojumu, ko izmanto izvadu žetonu ģenerēšanai.

kodētāja-dekodētāja uzmanība avota-mērķa izlīdzināšanai

Kodu ģenerēšanā transformatori parasti izmanto kodētāja-dekodētāja arhitektūru, kur kodētājs apstrādā ievades aprakstu (piemēram, dabiskās valodas problēmas specifikācija) kontekstuālā attēlojumā, un dekodētājs ģenerē atbilstošo koda secību. Dekodētājs izmanto kodētāja-dekodētāja uzmanību (savstarpēja izturēšanās), lai selektīvi koncentrētos uz attiecīgajām kodētās ieejas daļām katrā dekodēšanas posmā. Šī izlīdzināšana starp ieeju un izvadi palīdz modelim ģenerēt atbilstošus un precīzus koda fragmentus, kas cieši atbilst ieejas uzvednes izteiktajam nodomam.

cēloņsakarība un maskēta uzmanība autoregresīvai paaudzei

Ģenerējot kodu ar marķējumu, dekodētājs izmanto cēloņsakarības (maskētu) pašpārliecinātību, lai nodrošinātu, ka prognozes par pozīciju $ $ i $ $ ir atkarīgas tikai no iepriekšējiem marķieriem $$