i denne artikel er mit mål at give en forklaring på, hvad pointer netværk er, som defineret i artiklen “Pointer netværk” (Dette er artiklen, der beskriver pointers netværk for første gang jeg tror), og hvorfor de bruges. Dette arbejde udføres i forbindelse med min ph.d., som er inden for Natural Language Processing (NLP).

jeg skriver virkelig denne slags noter til min egen forståelse, men jeg håber du finder ud af, at du også kan drage fordel af det.

jeg vil anbefale først at læse “Pointer netværk” af Oriol Vinyals, Meire Fortunato, og Navdeep Jaitly, og derefter kommer tilbage her for de forklaringer, som jeg giver.

i den første del af min forklaring giver jeg et overblik over, hvad de centrale udtryk, der bruges i papiret, er.

i anden del giver jeg et resume af papiret.

som hovedregel, når jeg arbejder på at lære af et videnskabeligt papir, er det første skridt, jeg tager, at nedskrive alle de ukendte eller tvetydige udtryk, der bruges adskillige gange i papiret, eller som synes vigtige for dets forståelse.

jeg følger normalt disse enkle trin for at finde en klar definition:

– med ctrl + f finder jeg alle forekomster af de tvetydige ord i det papir, jeg læser. Med konteksten kan jeg generelt begynde at intuitere en definition af ordet.

– slå ordet op på internettet med nøje udvalgte nøgleord

nedenfor er nogle af de uklare udtryk, som jeg fandt i artiklen:

– kombinatoriske problemer:
et kombinatorisk problem består i at finde blandt et endeligt sæt objekter en, der opfylder et sæt begrænsninger.

– tokens:
i en NLP-sammenhæng er et token et V, der opfylder et sæt begrænsord eller underord på et sprog.
i denne artikel er tokens imidlertid elementer af en outputsekvens, der kan være af to slags: “specielle” tokens og regelmæssige tokens.
> i tilfælde af “specielle” tokens repræsenterer de begyndelsen eller slutningen af outputsekvensen.
> regelmæssige tokens består af de indekser, der bruges til at skelne mellem Det forskellige element i en inputsekvens.

– output ordbog:
i denne sammenhæng er en outputordbog en liste over alle de mulige værdier, som et token kan tage.

eksempler på en sekvens af tokens og deres tilsvarende indgangssekvens, ekstraheret fra artiklen:

Cp1={⇒, (1, 2, 4), (1, 4, 5), (1, 3, 5), (1, 2, 3), ⇐} & P1={P_1 , . . . , P_5 } i forbindelse med det konvekse skrogproblem (et af de 3 kombinatoriske problemer, der præsenteres i papiret).

“Kristian ” og” Kristian “er” specielle ” symboler. Bemærk, hvordan de placeres i både begyndelsen og slutningen af vores outputsekvens af tokens.

“(1, 2, 4)” eller “(1, 4, 5)” er regelmæssige tokens. De består af 3 indekser, der bruges til at diskriminere elementer i indgangssekvensen {P_1,. . . , P_5 }.

Bemærk, at følgende ikke kunne være muligt:

Cp1={⇒, (1, 2, 8), (1, 4, 5), (1, 3, 5), (1, 2, 3), ⇐} & P1={P_1 , . . . , P_5 } i forbindelse med det konvekse skrogproblem, fordi der ikke er nogen P_8 i vores inputsekvens.

resume af artiklen

efter at have læst artiklen en første gang og kigget efter definitionerne ovenfor, er min forståelse af artiklen følgende:

fokus i denne artikel er på kombinatoriske problemer.
formålet med forfatteren er at opbygge en model, der er i stand til at give en korrekt outputsekvens Cp, givet en inputsekvens P af variabel størrelse og et tilhørende kombinatorisk problem.

en sådan model står tilsyneladende i kontrast til en udelukkende tilbagevendende neuralt netværk (RNN) baseret model, hvor modellen kun kan trænes og derefter bruges på input af samme størrelse.

når jeg er færdig med at rydde tvetydige udtryk, læser jeg normalt den artikel, jeg arbejder på en anden gang, for at vurdere, om min forståelse er korrekt eller forkert. For at gøre det, jeg skriver ofte en lille oversigt over, hvad jeg synes er relevant for min forståelse, for hver del, der udgør papiret.

indsigt fra introduktion:

ekstraheret rom artiklen

i figur 1 ser vi en klassisk sekvens til sekvens RNN baseret model sammen med en Ptr-Net (pointer netværk).
fra figurbeskrivelsen ser vi, at Ptr-nettet er sammensat af en kodning RNN på den ene side og et genererende netværk på den anden side i modsætning til at bruge to RNN ‘ er til sekvensen til sekvensmodellen.

PTR-nettets genererende netværk ser ud til at udsende en softmaks-fordeling over indgangene ved hvert trin, hvilket er den såkaldte “pointer”.

indsigt fra modeller:

i dette afsnit ser vi en gennemgang af sekvensen til sekvensmodellen, input-attention-modellen og endelig Ptr-Net-modellen.

a / sek-til-SEK model:

vi antager, at læseren ved, hvad RNN ‘ er er, og hvordan de bruges til at oprette en sekv-til-SEK-model (hvis ikke, vil jeg anbefale at læse dette og/eller dette).

forfattere definerer sandsynligheden for en outputsekvens af tokens, som produktet af den betingede sandsynlighed for de tokens, der udgør vores output givet tokens foran dem såvel som inputsekvensen.

Sandsynlighed for en outputsekvens

hvis vores output Cp er lavet af 3 tokens, så vil vi have m(P)=3. Theta-symbolet repræsenterer parametrene for den model, der bruges til at finde denne sandsynlighed.

her modellerer RNN, der bruges til at generere outputsekvensen (den såkaldte dekoder) de betingede sandsynligheder, der er forbundet med de mulige tokens, ved hver outputtid, givet de tokens, der er genereret ved tidligere outputtider.

under træning trænes modellen til at generere den korrekte outputsekvens, og træningssættet bruges i overensstemmelse hermed.

træning af parametrene for modellen

efter træning af modellen bruger vi den til at finde løsninger på lignende problemer som dem, der er i træningssættet. Dette er den såkaldte inferensproces.

under inferens (når modellen bruges til at forudsige et svar på det kombinatoriske problem), anvendes en strålesøgningsprocedure. Det modellerer den bedst mulige outputsekvens.

hovedudtagning:

sekvensen til sekvensmodellen virker ikke, når den bruges på indgange af forskellig størrelse. Der skal være en separat model for hver “n” / input størrelse.

mit bedste gæt er, at dette skyldes størrelsen af output, der indstilles ved initialisering af modellen.
mere præcist genererer afkodningen RNN skjulte tilstande ved hver outputtid. Disse skjulte tilstande bruges på to måder:
– som input til RNN i næste trin
– for at beregne output/token

denne anden brug af den skjulte tilstand er kendetegnet ved prikproduktet med et sæt vægte V(S), der konverterer den skjulte tilstand til en vektor med fast størrelse, typisk størrelsen på outputordbogen.

Computing output på tidstrin t

da størrelsen på V(er) er fast ved initialisering, gør det det umuligt for modellen at træne på problemer med forskellige outputordbogsstørrelser.

B / indhold baseret input opmærksomhed:

begrebet opmærksomhed manifesteres i dette papir med formlen:

Content based input attention

hvor e står for encoder skjulte tilstande, d for dekoder skjulte tilstande, V1, V2 og v er parametre for opmærksomhedsnetværket.

jeg er allerede bekendt med begrebet opmærksomhed fra at studere transformatorbaserede modeller som BERT, der bruger “Scaled Dot-Product Attention”.

selvom opmærksomhedsmekanismen her ikke er den samme, er det generelle formål bag brugen af opmærksomhed identisk. Målet er at fokusere på subs-dele af input sekvens. For at gøre det sammenkæder forfattere en normaliseret fordeling over koderens output eller skjulte tilstande til dekoderens skjulte tilstande.

dette står i kontrast til en regelmæssig sekvens til sekvensmodel, hvor koderen kun giver den sidste skjulte tilstand som input til dekoderen.

vigtigste take-væk:

opmærksomhedsmekanismen gør det muligt at få bedre præstationer sammenlignet med den almindelige sekvens til sekvensmodel. Problemet med input af forskellig størrelse er imidlertid ikke løst.

C/ Ptr-Net:

ideen bag Ptr-Net er faktisk ret simpel. Det bruger opmærksomhedsmekanismens output til at modellere den betingede sandsynlighed for hvert token.
med andre ord er det trin, hvor den skjulte tilstand multipliceres med et sæt vægte V(S), simpelthen sprunget over.

PTR-Net modeling sandsynligheder for en outputsekvens af tokens

main take-væk:

brugen af denne model gør det muligt at træne og udlede input af forskellig størrelse, samtidig med at man holder et godt ydelsesniveau.

resten af artiklen viser, hvor godt de forskellige modeller ovenfor fungerer på tre forskellige kombinatoriske problemer.

Afsluttende tanker:

videnskabelige artikler er en meget god kilde til information, men jeg har erfaret, at de nogle gange er lidt komplicerede. En stor mængde information skal overføres gennem en begrænset mængde tekst. Som følge heraf kan forfattere ikke forklare alt, de antager, at læseren har grundlæggende viden om emnet af interesse.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.