CS:4980:006 Deep Learning Assignment 7: Due 10/30/2018


In this assignment, we will study a small recurrent neural network for echoing a sequence of binary strings. The Python program is rnnecho.py. The same function can be implemented using a LSTM cell from Tensorflow and the code is rnnLSTMecho.py.

Here are your tasks:

  1. For state_size = 3, 4, 5, for truncated_backprop_length = 10, 15, 20, run rnnecho.py several times, to find the minimal number of num_epochs so that the program can correctly return the echoed information (accuracy is 100%) for the last N output bits, where N = truncated_backprop_length, and collect the running times for each case.

  2. Repeat Task 1 for the code rnnLSTMecho.py, and compare the running times of the two tasks.

  3. Add one more recurrent layer (W1, b1) between the layer (W, b) and (W2, b2) in rnnecho.py, where the shape of W1 is (2*state_size, state_size) and the shape of b1 is (1, state_size). Repeat Task 1 for the stacked rnn and compare the running times with those obtained in Task 1.
  4. Add one more LSTM recurrent layer in rnnLSTMecho.py, using . A complete example of using tf.nn.rnn_cell.MultiRNNCell can be found here. Repeat Task 2 and compare the running times with those obtained in Task 2.

Please submit everything required, including the changed code and output of a sample run, the accuracy reports, running times in the ICON dropbox for Assignment 7 before the deadline.

Thank you!