CS6140 Machine Learning
HW6 - Sequence NNets for Machine Translation: Recurrent NN, LSTM, Tranformer
Make sure you check the syllabus for the due date.
To setup: see the README, get the data, get the code : training, data_utils, evaluate.
In all problems below you will train and evaluate for translation from English to Spanish
PROBLEM 1 Recurrent NN : implement Encoder and Decoder [50 points]
Starting Code for Pb1
(A) Code up the Encoder and Decoder, and use the "nn.RNN" built in pipeline.
(B) Replace "nn.RNN" with the "nn.LSTM" built-in pipeline
PROBLEM 2 Recurrent NN : Implement the RNN and LSTM
Starting Code for Pb2
(A) [50 points] Encoder, Decoder: Replace "nn.RNN" with your own RNN pipeline, using code from the d2l book
(B) [optional, no credit] Encoder, Decoder: Replace "nn.LSTM" with your own LSTM, using LSTM code from the d2l book
PROBLEM 3 Transformer NN [50 points]
Starting Code for Pb3
Complete the code using the "nn.TransformerEncodinglayer" and "nn.TransformerDecodingLayer" built-in blocks
PROBLEM 4 Transformer NN : Build your own blocks [optional, no credit]
Starting Code for Pb4
Code your own EncodingBlock, DecodingBlock, and Transformer
PROBLEM 5 [optional, no credit] Adv NN : Embedding Words layer
Replace the "nn.Embedding" with your own, based on d2l book chapters 15, 16. Use Glove6B pre-trained vectors (English and Spanish) and fine-tune them for the current data.