Моя модель LSTM, использующая Keras и Tensorflow, дает значения loss: nan
.
Я пытался уменьшить скорость обучения, но все еще получаю нано и уменьшая общую точность, а также использовал np.any(np.isnan(x_train))
, чтобы проверить значения нано, которые я могу представить себе (нано не было найдено). Я также читал о взрывающихся градиентах и не могу найти ничего, что могло бы помочь с моей конкретной проблемой.
Думаю, у меня есть представление о том, где может быть проблема, но я не совсем уверен. Это процесс, который я реализовал для сборки x_train
Например:
a = [[1,0,..0], [0,1,..0], [0,0,..1]]
a.shape() # (3, 20)
b = [[0,0,..1], [0,1,..0], [1,0,..0], [0,1,..0]]
b.shape() # (4, 20)
Чтобы убедиться, что фигуры одинаковы, я добавляю вектор [0,0,..0]
(все нули) к a
, поэтому форма теперь (4,20)
.
a
и b
добавляются, чтобы придать трехмерному массиву форму (2,4,20)
, и это формирует x_train
. Но я думаю, что добавление пустых векторов нулей по какой-то причине дает мне loss: nan
во время тренировки моей модели. Это где я могу пойти не так?
n.b. a+b
является массивом NumPy, и мой фактический x_train.shape
(1228, 1452, 20)
• Изменить • model.summary()
добавлено ниже:
x_train shape: (1228, 1452, 20)
y_train shape: (1228, 1452, 8)
x_val shape: (223, 1452, 20)
x_val shape: (223, 1452, 8)
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
unified_lstm (UnifiedLSTM) (None, 1452, 128) 76288
_________________________________________________________________
batch_normalization_v2 (Batc (None, 1452, 128) 512
_________________________________________________________________
unified_lstm_1 (UnifiedLSTM) (None, 1452, 128) 131584
_________________________________________________________________
batch_normalization_v2_1 (Ba (None, 1452, 128) 512
_________________________________________________________________
dense (Dense) (None, 1452, 32) 4128
_________________________________________________________________
dense_1 (Dense) (None, 1452, 8) 264
=================================================================
Total params: 213,288
Trainable params: 212,776
Non-trainable params: 512
Скриншот Nan ниже: