参考资料:
Coursera-Sequence Models 第一周作业3
用keras实作LSTM难点:
1、生成的时候是以上一个输出作为输入的,所以需要自己手动for进行操作。
2、LSTM的系数在向前传播的时候是共享参数的,因此要首先要定义好操作符,多次前进的时候都是以同一个操作符进行运算,这样就可以共享参数。
定义全局操作符
reshapor = Reshape((1, 78)) # Used in Step 2.B of djmodel(), below
LSTM_cell = LSTM(n_a, return_state = True) # Used in Step 2.C
densor = Dense(n_values, activation='softmax') # Used in Step 2.D
然后训练和生成的时候都用这个操作符。
用keras搭建好之后还需要进一步地处理,效果听起来很OK。