1

おおよそ次のような単純な 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%再現可能です。

4

1 に答える 1