I am trying to create a GRU RNN for a length-unfixed sequence prediction task. Each element of every sequence is a 13-d vector and in each dimension, the value is binary (0 or 1). What the RNN need to do is to predict next element according to previous elements series in that sequence. Now I have two approaches to implement this network:

encode the input vector and output vector to one-hot vector, the output is a softmaxed probability distribution. In this case, the performance of RNN is perfect.
just send the 13-d vector to RNN and output a 13-d vector and the loss was calculated via cross entropy. In this case, the performance is not good enough. Obviously, it needs promotion.
use CNN as an encoder for RNN. Have not tried yet.

Our group hopes we could promote the performance of method 2 through hyper-parameters adjustment. However, it seems that this “encoding” approach has its intrinsic disadvantages regardless of the parameter adjustment.
Anybody have any ideas how I could choose encoder or just promote method 2?