Я увеличил количество каналов с 7 до 8 в моей CNN, но результаты ухудшаются, почему? - PullRequest
0 голосов
/ 04 июля 2018

Мои входные изображения имеют 8 каналов, а мой вывод (метка) имеет 1 канал, и мой CNN в кератах выглядит следующим образом:

def set_model(ks1=5, ks2=5, nf1=64, nf2=1):
    model = Sequential()
    model.add(Conv2D(nf1, padding="same", kernel_size=(ks1, ks1), 
                     activation='relu', input_shape=(62, 62, 8)))
    model.add(Conv2D(nf2, padding="same", kernel_size=(ks2, ks2), 
                                              activation='relu'))
    model.compile(loss=keras.losses.binary_crossentropy,
                  optimizer=keras.optimizers.Adadelta())
    return model

Ниже приведена сводка модели, реализованной выше:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_1 (Conv2D)            (None, 62, 62, 64)        12864     
_________________________________________________________________
conv2d_2 (Conv2D)            (None, 62, 62, 1)         1601      
=================================================================
Total params: 14,465
Trainable params: 14,465
Non-trainable params: 0
_________________________________________________________________

И еще один вопрос, который я задал здесь ( Как создать 3D-фильтр для Conv2D в Keras? ) Я убежден, что у каждого канала есть свой набор весов. Теперь мой вопрос: почему, когда я добавляю другой канал и увеличиваю их с 7 до 8, результаты ухудшаются?

Индекс точности прогнозирования с 7 каналами: enter image description here

Индекс точности прогнозирования с 8 каналами: enter image description here

Я также стандартизировал все 8 каналов на значения от 0 до 1.

одно из предсказаний с 7 каналами:

enter image description here

одно из предсказаний с 8 каналами:

enter image description here

...