Opublikowano Dodaj komentarz

jojonki / Pointer-Networks

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

Pointer Networks jest nową architekturą neuronową do nauki warunkowego prawdopodobieństwa sekwencji wyjściowej z elementami, które są dyskretnymi tokenami odpowiadającymi pozycjom w sekwencji wejściowej.

w tym repo umieściłem dwa przykłady modeli sieci wskaźników.

Model sekwencji

w modelu sekwencji długość wyjścia jest taka sama jak długość wejścia. I umieścić zadanie zabawki zadania sortowania. Wyjście to posortowane indeksy wejścia. Zobacz poniższy przykład.

// 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)

Model graniczny

w modelu granicznym wyjście jest krotką podobną do (start_index, end_index). Podjąłem się następującego zadania zabawki granicznej. Zobacz tę stronę.

wypróbujmy trochę kodu na problem z zabawką. Sieci wskaźników są najbardziej istotne dla wrażliwych na rekurrencję sekwencji danych, więc je stworzymy. Załóżmy, że nasze dane wejściowe są ciągiem liczb całkowitych od 0 do 10 (z możliwymi duplikatami) o nieznanej długości. Każda sekwencja zawsze zaczyna się od niskich liczb całkowitych (losowe wartości od 1 do 5), ma przebieg wysokich liczb całkowitych (losowe wartości od 6 do 10), a następnie ponownie kończy się na niskim (1 do 5).Na przykład, sekwencja może być „4,1,2,3,1,1,6,9,10,8,6,3,1,1”, z biegiem wysokich liczb całkowitych pogrubionych, otoczonych biegiem niskich liczb całkowitych. Chcemy wytrenować sieć, która może wskazać te dwa punkty zmiany-początek i koniec biegu wzlotów w środku, niezależnie od długości sekwencji.

// 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)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.