Я внедряю CNN для распознавания речи.Входными являются MEL частоты с формой (85314, 99, 1), а метки кодируются в горячем виде с 35 выходными классами (форма: (85314, 35)).Когда я запускаю модель, точность обучения (изображение 2) начинается с высокой и остается неизменной на протяжении нескольких эпох, в то время как потери при проверке (изображение 1) увеличиваются.Следовательно, это, вероятно, переоснащение, но я не могу найти причину проблемы.Я уже снизил скорость обучения и поиграл с размерами партий, но результаты остались прежними.Также должно быть достаточно данных о тренировках.Есть ли еще проблемы с моими настройками гиперпараметров?
Моя модельи гиперпараметры определены следующим образом:
#hyperparameters
input_dimension = 85314
learning_rate = 0.0000025
momentum = 0.85
hidden_initializer = random_uniform(seed=1)
dropout_rate = 0.2
# create model
model = Sequential()
model.add(Convolution1D(nb_filter=32, filter_length=3, input_shape=(99, 1), activation='relu'))
model.add(Convolution1D(nb_filter=16, filter_length=1, activation='relu'))
model.add(Flatten())
model.add(Dropout(0.2))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(64, activation='relu'))
model.add(Dense(35, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='sgd', metrics=['acc'])
history = model.fit(frequencies_train, labels_hot, validation_split=0.2, epochs=10, batch_size=50)