おおよそ次のような単純な LSTM ネットワークがあります。
lstm_activation = tf.nn.relu
cells_fw = [LSTMCell(num_units=100, activation=lstm_activation),
LSTMCell(num_units=10, activation=lstm_activation)]
stacked_cells_fw = MultiRNNCell(cells_fw)
_, states = tf.nn.dynamic_rnn(cell=stacked_cells_fw,
inputs=embedding_layer,
sequence_length=features['length'],
dtype=tf.float32)
output_states = [s.h for s in states]
states = tf.concat(output_states, 1)
私の質問はです。アクティベーション (activation=None) を使用しないか、tanh を使用するとすべてが機能しますが、relu を切り替えると「トレーニング中に NaN 損失」が発生し続けます。なぜですか? 100%再現可能です。