Использовать внутреннее представление автоэнкодера для обнаружения аномалий - PullRequest
0 голосов
/ 24 ноября 2018

Я обучил автоэнкодер распознавать «положительные» временные ряды (сеть представляет собой простую полностью подключенную сеть, без повторяющихся слоев).Проблема в том, что из того, что говорит мой советник, я должен попытаться обнаружить аномалии, используя некоторую статистику по скрытому пространству (например, разницу между гистограммами скрытого пространства между хорошими и выбросными данными), но когда я предсказываю временные ряды с выбросами, я получаю то же самоевнутреннее представление как с хорошими данными.Я считаю, что это связано с тем, что моя сеть может воспроизводить только нормальные данные.У вас есть какие-нибудь намеки?Спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

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

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

Вы сможете рассуждать о коренной причине выброса (какое измерение в наибольшей степени влияет на ошибку восстановления), если у вас есть четкое представление о том, какие оригинальные элементы представляют ваши промежуточные элементы.Это может быть довольно сложно, если у вас есть один полностью подключенный авто-кодер и несколько скрытых слоев, где вклад каждой функции в каждый нейрон все чаще чередуется с другими функциями.Хитрость заключается в том, чтобы создать один авто-кодер для каждого набора функций и использовать их в качестве ансамбля для прогнозирования аномалий.Таким образом, каждый авто-кодер в ансамбле, как известно, отвечает за набор функций, и это облегчает понимание того, как каждый набор функций способствует аномалии.Смотрите пример здесь .

...