2

我期待構建一個序列到序列模型,它需要一個2048長度爲1s和0s的向量(例如[1,0,1,0,0,1 ,0,0,0,1,...,1])作爲我的輸入並將其轉換爲我已知的(可變長度)1-20個長字符(例如GBNMIRN,ILCEQZG或FPSRABBRF)的輸出。LSTM向量到字符序列轉換

我的目標是創建一個模型,可以接受一個新的2048長度爲1和0的向量,並預測輸出序列的樣子。

我已經看過一些github存儲庫,如thisthis

但我不知道如何執行它與我的問題。是否有任何項目已經做了類似的事情/我該如何使用目前的seq2seq模型或LSTM來實現? (python實現)

我在python中使用keras庫。

+0

你試過哪種語言? – Yunnosch

+0

你如何編碼/標準化你的輸入字符串? –

+0

是否有可能將我的二進制向量轉換爲ascii然後正常化字符串? – rajkarthikkumar

回答

2

您的輸入很奇怪,因爲它是一個二進制代碼。我不知道這個模型是否會運行良好。

首先,您需要爲輸入和輸出添加指示邊界的開始和結束標記。然後設計每個時間步的區域模塊,包括如何使用隱藏狀態。您可以嘗試簡單的GRU/LSTM網絡,如下所示。

enter image description here

有關詳細信息,你可以嘗試編碼器

enter image description here

解碼器

enter image description here

此外,您腠ld看看注意機制Neural Machine Translation by Jointly Learning to Align and Translate。結構如下。

enter image description here

詳情

enter image description here

雖然使用的是Keras,我認爲這將是有益的閱讀PyTorch代碼,因爲它很簡單,易於理解。教程中給出的PyTorch tutorial