Я пытался много конфигураций нейронной сети, разные функции активации, разные функции потерь, разные гиперпараметры с лучами..., но мне не удалось добиться точности выше 30%.
Сейчас я использую TensorFlow и плотные слои, но я пробовал и с линейными слоями с аналогичными результатами. Классификация мономаркированная. Входные данные представляют собой матрицу формы 32x303, а выходные данные — массив с единицей в правильной метке классификации в формате one-hot.
Набор данных, который я пытаюсь использовать для классификации — UrbanSound8K (https://urbansounddataset.weebly.com/urbansound8k.html). Я использую дистрибутив: 8 000 аудио для обучения, 2 000 для проверки и 2 000 для тестирования.
Я оставляю код ниже:
Код: Выделить всё
ACTIVATION =['relu','relu']
lr = 0.0001
optimizer = keras.optimizers.Adam(learning_rate=lr)
model = Sequential()
#model.add(Input(shape=(15)))
model.add(keras.layers.Flatten(input_shape=(32, 303)))
for i in range(len(LAYERS)):
model.add(Dense(LAYERS[i], activation=ACTIVATION[i]))
model.add(Dropout(0.1))
model.add(Dense(10, activation='softmax'))
epochs=50
print(model_description(LAYERS, ACTIVATION,15,1,lr))
model.compile(loss=CategoricalCrossentropy(), optimizer=optimizer, metrics=['mae'])
history = model.fit(x_train, y_train, epochs=epochs, batch_size=50,verbose=1, validation_data=(x_val, y_val))
Я пробовал другой оптимизатор: RSMprop и SGD.
Я пробовал использовать другой оптимизатор: RSMprop и SGD.
p>
Я также реализовал раннюю остановку, чтобы избежать переобучения.
Не могли бы вы дать мне несколько советов о том, где продолжать попытки или я что-то делаю? неправильный? Я начинаю впадать в отчаяние

Я также пытался использовать линейные слои с relu и сигмоидой в качестве функций активации.
Я пробовал другой оптимизатор: RSMprop и SGD.
Я также реализовал раннюю остановку, чтобы избежать переобучения.
Подробнее здесь: https://stackoverflow.com/questions/789 ... l-networks