CNN - Случайная точность падает - PullRequest
0 голосов
/ 08 октября 2019

Я недавно начал играть с CNN. Хотя я (думаю) понимаю теорию, я не смог объяснить следующий график:

enter image description here

Буду очень признателен, если кто-нибудь сможет помочь мне понятьпочему набор данных проверки имеет случайное снижение точности.

Не уверен, что это помогает, но моя архитектура CNN:

# Convolution 1
model.add(Convolution2D(64,(3,3),input_shape=(28,28,1)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size = (2,2)))
model.add(BatchNormalization())

# Convolution 2
model.add(Convolution2D(64,(3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size = (2,2))) 
model.add(BatchNormalization())

# Flattening
model.add(Flatten())

# Fully connected layers
model.add(Dense(activation = 'relu', units=64 ))
model.add(Dropout(0.1))
model.add(Dense(activation = 'relu', units=64 ))
model.add(Dropout(0.1))

# Output
model.add(Dense(activation = 'softmax', units=24 ))

Я также использую пользовательский оптимизатор:

adam_opt = optimizers.adam(lr = 0.001,amsgrad=True)
model.compile(optimizer = adam_opt, loss = 'categorical_crossentropy',
                   metrics = ['accuracy'])

Обучение для 150 эпох с помощью пакетаразмер 64.

...