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

Я строю детектор аномалий с полууправлением, используя авто-кодер для изображений. Мой набор данных состоит из изображений в градациях серого (80x60). Аномалии - это также изображения одинакового размера с другими объектами (например, набор данных - футболка, аномалии - часы или обувь). Все изображения нормализованы со значениями от 1 до 0.

Это мой простой авто-кодер в Keras

input_shape=(80,60,1)
n_channels = input_shape[-1]
model = Sequential()
model.add(Conv2D(32, (3,3), activation='relu', padding='same', input_shape=input_shape))
model.add(MaxPool2D(padding='same'))
model.add(Conv2D(16, (3,3), activation='relu', padding='same'))
model.add(MaxPool2D(padding='same'))
model.add(Conv2D(8, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D())
model.add(Conv2D(16, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D())
model.add(Conv2D(32, (3,3), activation='relu', padding='same'))
model.add(Conv2D(n_channels, (3,3), activation='sigmoid', padding='same'))

model.compile(optimizer='adam', loss='mse')

history = model.fit( x_train, x_train, epochs=20, verbose=1, validation_data=(x_valid, x_valid), use_multiprocessing=-1)

Моя потеря также мала (ниже 0,0048). Проблема в том, что мой автоэнкодер может создавать хорошие изображения также из аномалий. Поэтому я не могу получить значительную ошибку, чтобы распознать нормальные данные и аномалии.

Заранее спасибо!

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