Orders matters: seq2seq for set 實驗

論文提出了input的順序影響seq2seq結果 有一些輸入自己是無序的怎麼去處理呢 git

做者提出LSTM controller的方式 替代輸入的LSTM encode方式 github

   

   

做者實驗這種方式對應無序浮點數序列排序效果好於直接seq2seq app

   

N是要排序的數的數目 ui

P = 10 steps 表示 LSTM contorller process 10次 spa

glimpses = 1 表示輸出使用attention機制 code

   

不過實驗復現這個結果不太一致 blog

這裏實驗結果以下,也許實驗細節和論文有出入,好比排序問題 要求輸入是set 與順序無關,那麼LSTM的初始 input query是啥? 這裏使用了全0向量做爲input query實驗 排序

另外這個排序訓練過程decoder是否使用feed prev 這裏使用feed prev 同時 使用soft attention讀取輸入做爲下一步輸入 get

實驗結論: input

  1. Ptr-Net 和做者提出的 set2seq方式 都是收斂有效的
  2. Ptr-Net 採用glimplse=1 N=15 使用tensorflow lstm訓練,adgrad optimizerlearning rate 0.1初始, 運行10000次的結果 比上圖所示要好不少

    AverageEvals:[0.37186, 0.14407] loss 0.37186 序列徹底預測準確狀況的比例是14.4% 遠遠好於上面提到的4%的結果

  3. Set2seq雖然work 可是沒有看出比直接ptr-net效果要好。。。

    開始幾步收斂確實更快 可是後續收斂遠遠慢於ptr net

       

    選用Step = 20 對比 ptr net

       

       

    因此是哪裏出了問題 沒有正確復現? 仍是原本sort這個例子 lstm controller相比直接lstm序列encode就沒有提高效果呢?

       

    實驗地址

    https://github.com/chenghuige/hasky/tree/master/applications/set2seq

相關文章
相關標籤/搜索