我试图调和我对LSTMs的理解,并在这里指出: http ://colah.github.io/posts/2015-08-Understanding-LSTMs/与Keras中实现的LSTM。 我正在关注为Keras教程写的http://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/的博客。 我主要困惑的是, 将数据序列重塑为[samples, time steps, features] 有状态的LSTMs 让我们把注意力集中在以上两个问题上,参考下面的代码: # reshape into X=t and Y=t+1 look_back = 3 trainX, trainY = create_dataset(train, look_back) testX, testY = create_dataset(test, look_back) # reshape input to be [samples, time steps, features] trainX = numpy.reshape(trainX, (trainX.shape[0], look_back, 1)) testX = numpy.reshape(testX, (testX.shape[0], look_back, 1)) ######################## # The IMPORTANT […]
考虑到示例代码 。 我想知道如何在RNN上的这个networking上应用梯度剪切,在这种情况下可能出现梯度分解。 tf.clip_by_value(t, clip_value_min, clip_value_max, name=None) 这是一个可以使用的例子,但我在哪里介绍这个? 在RNN的def lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0) # Split data because rnn cell needs a list of inputs for the RNN inner loop _X = tf.split(0, n_steps, _X) # n_steps tf.clip_by_value(_X, -1, 1, name=None) 但是,这是没有意义的,因为张量_X是input,而不是什么被裁剪的gradle生? 我必须为此定义我自己的优化器还是有一个更简单的选项?