Обучение нейронной сети и точность проверки ровно после одной эпохи - PullRequest
1 голос
/ 03 мая 2020

Я испытываю очень похожую проблему, описанную здесь . Я построил довольно простую нейронную сеть для выполнения мультиклассовой классификации нескольких меток на наборе данных Pascal VO C.

Вот архитектура, которую я использовал:

model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu',input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(20, activation='sigmoid'))
model.summary()

model.compile(loss='binary_crossentropy',
optimizer=optimizers.RMSprop(lr=1e-4),
metrics=['acc'])

Изначально я был счастлив достичь высокой точности:

  • Точность теста: 0,9270516037940979
  • Потеря теста: 0,24367780983448029

Однако, когда я строю график обучения и проверки достоверности, я обратите внимание, что кривая плоская после одной эпохи.

enter image description here

Разница с вопросом SO, связанным выше, заключается в том, что моя потеря тренировок постоянно уменьшается в течение эпох, что можно наблюдать здесь:

enter image description here

Поскольку уровень ошибок по-прежнему уменьшается, можем ли мы сделать вывод, что моя модель достаточно сложна? Если это так, это исключает три причины, приведенные в вопросе SO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...