Классификатор двоичных изображений Keras возвращает 1 класс даже с набором обучения - PullRequest
0 голосов
/ 23 октября 2018

В настоящее время я создаю двоичный классификатор изображений, используя керасы с Python.Данные распределяются равномерно как для обучения, так и для тестирования.

У меня возникли проблемы с точностью до 50%, что означает, что во время обучения он угадывал один класс.

Iпредставила градиентное отсечение, BatchNormalization с импульсом и Leaky Relu для решения некоторых проблем.С их помощью я получил классификатор с высокой точностью обучения (95%) и малыми потерями (около 0,05).

Val_acc обычно на 0,1 ниже точности обучения и val_loss около 0,3.Это предполагает переоснащение.

Я решил просто попытаться предсказать с помощью тренировочных образов, где они должны по крайней мере предсказать их правильно в любом случае.Тем не менее, он только предсказывает 1 класс даже на тренировочной площадке.

Ниже приведена моя модель:

    classifier = Sequential()


    classifier.add(Conv2D(8, (5, 5), input_shape = (256, 204, 3), activation = 'linear', padding = 'same'))
    classifier.add(LeakyReLU(alpha=0.001))
    classifier.add(BatchNormalization(momentum = 0.1))
    classifier.add(MaxPooling2D(pool_size = (2, 2)))
    classifier.add(Dropout(0.5))

    classifier.add(Conv2D(8, (5, 5), activation = 'linear', padding = 'same'))
    classifier.add(LeakyReLU(alpha=0.001))
    classifier.add(BatchNormalization(momentum=0.1))
    classifier.add(MaxPooling2D(pool_size = (2, 2)))
    classifier.add(Dropout(0.5))

    classifier.add(Flatten())


   classifier.add(Dense(units = 128, activation = 'linear'))
   classifier.add(LeakyReLU(alpha=0.001))
   classifier.add(Dense(units = 1, activation = 'sigmoid'))


   adam = optimizers.Adam(lr = 0.001, decay = 1e-2, clipvalue = 1, clipnorm = 1)
  classifier.compile(optimizer = adam, loss = 'binary_crossentropy', metrics = ['accuracy'])

Я сделал модель настолько простой, насколько это возможно, чтобы предотвратить переоснащение.Мои изображения для классификатора есть капли воды на куске ткани.Что похоже на пятна крови на стене.

У кого-нибудь есть идеи, почему это так, или что мне следует попробовать дальше?

...