Почему потери при перекрестной проверке не уменьшаются для этой модели? - PullRequest
0 голосов
/ 29 апреля 2020

Ссылка Github на код- https://github.com/abhijit1247/Resnet50_trial1.git

Я пытаюсь использовать трансферное обучение для классификации спутниковых изображений в наборе данных DeepSAT-6.

ссылка для набора данных- https://www.kaggle.com/crawford/deepsat-sat6

Моя базовая модель Resnet50 . Я пытаюсь следовать этой стратегии обучения https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html, которая сначала тренирует верхний слой отдельно на основе выходных данных полностью замороженных сверточных слоев, а затем прикрепляет верх предварительно подготовленными весами, а затем начинает размораживать сверточные блоки.

верхний слой -

model=Sequential([
Dense(1024,input_dim=2048),
BatchNormalization(),
Activation('relu'),
Dense(256),
BatchNormalization(),
Activation('relu'),
Dense(6, activation='softmax'),
])

, обученный в течение 50 эпох, получил точность обучения около - 95,09 % и кросс-валовую точность - 93,71 %

Затем я прикрепил этот верх к сверточному блоку и разморозил самый нижний обычный блок -

Поезд на 275400 сэмплов, подтвердите на 48600 сэмплов.

Epoch 1/10
275400/275400 [==============================] - 649s 2ms/step - loss: 0.0962 - accuracy: 0.9656 - val_loss: 6.1452 - val_accuracy: 0.1554
Epoch 2/10
275400/275400 [==============================] - 652s 2ms/step - loss: 0.0835 - accuracy: 0.9700 - val_loss: 5.5609 - val_accuracy: 0.1554
Epoch 3/10
275400/275400 [==============================] - 665s 2ms/step - loss: 0.0745 - accuracy: 0.9734 - val_loss: 6.6450 - val_accuracy: 0.1554
Epoch 4/10
275400/275400 [==============================] - 663s 2ms/step - loss: 0.0680 - accuracy: 0.9758 - val_loss: 6.4879 - val_accuracy: 0.1554
Epoch 5/10
275400/275400 [==============================] - 678s 2ms/step - loss: 0.0634 - accuracy: 0.9775 - val_loss: 6.2436 - val_accuracy: 0.1554
Epoch 6/10
275400/275400 [==============================] - 651s 2ms/step - loss: 0.0589 - accuracy: 0.9789 - val_loss: 7.9822 - val_accuracy: 0.1554
Epoch 7/10
275400/275400 [==============================] - 662s 2ms/step - loss: 0.0555 - accuracy: 0.9803 - val_loss: 9.0204 - val_accuracy: 0.1554
Epoch 8/10
275400/275400 [==============================] - 701s 3ms/step - loss: 0.0521 - accuracy: 0.9812 - val_loss: 8.3389 - val_accuracy: 0.1554
Epoch 9/10
275400/275400 [==============================] - 669s 2ms/step - loss: 0.0502 - accuracy: 0.9824 - val_loss: 8.9311 - val_accuracy: 0.1554

Так почему потеря перекрестной проверки ведет себя так странно? Почему не уменьшается с эпохами?

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