Geplaatst op Geef een reactie

jojonki / Pointer-Networks

Pointer NetworksOriol Vinyals, Meire Fortunato, Navdeep Jaitly.
https://arxiv.org/abs/1506.03134

Pointer Networks is een nieuwe neurale architectuur om de voorwaardelijke waarschijnlijkheid van een Uitvoerreeks te leren met elementen die discrete tokens zijn die overeenkomen met posities in een invoerreeks.

in deze repo geef ik twee voorbeelden van Pointer Networks-modellen.

het Sequentiemodel

in het sequentiemodel is de lengte van de uitvoer gelijk aan de lengte van de invoer. Ik zet een speelgoedtaak van sorteertaak. De output is de gesorteerde indices van de input. Zie het volgende voorbeeld.

// An example// Input : // Output: $ python sequence_train.pyepoch: 0, Loss: 0.99817Acc: 0.57% (51/9000)epoch: 2, Loss: 0.00077Acc: 100.00% (9000/9000)epoch: 4, Loss: 0.00032Acc: 99.99% (8999/9000)----Test result---Acc: 100.00% (1000/1000)

het Grensmodel

In het grensmodel is de uitvoer een tupel zoals (start_index, end_index). Ik nam de volgende boundary toy taak op me. Zie deze site.

laten we wat code uitproberen op een speelgoedprobleem. Pointer netwerken zijn echt het meest relevant voor recurrency-gevoelige data sequenties, dus we zullen er een maken. Stel dat we aannemen dat onze invoergegevens een reeks van gehele getallen tussen 0 en 10 (met mogelijke duplicaten) van onbekende lengte zijn. Elke reeks begint altijd met lage gehele getallen( willekeurige waarden tussen 1 en 5), heeft een run van hoge gehele getallen (willekeurige waarden tussen 6 en 10), draait dan weer laag om te eindigen (1 tot 5).Bijvoorbeeld, een reeks kan zijn “4,1,2,3,1,1,9,10,8,6,3,1,1”, met de run van hoge gehele getallen in vetgedrukt, omgeven door runs van lage gehele getallen. We willen een netwerk trainen dat naar deze twee veranderpunten kan wijzen-het begin en het einde van de run van highs in het midden, ongeacht de lengte van de sequentie.

// An example// Input : // Output: $ python boundary_train.pyepoch: 0, Loss: 0.28288accAcc: 98.79% (8891/9000)epoch: 2, Loss: 0.00291accAcc: 99.96% (8996/9000)epoch: 4, Loss: 0.00091accAcc: 100.00% (9000/9000)----Test result---Acc: 100.00% (1000/1000)

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.