Deep learning method for identifying anomalies in operating computer systems

Cover Page

Cite item

Full Text

Abstract

The problem of detecting anomalous behavior in large software systems can be reduced to the problem of detecting anomalies in text data streams. In this paper, we propose an approach based on a combination of deep learning (an autoencoder using convolutional neural networks and a single-layer fully connected decoder) and approaches based on the fuzzy clustering method. The solution proposed allows one to construct vector representations of groups of sequential events and identify outliers in the data using a developed layer based on fuzzy clustering and radial basis functions methods.

Full Text

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

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

Как правило, обнаружение ошибок в компьютерных системах возможно путем поиска аномального поведения на основании анализа происходящих событий, информация о которых хранится в сложно структурированном виде в специальных журналах. Эта информация может быть представима в текстовом виде. Таким образом, задача поиска аномального поведения системы может быть сведена к задаче обнаружения аномалий в потоке текстовых описаний происходящих событий. в При этом важно отметить, что объем журналов может быть очень большим. Поэтому ручной поиск аномалий не представляется возможным 6,12,14]. Следовательно, нужно разработать алгоритм, позволяющий автоматически определять подобное аномальное поведение систем. Анализ существующих работ показывает, что в этой области эффективными являются подходы, основанные на глубоком обучении. Именно им и посвящена данная работа.

2. Анализ существующих работ. На основании анализа существующих работ можно утверждать, что общая схема обнаружения аномального поведения систем состоит из следующих этапов [1, 12]:

(i) построение модели данных;

(ii) построение модели нормального поведения системы;

(iii) обучение модели обнаружения аномального поведения;

(iv) применение модели обнаружения аномального поведения.

На этапе построения модели данных важно учитывать природу входных данных, которые, как было отмечено выше, представляют собой текстовые описания происходящих в системе событий. Следовательно, на этом этапе могут применяться классические методы анализа текстовых данных (токенизация, лемматизация; см. [7, 18]).

Кроме того, важно помнить, что входные текстовые данные описывают события и обладают рядом специфических особенностей [7]:

(i) описания событий сильно зависят от конкретной системы, поэтому для разработки универсального алгоритма необходимо минимизировать множество алгоритмов предобработки данных;

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

(iii) множество уникальных событий ограничено относительно небольшим размером словаря (не больше 1000);

(iv) входные данные представляют собой поток описаний связанных между собой событий.

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

После выполнения токенизации необходимо провести векторизации входных данных. На этом этапе применимы классические методы векторизации текста (One-hot кодирование отдельных событий, модели описаний событий как текстовые модели множества либо последовательности слов) [2].

Следующий этап заключается в построении признакового описания последовательности взаимосвязанных событий. Полученное информативное векторное представление указанных последовательностей и может рассматриваться в качестве модели данных. На этом этапе широко применяются подходы, основанные на сокращении размерности признакового пространства (латентное разложение Дирихле, матричные разложения и др.) [2]. Также в последнее время применяются подходы, основанные на глубоком обучении (сверточные нейронные сети, архитектуры трансформеров с использованием механизма самовнимания) [19].

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

Поэтому на данном этапе следует использовать классический подход сведения поставленной задачи к задаче одноклассовой классификации [1]. Особый интерес представляет классический одноклассовый метод опорных векторов [1], который может рассматриваться в качестве базового решения. Также стоит обратить внимание на методы нечеткой кластеризации, которые развиваются авторами данной работы [8, 17]. Также в последнее время наиболее эффективными являются различные модификации архитектур трансформеров [5]. Именно эти подходы и будут рассмотрены далее.

Одноклассовый метод опорных векторов [13] представляет собой некоторую модификацию классического метода опорных векторов для задач одноклассовой классификации и позволяет строить разделяющую гиперплоскость на основании решения следующей задачи оптимизации:

min 1 2 *||w || 2 + 1 vl i=1 l ξ i ρ,(w*Φ( x i ))ρ ξ i ;i=1,2,,l; ξ i 0. MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaaciGGTbGaaiyAaiaac6gadaWcaaqaai aaigdaaeaacaaIYaaaaiaaiQcacaaI8bGaaGiFaiaadEhacaaI8bGa aGiFamaaCaaaleqabaGaaGOmaaaakiabgUcaRmaalaaabaGaaGymaa qaaiaadAhacaWGSbaaamaaqahabeWcbaGaamyAaiaai2dacaaIXaaa baGaamiBaaqdcqGHris5aOGaeqOVdG3aaSbaaSqaaiaadMgaaeqaaO GaeyOeI0IaeqyWdiNaaGilaiaaywW7caaIOaGaam4DaiaaiQcacqqH MoGrcaaIOaGaamiEamaaBaaaleaacaWGPbaabeaakiaaiMcacaaIPa GaeyyzImRaeqyWdiNaeyOeI0IaeqOVdG3aaSbaaSqaaiaadMgaaeqa aOGaaG4oaiaaywW7caWGPbGaaGypaiaaigdacaaISaGaaGOmaiaaiY cacqWIMaYscaaISaGaamiBaiaaiUdacaaMf8UaeqOVdG3aaSbaaSqa aiaadMgaaeqaaOGaeyyzImRaaGimaiaai6caaaa@6F85@

Здесь x i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaaSbaaSqaaiaadMgaaeqaaO GaeyicI48efv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaa cqWFDeIuaaa@4019@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  объекты обучающей выборки, v(0,1) MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG2bGaeyicI4SaaGikaiaaicdaca aISaGaaGymaiaaiMcaaaa@37CC@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  процент исключений в обучающей выборке, l MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGSbaaaa@32AE@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  количество объектов в обучающей выборке, ξ i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaH+oaEdaWgaaWcbaGaamyAaaqaba aaaa@349A@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  некоторые штрафующие переменные, Φ: N H MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqqHMoGrcaaI6aWefv3ySLgznfgDOj daryqr1ngBPrginfgDObcv39gaiqaacqWFDeIudaahaaWcbeqaaiaa d6eaaaGccqGHsgIRcaWGibaaaa@4276@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  некоторая ядровая функция, осуществляющая отображение первоначального пространства признаков в пространство большей размерности H MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGibaaaa@328A@ . Если w MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG3baaaa@32B9@  и ρ MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaHbpGCaaa@337D@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  решение поставленной задачи, то решающая функция выглядит следующим образом:

f(x)=sign(w*Φ(x)ρ). MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGMbGaaGikaiaadIhacaaIPaGaaG ypaiaadohacaWGPbGaam4zaiaad6gacaaIOaGaam4DaiaaiQcacqqH MoGrcaaIOaGaamiEaiaaiMcacqGHsislcqaHbpGCcaaIPaGaaGOlaa aa@43EC@

Методы нечеткой кластеризации  [3, 17] позволяют строить так называемые нечеткие кластеры и определять степень аномальности входящих в обучающую выборку событий. При этом, лучший результат можно получить с помощью использования эллиптических кластеров, учитывающих матрицу ковариаций данных обучающей выборки [8].

Суть метода заключается в следующем. Рассмотрим конечную выборку входных данных: { x i X|i=1,,N} MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaI7bGaamiEamaaBaaaleaacaWGPb aabeaakiabgIGiolaadIfacaGG8bGaamyAaiaai2dacaaIXaGaaGil aiablAciljaaiYcacaWGobGaaGyFaaaa@3F1C@ . Здесь N MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGobaaaa@3290@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  размер выборки, X MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGybaaaa@329A@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  множество значений из пространства признаков. Необходимо построить единый кластер эллипсоидальной формы, включающий все исследуемые образцы таким образом, что степень типичности u i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG1bWaaSbaaSqaaiaadMgaaeqaaa aa@33D1@  каждого образца x i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaaSbaaSqaaiaadMgaaeqaaa aa@33D4@  вычисляется путем решения следующей задачи оптимизации:

min U,a,μ E(u,a,μ)=μ i=1 N u i m *|| x i a || C 2 . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaadaGfqbqabSqaaiaadwfacaaISaGaam yyaiaaiYcacqaH8oqBaeqakeaaciGGTbGaaiyAaiaac6gaaaGaamyr aiaaiIcacaWG1bGaaGilaiaadggacaaISaGaeqiVd0MaaGykaiaai2 dacqaH8oqBdaaeWbqabSqaaiaadMgacaaI9aGaaGymaaqaaiaad6ea a0GaeyyeIuoakiaadwhadaqhaaWcbaGaamyAaaqaaiaad2gaaaGcca aIQaGaaGiFaiaaiYhacaWG4bWaaSbaaSqaaiaadMgaaeqaaOGaeyOe I0IaamyyaiaaiYhacaaI8bWaa0baaSqaaiaadoeaaeaacaaIYaaaaO GaaGOlaaaa@5777@

Здесь u i m MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG1bWaa0baaSqaaiaadMgaaeaaca WGTbaaaaaa@34C4@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  степень типичности образца x i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaaSbaaSqaaiaadMgaaeqaaa aa@33D4@ , m>1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGTbGaaGOpaiaaigdaaaa@3432@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  степень нечеткости, U MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGvbaaaa@3297@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  множество степеней типичности образцов, || x i a || C 2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaI8bGaaGiFaiaadIhadaWgaaWcba GaamyAaaqabaGccqGHsislcaWGHbGaaGiFaiaaiYhadaqhaaWcbaGa am4qaaqaaiaaikdaaaaaaa@3B7A@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  квадрат расстояния Махалонобиса от вектора x i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaaSbaaSqaaiaadMgaaeqaaa aa@33D4@  до центра кластера a MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGHbaaaa@32A3@ , вычисляемый по формуле

D i (a)=|| x i a || C 2 =( x i a ) T * C 1 *( x i a), MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGebWaaSbaaSqaaiaadMgaaeqaaO GaaGikaiaadggacaaIPaGaaGypaiaaiYhacaaI8bGaamiEamaaBaaa leaacaWGPbaabeaakiabgkHiTiaadggacaaI8bGaaGiFamaaDaaale aacaWGdbaabaGaaGOmaaaakiaai2dacaaIOaGaamiEamaaBaaaleaa caWGPbaabeaakiabgkHiTiaadggacaaIPaWaaWbaaSqabeaacaWGub aaaOGaaGOkaiaadoeadaahaaWcbeqaaiabgkHiTiaaigdaaaGccaaI QaGaaGikaiaadIhadaWgaaWcbaGaamyAaaqabaGccqGHsislcaWGHb GaaGykaiaaiYcaaaa@51D1@

где C MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGdbaaaa@3285@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  матрица ковариаций.

В ходе исследований, проведенных в изученной литературе [8], степень типичности объекта может определяться по следующей формуле:

u i = 1+ D i (a) μ 1/(m1) 1 , MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG1bWaaSbaaSqaaiaadMgaaeqaaO GaaGypamaadmaabaGaaGymaiabgUcaRmaabmaabaWaaSaaaeaacaWG ebWaaSbaaSqaaiaadMgaaeqaaOGaaGikaiaadggacaaIPaaabaGaeq iVd0gaaaGaayjkaiaawMcaamaaCaaaleqabaGaaGymaiaai+cacaaI OaGaamyBaiabgkHiTiaaigdacaaIPaaaaaGccaGLBbGaayzxaaWaaW baaSqabeaacqGHsislcaaIXaaaaOGaaGilaaaa@47F7@

где μ MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaH8oqBaaa@3373@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  радиус кластера, на котором образы анализируемых объектов имеют степень типичности, равную 0,5 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaiwdaaaa@33EC@ . Этот радиус вычисляется на основании расстояний каждого объекта обучающей выборки до найденного центра распределения.

Подходы, основанные на архитектуре трансформеров с механизмом самовнимания (см. [5, 19]), позволяют строить информативные векторные представления потока событий, учитывающие взаимные связи событий. Данный алгоритм обучается на задаче маскированного моделирования, заключающейся в предсказании пропущенных событий в рассматриваемой последовательности. При этом в последнее время наиболее эффективными являются подходы, основанные на так называемом многоголовом самовнимании. Такие архитектуры представляют собой параллельно связанные <<головы>> (элементы, вычисляющие степень внимания). Каждая <<голова>> позволяет определять степень внимания, исходя из различных особенностей данных. Формально каждая <<голова>> представляет собой скалярное произведение:

hea d l =Attention( X j W l Q , X j W l K , X j W l V ), MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGObGaamyzaiaadggacaWGKbWaaS baaSqaaiaadYgaaeqaaOGaaGypaiaadgeacaWG0bGaamiDaiaadwga caWGUbGaamiDaiaadMgacaWGVbGaamOBaiaaiIcacaWGybWaaWbaaS qabeaacaWGQbaaaOGaam4vamaaDaaaleaacaWGSbaabaGaamyuaaaa kiaaiYcacaWGybWaaWbaaSqabeaacaWGQbaaaOGaam4vamaaDaaale aacaWGSbaabaGaam4saaaakiaaiYcacaWGybWaaWbaaSqabeaacaWG QbaaaOGaam4vamaaDaaaleaacaWGSbaabaGaamOvaaaakiaaiMcaca aISaaaaa@51D1@

Attention(Q,K,V)=softmax Q K T d v V. MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGbbGaamiDaiaadshacaWGLbGaam OBaiaadshacaWGPbGaam4Baiaad6gacaaIOaGaamyuaiaaiYcacaWG lbGaaGilaiaadAfacaaIPaGaaGypaiaadohacaWGVbGaamOzaiaads hacaWGTbGaamyyaiaadIhadaqadaqaamaalaaabaGaamyuaiaadUea daahaaWcbeqaaiaadsfaaaaakeaadaGcaaqaaiaadsgadaWgaaWcba GaamODaaqabaaabeaaaaaakiaawIcacaGLPaaacaWGwbGaaGOlaaaa @4EEA@

Здесь X j T*d MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGybWaaWbaaSqabeaacaWGQbaaaO GaeyicI48efv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaa cqWFDeIudaahaaWcbeqaaiaadsfacaaIQaGaamizaaaaaaa@429E@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  информативное представление последовательности событий; W l Q MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGxbWaa0baaSqaaiaadYgaaeaaca WGrbaaaaaa@348D@ , W l K MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGxbWaa0baaSqaaiaadYgaaeaaca WGlbaaaaaa@3487@  и W l V MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGxbWaa0baaSqaaiaadYgaaeaaca WGwbaaaaaa@3492@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  матрицы весов для линейной проекции размерности d* d v MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HMmaeHbfv3ySLgzG0 uy0HgiuD3BaGabaiab=1risnaaCaaaleqabaGaamizaiaaiQcacaWG KbWaaSbaaeaacaWG2baabeaaaaaaaa@4043@  для <<головы>> с номером l MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGSbaaaa@32AE@ ; d v MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGKbWaaSbaaSqaaiaadAhaaeqaaa aa@33CD@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  размерность одной <<головы>>.

Механизм многоголового самовнимания производит объединение всех голов линейное отображение в некоторое новое пространство размерности d O MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGKbWaaSbaaSqaaiaad+eaaeqaaa aa@33A6@  с помощью матрицы весов W O h d v * d O MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGxbWaaWbaaSqabeaacaWGpbaaaO GaeyicI48efv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaa cqWFDeIudaahaaWcbeqaaiaadIgacaWGKbWaaSbaaeaacaWG2baabe aacaaIQaGaamizamaaBaaabaGaam4taaqabaaaaaaa@4590@ :

f( X j )=Concat(hea d 1 ,,hea d H ) W O . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGMbGaaGikaiaadIfadaahaaWcbe qaaiaadQgaaaGccaaIPaGaaGypaiaadoeacaWGVbGaamOBaiaadoga caWGHbGaamiDaiaaiIcacaWGObGaamyzaiaadggacaWGKbWaaSbaaS qaaiaaigdaaeqaaOGaaGilaiablAciljaaiYcacaWGObGaamyzaiaa dggacaWGKbWaaSbaaSqaaiaadIeaaeqaaOGaaGykaiaadEfadaahaa Wcbeqaaiaad+eaaaGccaaIUaaaaa@4C1F@

 Далее, для предсказания пропущенного события используется полносвязный слой с функцией активации ReLU:

transformer_layer( X j )=ReLU(f( X j ) W 1 ) W 2 . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG0bGaamOCaiaadggacaWGUbGaam 4CaiaadAgacaWGVbGaamOCaiaad2gacaWGLbGaamOCaiaai+facaWG SbGaamyyaiaadMhacaWGLbGaamOCaiaaiIcacaWGybWaaWbaaSqabe aacaWGQbaaaOGaaGykaiaai2dacaWGsbGaamyzaiaadYeacaWGvbGa aGikaiaadAgacaaIOaGaamiwamaaCaaaleqabaGaamOAaaaakiaaiM cacaWGxbWaaSbaaSqaaiaaigdaaeqaaOGaaGykaiaadEfadaWgaaWc baGaaGOmaaqabaGccaaIUaaaaa@536C@

Здесь W 1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGxbWaaSbaaSqaaiaaigdaaeqaaa aa@3380@  и W 2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGxbWaaSbaaSqaaiaaikdaaeqaaa aa@3381@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  некоторые матрицы весов.

Классическая архитектура трансформера состоит из нескольких таких слоев transformer_layer MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG0bGaamOCaiaadggacaWGUbGaam 4CaiaadAgacaWGVbGaamOCaiaad2gacaWGLbGaamOCaiaai+facaWG SbGaamyyaiaadMhacaWGLbGaamOCaaaa@41C6@  и позволяет строить информативное векторное представление для события x t j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaa0baaSqaaiaadshaaeaaca WGQbaaaaaa@34CF@  по следующему правилу:

h j t =Transformer( x t j ) MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGObWaa0baaSqaaiaadQgaaeaaca WG0baaaOGaaGypaiaadsfacaWGYbGaamyyaiaad6gacaWGZbGaamOz aiaad+gacaWGYbGaamyBaiaadwgacaWGYbGaaGikaiaadIhadaqhaa WcbaGaamiDaaqaaiaadQgaaaGccaaIPaaaaa@445B@

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

L= L MLKP +α* L VHM . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimjaai2dacqWFsectdaWgaaWcbaGaamyt aiaadYeacaWGlbGaamiuaaqabaGccqGHRaWkcqaHXoqycaaIQaGae8 NeHW0aaSbaaSqaaiaadAfacaWGibGaamytaaqabaGccaaIUaaaaa@4934@

Здесь α MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaHXoqyaaa@335C@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  гиперпараметр; L MLKP MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWGnbGaamitaiaadUea caWGqbaabeaaaaa@3FBE@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  оценка предсказания векторного представления пропущенного события с вектором h [MAS K i ] j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGObWaa0baaSqaaiaaiUfacaWGnb GaamyqaiaadofacaWGlbWaaSbaaeaacaWGPbaabeaacaaIDbaabaGa amOAaaaaaaa@39E1@ :

L MLKP = 1 N j=1 N i=1 M y [MAS K i ] j log y ^ [MAS K i ] j , y ^ [MAS K i ] j =Softmax( W C h [MAS K i ] j + b C ). MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWGnbGaamitaiaadUea caWGqbaabeaakiaai2dacqGHsisldaWcaaqaaiaaigdaaeaacaWGob aaamaaqahabeWcbaGaamOAaiaai2dacaaIXaaabaGaamOtaaqdcqGH ris5aOWaaabCaeqaleaacaWGPbGaaGypaiaaigdaaeaacaWGnbaani abggHiLdGccaWG5bWaa0baaSqaaiaaiUfacaWGnbGaamyqaiaadofa caWGlbWaaSbaaeaacaWGPbaabeaacaaIDbaabaGaamOAaaaakiGacY gacaGGVbGaai4zaiqadMhagaqcamaaDaaaleaacaaIBbGaamytaiaa dgeacaWGtbGaam4samaaBaaabaGaamyAaaqabaGaaGyxaaqaaiaadQ gaaaGccaaISaGaaGzbVlqadMhagaqcamaaDaaaleaacaaIBbGaamyt aiaadgeacaWGtbGaam4samaaBaaabaGaamyAaaqabaGaaGyxaaqaai aadQgaaaGccaaI9aGaam4uaiaad+gacaWGMbGaamiDaiaad2gacaWG HbGaamiEaiaaiIcacaWGxbWaaSbaaSqaaiaadoeaaeqaaOGaamiAam aaDaaaleaacaaIBbGaamytaiaadgeacaWGtbGaam4samaaBaaabaGa amyAaaqabaGaaGyxaaqaaiaadQgaaaGccqGHRaWkcaWGIbWaaSbaaS qaaiaadoeaaeqaaOGaaGykaiaai6caaaa@8263@

Здесь y ^ [MAS K i ] j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaaceWG5bGbaKaadaqhaaWcbaGaaG4wai aad2eacaWGbbGaam4uaiaadUeadaWgaaqaaiaadMgaaeqaaiaai2fa aeaacaWGQbaaaaaa@3A02@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  вероятность предсказанного события; W C MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGxbWaaSbaaSqaaiaadoeaaeqaaa aa@338D@  и b C MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGIbWaaSbaaSqaaiaadoeaaeqaaa aa@3398@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  обучаемые параметры; y [MAS K i ] j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG5bWaa0baaSqaaiaaiUfacaWGnb GaamyqaiaadofacaWGlbWaaSbaaeaacaWGPbaabeaacaaIDbaabaGa amOAaaaaaaa@39F2@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  векторное представление реального замаскированного события с номером i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGPbaaaa@32AB@ ; M MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGnbaaaa@328F@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  общее количество замаскированных событий в последовательности с номером j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGQbaaaa@32AC@ ; L VHM MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWGwbGaamisaiaad2ea aeqaaaaa@3EF0@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  функция для построения кластера нормальных событий:

L VHM = 1 N j=1 N || h DIST j c || 2 . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWGwbGaamisaiaad2ea aeqaaOGaaGypamaalaaabaGaaGymaaqaaiaad6eaaaWaaabCaeqale aacaWGQbGaaGypaiaaigdaaeaacaWGobaaniabggHiLdGccaaI8bGa aGiFaiaadIgadaqhaaWcbaGaamiraiaadMeacaWGtbGaamivaaqaai aadQgaaaGccqGHsislcaWGJbGaaGiFaiaaiYhadaahaaWcbeqaaiaa ikdaaaGccaaIUaaaaa@53E3@

Здесь h DIST j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGObWaa0baaSqaaiaadseacaWGjb Gaam4uaiaadsfaaeaacaWGQbaaaaaa@370E@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  информативное векторное представление всей информации о событиях в последовательности с номером j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGQbaaaa@32AC@ ; c=Mean( h DIST j ) MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGJbGaaGypaiaad2eacaWGLbGaam yyaiaad6gacaaIOaGaamiAamaaDaaaleaacaWGebGaamysaiaadofa caWGubaabaGaamOAaaaakiaaiMcaaaa@3DC1@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  центр распределения нормальных событий.

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

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

В настоящей работе предлагается альтернативный подход, который напоминает указанные архитектуры. Однако, в качестве алгоритма построения модели данных предлагается использовать операцию параллельной свертки, предложенной в работе Ю. Ким и широко применяемую в анализе текстовых данных [9]. Данная операция также позволяет учесть порядок событий, что важно в рамках поставленной задачи. Кроме того, признаки, получаемые в процессе обучения каждой сверточной части автоматически обновляются независимо, что позволяет обучать сеть более эффективно, поэтому данная архитектура может выступать в качестве альтернативы архитектурам трансформера [2]. Также была показана возможность адаптации предложенной архитектуры для обнаружения аномалий в потоках текстового контента [4].

В данной работе предлагается новое решение поставленной задачи, основанное на рассмотренных архитектурах, и представляющее собой автокодировщик с использованием параллельной свёртки в качестве кодировщика и однослойного полносвязного декодировщика, который позволяет минимизировать потери при уменьшении размерности признакового пространства путем привлечения сравнительно небольшого объема вычислительных затрат. Также в работе для обнаружения аномалий предлагается использовать слой, основанный на нечеткой кластеризации, который позволяет автоматически определять уровень типичности каждого блока событий на основании информации о расстоянии от построенных сверточных признаков каждого блока до центра построенного кластера, позволяя при этом строить робастное решение, допускающее определенный процент выбросов в обучающей выборке. При этом слой нечёткой кластеризации позволяет ограничить минимальный размер кластера нормальных данных, что, в свою очередь, не приводит к построению кластера, состоящего всего из одной точки. Итоговая оценка нормальности блока событий оценивается как произведение степени типичности блока, полученной из слоя нечёткой кластеризации, на ошибку реконструкции, которая вычисляется как косинусная мера схожести результата декодирования и исходного векторного описания рассматриваемого блока событий. Иными словами, в процессе обучения сети на нормальных данных мы ищем центр распределения сверточных признаков, пытаясь при этом приблизить векторные представления рассматриваемых блоков к указанному центру и минимизируя ошибки кодирования сверточной частью сети. Предлагамая архитектура приведена на рис. 1 и 2.

 

Рис .1. Операция получения сверточных признаков

 

Рис. 2. Полная архитектура предлагаемого решения

 

3.1. Векторизация данных. В предлагаемом решении, как было сказано выше, рассматриваются непрерывные последовательности событий. При этом, к текстовому описания каждого события приминается единственная предобработка, связанная с удалением идентификаторов (последовательностей непробельных символов, содержащих цифры). После указанной предварительной обработки проводится токенизация по отдельным событиям и проводится их кодирование. Поскольку, как было сказано выше, объем уникальных событий невелик, сложные методы построения информативных векторных представлений текстовых данных (Word2Vec, BERT и т. д.) добавляют лишний шум к данным и ухудшают качество итоговых алгоритмов. Поэтому в данной работе для кодирования описаний событий предлагается использовать простой алгоритм One-hot.

В результате предварительной обработки и векторизации мы получаем представление описаний событий в виде потока One-hot векторов:

x= x 1 , x 2 ,, x i , . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bGaaGypamaabmaabaGaamiEam aaBaaaleaacaaIXaaabeaakiaaiYcacaWG4bWaaSbaaSqaaiaaikda aeqaaOGaaGilaiablAciljaaiYcacaWG4bWaaSbaaSqaaiaadMgaae qaaOGaaGilaiablAcilbGaayjkaiaawMcaaiaai6caaaa@40DC@

Здесь x i m MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaaSbaaSqaaiaadMgaaeqaaO GaeyicI48efv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaa cqWFDeIudaahaaWcbeqaaiaad2gaaaaaaa@4138@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  вектор, описывающий событие с номером i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGPbaaaa@32AB@ , m MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGTbaaaa@32AF@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  размер словаря. Далее события группируются в блоки по n MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGUbaaaa@32B0@  событий, где размер блока n MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGUbaaaa@32B0@  выбирается на основании особенностей рассматриваемых данных. Таким образом, на вход алгоритму построения модели данных подаются матрицы:

M=( M 1 , M 2 ,, M i ,). MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGnbGaaGypaiaaiIcacaWGnbWaaS baaSqaaiaaigdaaeqaaOGaaGilaiaad2eadaWgaaWcbaGaaGOmaaqa baGccaaISaGaeSOjGSKaaGilaiaad2eadaWgaaWcbaGaamyAaaqaba GccaaISaGaeSOjGSKaaGykaiaai6caaaa@400C@

Здесь M i m*n MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGnbWaaSbaaSqaaiaadMgaaeqaaO GaeyicI48efv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaa cqWFDeIudaahaaWcbeqaaiaad2gacaaIQaGaamOBaaaaaaa@42B4@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  матрица, описывающая блок с номером i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGPbaaaa@32AB@ .

3.2. Сверточные нейронные сети для построения признакового пространства. Для векторизации блоков событий и построения данных предлагается использовать операцию параллельной свертки, описанной в работе Ю. Ким [9].

Данная свертка представляет собой 3 независимых параллельных сверточных слоя, каждый из которых представляет собой отдельный сверточный слой, который выполняет преобразование последовательности группы признаков по определенному правилу. Выбирается некоторое значение h MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGObGaeyicI48efv3ySLgznfgDOj daryqr1ngBPrginfgDObcv39gaiqaacqWFveItaaa@3ED9@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  размер фильтра для свертки. Этот размер задается на этапе построения модели.

Далее рассмотрим отдельную матрицу M i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGnbWaaSbaaSqaaiaadMgaaeqaaa aa@33A9@ , которая будет передана одному сверточному слою. Каждый сверточный слой использует несколько независимых фильтров заданного размера, но с разными значениями весов. Тогда рассмотрим отдельный слой и обозначим через c ^ i,j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaaceWGJbGbaKaadaWgaaWcbaGaamyAai aaiYcacaWGQbaabeaaaaa@3574@  карту признаков, которая получается после применения фильтра w j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG3bWaaSbaaSqaaiaadQgaaeqaaa aa@33D4@  указанного слоя к матрице M i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGnbWaaSbaaSqaaiaadMgaaeqaaa aa@33A9@ . Тогда выполняется следующее соотношение:

c ^ i,j = M i w i . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaaceWGJbGbaKaadaWgaaWcbaGaamyAai aaiYcacaWGQbaabeaakiaai2dacaWGnbWaaSbaaSqaaiaadMgaaeqa aOGaeSigI8Maam4DamaaBaaaleaacaWGPbaabeaakiaai6caaaa@3C4D@

Здесь символ MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqWIyiYBaaa@32F7@  обозначает операцию свертки матрицы M i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGnbWaaSbaaSqaaiaadMgaaeqaaa aa@33A9@  фильтром w j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG3bWaaSbaaSqaaiaadQgaaeqaaa aa@33D4@ . Как и в работе Ю. Ким, в качестве фильтра используем матрицу размера m*h MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGTbGaaGOkaiaadIgaaaa@3450@ , т.е. w m*h MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG3bGaeyicI48efv3ySLgznfgDOj daryqr1ngBPrginfgDObcv39gaiqaacqWFDeIudaahaaWcbeqaaiaa d2gacaaIQaGaamiAaaaaaaa@41B4@ . Благодаря этому после применения одного фильтра конкретного слоя получим карту признаков в виде вектора c ^ i,j nh+1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaaceWGJbGbaKaadaWgaaWcbaGaamyAai aaiYcacaWGQbaabeaakiabgIGioprr1ngBPrwtHrhAYaqeguuDJXwA KbstHrhAGq1DVbaceaGae8xhHi1aaWbaaSqabeaacaWGUbGaeyOeI0 IaamiAaiabgUcaRiaaigdaaaaaaa@4650@ .

Далее к каждому значению в полученной карте признаков для указанного фильтра добавляется некоторое смещение и применяется нелинейная функция активации. В работе Ю. Ким [9] предлагалось использовать функцию ReLU. Однако она не позволяет учитывать отрицательные значения признаков, а также не осуществляет стандартизацию признаков, что ухудшает качество работы алгоритмов. В данной работе предлагается использовать модификацию указанной функции в виде SELU (см. [10]):

SELU(x)=λ* x,x>0 α*( e x 1),x0. MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGtbGaamyraiaadYeacaWGvbGaaG ikaiaadIhacaaIPaGaaGypaiabeU7aSjaaiQcadaGabaqaauaabeqa ceaaaeaacaWG4bGaaGilaiaadIhacaaI+aGaaGimaaqaaiabeg7aHj aaiQcacaaIOaGaamyzamaaCaaaleqabaGaamiEaaaakiabgkHiTiaa igdacaaIPaGaaGilaiaaysW7caWG4bGaeyizImQaaGimaiaai6caaa aacaGL7baaaaa@4DD9@

Здесь λ,α MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaH7oaBcaaISaGaeqySdeMaeyicI4 8efv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaacqWFDeIu aaa@4201@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  константы нормализации (см. [10]).

После указанных преобразований для конкретного фильтра выполняется операция субдискретизации, в результате которой выбирается наиболее значимое (максимальное) значение в карте признаков. Следовательно, в результате комбинации свертки и субдискретизации для каждого фильтра получаем одно значение c ˜ i,j MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaaceWGJbGbaGaadaWgaaWcbaGaamyAai aaiYcacaWGQbaabeaakiabgIGioprr1ngBPrwtHrhAYaqeguuDJXwA KbstHrhAGq1DVbaceaGae8xhHifaaa@41B8@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  сверточный признак для заданного фильтра.

После этого происходит конкатенация всех сверточных признаков для всех сверточных слоев и всех фильтров, в результате которой получается вектор признакового описания блока событий, который и можно рассматривать в качестве модели данных: c i k MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGJbWaaSbaaSqaaiaadMgaaeqaaO GaeyicI48efv3ySLgznfgDOjdaryqr1ngBPrginfgDObcv39gaiqaa cqWFDeIudaahaaWcbeqaaiaadUgaaaaaaa@4121@ , где k= p=1 n c s p MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGRbGaaGypamaaqahabeWcbaGaam iCaiaai2dacaaIXaaabaGaamOBamaaBaaabaGaam4yaaqabaaaniab ggHiLdGccaWGZbWaaSbaaSqaaiaadchaaeqaaaaa@3C4D@ , где n c =3 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGUbWaaSbaaSqaaiaadogaaeqaaO GaaGypaiaaiodaaaa@3552@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  количество сверточных слоев, s p MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGZbWaaSbaaSqaaiaadchaaeqaaa aa@33D6@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  количество фильтров в слое с номером p MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGWbaaaa@32B2@ . Количество фильтров каждого слоя является гиперпараметром, который указывается на этапе построения модели.

3.3. Асимметричный автокодировщик для минимизации потерь информации при сокращении размерности признакового пространства. Анализ существующих работ показал, что для минимизации потерь информации при сокращении признакового пространства стоит использовать архитектуру декодировщика [2]. Таким образом, после сверточной части необходимо добавить слой декодировщика, который будет производить восстановление исходного векторного описания событий по построенным сверточным признакам.

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

L decomp =cos( x i , z i ). MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWGKbGaamyzaiaadoga caWGVbGaamyBaiaadchaaeqaaOGaaGypaiGacogacaGGVbGaai4Cai aaiIcacaWG4bWaaSbaaSqaaiaadMgaaeqaaOGaaGilaiaadQhadaWg aaWcbaGaamyAaaqabaGccaaIPaGaaGOlaaaa@4CC7@

Здесь z i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG6bWaaSbaaSqaaiaadMgaaeqaaa aa@33D6@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  восстановленный вектор исходного представления блока событий x i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaaSbaaSqaaiaadMgaaeqaaa aa@33D4@ , который получается в результате работы декодировщика.

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

3.4. Нечеткая кластеризация и выявление аномалий. Далее предлагается разработать алгоритм, позволяющий определять аномальное поведение на основании построенной модели данных. Как было сказано выше, для этих целей широко применяется подход сведения к задаче одноклассовой классификации. При этом наиболее эффективным является алгоритм, основанный на нечетком методе выявления аномалий в данных на основе эллиптической кластеризации, который был описан ранее [8].

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

(i) координаты центра кластера a MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGHbaaaa@32A3@ ;

(ii) матрица ковариаций C MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGdbaaaa@3285@  (так как матрица является положительно определенной и диагональной, для эффективности построенного решения, можно представить эту матрицу в виде вектора неотрицательных параметров);

(iii) параметр μ MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaH8oqBaaa@3373@ .

В качестве функции активации используется функция, определяющая значение u i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG1bWaaSbaaSqaaiaadMgaaeqaaa aa@33D1@  для каждого объекта. В качестве ошибки будет использовано следующее значение, взятое из поставленной задачи оптимизации:

L unsupervised =μ i=1 N u i m *|| x i a || C 2 . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWG1bGaamOBaiaadoha caWG1bGaamiCaiaadwgacaWGYbGaamODaiaadMgacaWGZbGaamyzai aadsgaaeqaaOGaaGypaiabeY7aTnaaqahabeWcbaGaamyAaiaai2da caaIXaaabaGaamOtaaqdcqGHris5aOGaamyDamaaDaaaleaacaWGPb aabaGaamyBaaaakiaaiQcacaaI8bGaaGiFaiaadIhadaWgaaWcbaGa amyAaaqabaGccqGHsislcaWGHbGaaGiFaiaaiYhadaqhaaWcbaGaam 4qaaqaaiaaikdaaaGccaaIUaaaaa@5E3A@

Из этого следует, что можно доработать итоговый выход сети для заданного исходного векторного представления блока событий x i MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWG4bWaaSbaaSqaaiaadMgaaeqaaa aa@33D4@  следующим образом:

Out( x i )= u i m * L decomp . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGpbGaamyDaiaadshacaaIOaGaam iEamaaBaaaleaacaWGPbaabeaakiaaiMcacaaI9aGaamyDamaaDaaa leaacaWGPbaabaGaamyBaaaakiaaiQcatuuDJXwAK1uy0HwmaeHbfv 3ySLgzG0uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWGKbGaamyz aiaadogacaWGVbGaamyBaiaadchaaeqaaOGaaGOlaaaa@4DA7@

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

В результате работы сети мы получаем итоговую оценку нормальности анализированного блока событий на основании корректности построения признакового пространства и с учетом степени типичности объекта, полученную из RBF-слоя.

При этом в процессе обучения мы должны приблизить значение Out( x i ) MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGpbGaamyDaiaadshacaaIOaGaam iEamaaBaaaleaacaWGPbaabeaakiaaiMcaaaa@380A@  к единице. Следовательно, данную модель можно рассматривать как модель регрессии, которая должна получать в качестве отклика значение, близкие к 1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIXaaaaa@3278@ . Тогда в качестве функции ошибки выходного слоя можно использовать следующую функцию:

L anom =MSE(Out( x i ),1). MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimnaaBaaaleaacaWGHbGaamOBaiaad+ga caWGTbaabeaakiaai2dacaWGnbGaam4uaiaadweacaaIOaGaam4tai aadwhacaWG0bGaaGikaiaadIhadaWgaaWcbaGaamyAaaqabaGccaaI PaGaaGilaiaaigdacaaIPaGaaGOlaaaa@4D55@

 Значит, можно описать функцию ошибки, которая минимизируется в процессе обучения всей сети:

L= L unsupervised + L anom . MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimjaai2dacqWFsectdaWgaaWcbaGaamyD aiaad6gacaWGZbGaamyDaiaadchacaWGLbGaamOCaiaadAhacaWGPb Gaam4CaiaadwgacaWGKbaabeaakiabgUcaRiab=jrimnaaBaaaleaa caWGHbGaamOBaiaad+gacaWGTbaabeaakiaai6caaaa@5047@

3.5. Регуляризация. В ходе анализа существующих работ [4, 9], а также проведенных экспериментов с различными архитектурами, авторы пришли к выводу, что для избежания переобучения нужно использовать следующие два подхода:

(i) добавление L2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGmbGaaGOmaaaa@334A@  -регуляризации для сверточного слоя, что позволяет ограничить значения весов сверточных слоев. Таким образом, итоговая функция ошибки будет выглядеть следующим образом:

L= L unsupervised + L anom + L l2 ; MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaatuuDJXwAK1uy0HwmaeHbfv3ySLgzG0 uy0Hgip5wzaGabaiab=jrimjaai2dacqWFsectdaWgaaWcbaGaamyD aiaad6gacaWGZbGaamyDaiaadchacaWGLbGaamOCaiaadAhacaWGPb Gaam4CaiaadwgacaWGKbaabeaakiabgUcaRiab=jrimnaaBaaaleaa caWGHbGaamOBaiaad+gacaWGTbaabeaakiabgUcaRiab=jrimnaaBa aaleaacaWGSbGaaGOmaaqabaGccaaI7aaaaa@541D@

(ii) использование слоя Dropout перед построением кластеризации. Это увеличивает качество обобщения сети для новых данных.

Анализ существующих работ показал, что стандартный алгоритм Dropout не позволяет добиться хороших результатов, так как он не сохраняет распределение исходных признаков после случайного удаления весов. Поэтому в данной работе предлагается использовать модификацию данного подхода, устраняющую указанный недостаток MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  AlphaDropout (см. [10]).

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

Как правило, для экспериментальной оценки эффективности работы того или иного алгоритма используются различные интегральные метрики качества. Одни из самых широко используемых метрик в данной задаче MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  это площадь под ROC-кривой (AUC-ROC, PR-AUC). Анализ существующих работ по тематикам, схожим с тематикой настоящей работы, показывает, что, как правило, для оценки качества алгоритма выявления аномалий при работе пользователя применяются именно эти метрики (см. [1, 4]). Поэтому они и будут использованы в настоящей работе для оценки эффективности предлагаемого алгоритма. При этом для проведения более достоверной оценки в данной работе предлагается провести бутстреппинг тестовой выборки и более точной оценки распределения предлагаемых метрик качества на основании вычисления медианного значения метрик, а также 1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIXaaaaa@3278@  и 3 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIZaaaaa@327A@  квартиля по всем получаемым подвыборкам.

4.1. Используемые наборы данных. В целях проведения качественного экспериментального исследования было принято решения использовать следующие 2 набора данных, которые широко применяются для оценки решений схожих задач:

(a) HDFS: этот набор данных представляет собой поток текстовых описаний событий, происходящих на более чем 200 узлах Amazon EC2. Суммарно данный набор данных содержит порядка 11 млн записей об отдельных событиях. В описании каждого события содержится информация о привязке к некоторому блоку, который отражает привязку события к отдельной выполняемой программе в системе. В данном наборе данных присутствует разметка блоков событий на нормальные и аномальные (см. [20]).

(b) BGL (Blue Gene/L): этот набор данных содержит описания событий, происходящих на суперкомпьютерной системе BlueGene/L. Он содержит в себе порядка 5 млн записей об отдельных событиях. При этом для каждого события присутствует информация, является ли оно нормальным или аномальным. Всего в наборе присутствует порядка 350000 (7%) аномальных событий [16].

Далее для каждого набора данных будет приведено более подробное описание, а также будут сформулированы некоторые начальные установки для корректного проведения экспериментов.

4.2. Особенности применения предлагаемого алгоритма к рассмотренным наборам данных.

Векторизация данных и критерий аномальности. Как было сказано ранее, для предварительной обработки всех наборов данных используется удаление идентификаторов посредством регулярных выражений. Также на основании экспериментальных исследований было обнаружено, что в наборе данных BGL часто и то же событие дублируется несколько раз, поэтому было принято решение об очистке набора данных и сохранения только одного упоминания тех событий, информация о которых повторяется последовательно несколько раз. На этапе токенизации происходит разделение содержимого системных журналов по описаниям отдельных событий.

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

I. HDFS:

 (a) размер словаря: 75 событий;

 (b) примеры обработанных данных: [(9)]

  (9) INFO dfsDataNodeBlockReceiver Exception writing block to mirror;

  (9) WARN dfsDataBlockScanner Adding an already existing block;

II. BGL:

 (a) размер словаря: 728 событий;

 (b) примеры обработанных данных: [(i)]

  (i) RAS KERNEL INFO ciod Received signal;

  (ii) RAS KERNEL FATAL rts bad message header index greater than total.

Далее выполняется классическое One-hot кодирование всех событий на основании построенного словаря и порядкового номера каждого события в словаре.

В силу того, что размер входных данных должен быть фиксирован, необходимо группировать события в блоки фиксированного размера. Размер этих блоков и определение критерия аномальности зависит от особенностей конкретного набора данных:

  1. В случае с данными HDFS события уже сгруппированы по номеру блока, в данных экспериментах было принято решение брать по 20 первых событий в каждом блоке (если в блоке было менее 20 событий, к нему добавлялось новое событие <EMPTY EVENT> столько раз, чтобы размер блока был равен 20). В качестве уровня аномальности блока использовалась соответствующая метка о наличии аномалии в блоке в исходном наборе данных.
  2. В наборе данных BGL присутствует информация об аномальности отдельных событий. Поэтому предлагается решать задачу предсказания аномалий: все события объединяются в блоки по 5 событий с помощью скользящего окна. В качестве уровня аномальности каждого блока используется оценка аномальности того события, которое следует непосредственно после указанного блока.

Разделение данных на тренировочную, валидационную и тестовую выборки. Как было сказано выше, рассматривалось сведение поставленной задачи к задаче одноклассовой классификации. Поэтому в тренировочную выборку попадали только нормальные данные. Для определения оптимальных значений гиперпараметров было принято решение выделение сбалансированной валидационной выборки, включающей в себя как аномальные блоки событий, так и нормальные. На построенной выборке вычислялась метрика ROC-AUC на каждой эпохе обучения сети. Тестовая выборка также была составлена сбалансированно по классам, чтобы добиться более корректного вычисления метрик оценки качества работы алгоритмов. При этом, для более точной оценки тестовая выборка была случайным образом разделена на 10 сбалансированных подвыборок одинакового размера, для каждой из которых независимо вычислялись метрики качества. Размеры валидационной и тестовой выборок определялись исходя из количества аномалий в данных. Объемы тренировочной, валидационной и тестовой выборок указаны в таблице 1. Все значения указываются в количестве рассматриваемых блоков.

 

Таблица 1. Описание объемов выборок для наборов данных HDFS и BGL

 Значение

 HDFS

 BGL

 Тренировочная выборка

601576

541385

 2*Валидационная выборка

Нормальные блоки

3367

4263

 

Аномальные блоки

3367

4263

 2*Тестовая выборка

Нормальные блоки

13471

17053

 

Аномальные блоки

13471

17053

 Число подвыборок в тестовой выборкеа

10

10

 

Построение модели данных. Для построения модели данных, как было сказано выше, используется сверточные слои (используется три слоя), в которых размер и количество фильтров зависит от размера блока данных. Кроме того, предлагается оценить решение на GPU с возможностью применения mixed precision, поэтому, по рекомендациям разработчиков, следует выбирать размер фильтров, кратный 8 (см. [15]). Поэтому в наборе данных HDFS предлагается использовать по 16 фильтров размеров 10, 11 и 12. В наборе данных BGL используется по 64 фильтра размеров 2, 3 и 4. Поскольку в качестве функции активации используется SELU, начальные значения для фильтров берутся из подходящего распределения LecunNormal (см. [10]), которое представляет собой усеченное нормальное распределение со средним значением 0 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaaaaa@3277@  и стандартным отклонением, равным 1/N MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaadaGcaaqaaiaaigdacaaIVaGaamOtaa Wcbeaaaaa@341F@ , где N MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGobaaaa@3290@   MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  количество элементов в рассматриваемом тензоре.

Построение модели обнаружения аномального поведения. На этом этапе в обоих наборах данных предлагается выполнить объединение данных в один кластер, в качестве степени нечеткости используется значение m=2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGTbGaaGypaiaaikdaaaa@3432@ . В качестве начального значения для параметра μ MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaH8oqBaaa@3373@  используется константа 0 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaaaaa@3277@ . В качестве начального значения для центра кластера используется непрерывное нормальное распределение со средним значением 0 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaaaaa@3277@  и дисперсией 1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIXaaaaa@3278@ . В качестве начального значения для ковариаций при вычислении расстояния Махалонобиса используется единичная матрица.

Регуляризация. В ходе экспериментальных исследований было выяснено, что значение l2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGSbGaaGOmaaaa@336A@  -регуляризации сильно влияет на точность полученного решения и зависит от размера и количества используемых фильтров. Поэтому для набора HDFS в качестве оптимального значения константы регуляризации было выбрано 0,001 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaicdacaaIWaGaaG ymaaaa@355C@ , в наборе данных BGL MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A91@  значение 0,9 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaiMdaaaa@33F0@ . Эти параметры также определялись на валидационном наборе данных.

4.3. Сравнение предлагаемого решения с классическими алгоритмами. Для оценки предлагаемого решения была проведена серия экспериментов по сравнению решения с существующими подходами, дающими лучший результат в похожих задачах: одноклассовый метод опорных векторов (OCSVC), нечеткая кластеризация (Fuzzy), трансформеры (LogBERT). При этом проведённые эксперименты показали, что в качестве алгоритма векторизации блоков событий для метода опорных векторов лучше всего подходит вектор, равный сумме One-hot векторов событий, входящих в блок (<<мешок событий>>); для Fuzzy оптимальным стал подход, основанный на TF-IDF; подход LogBERT основан на архитектуре трансформера, который учитывает как индекс события в словаре, так и его позиция в блоке, поэтому для векторизации использовалась сумма векторов: случайно закодированный индекс события в словаре и векторное представления номера позиции, закодированное с помощью функции синусоиды. Также во всех алгоритмах осуществлялся подбор гиперпараметров на валидационной выборке. Рассматриваемые гиперпараметры и лучшие значения приведены ниже:

1. Метод опорных векторов:

(a) функция активации ядра: радиально-базисная для обоих наборов;

(b) параметр γ MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaHZoWzaaa@3364@  для ядровой функции: 0,1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaigdaaaa@33E8@  для HDFS и 0,5 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaiwdaaaa@33EC@  для BGL.

2. Метод нечеткой кластеризации: [(a)]

(a) степень нечеткости: 1,3 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIXaGaaGilaiaaiodaaaa@33EB@  для обоих наборов;

(b) процент исключений: 0,1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaigdaaaa@33E8@  для HDFS и 0,15 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaigdacaaI1aaaaa@34A7@  для BGL;

(c) параметр γ MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaHZoWzaaa@3364@  для ядровой функции: 0,3 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaiodaaaa@33EA@  для HDFS и 0,1 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaigdaaaa@33E8@  для BGL.

3. Метод LogBERT: [(a)]

(a) количество слоев типа <<трансформер>>: 2;

(b) размерность представления токенов и внутреннего состояния: 50 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaI1aGaaGimaaaa@3336@  и 256 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIYaGaaGynaiaaiAdaaaa@33F8@  соответственно;

(c) коэффициент α MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacqaHXoqyaaa@335C@  в формуле вычисления итоговой ошибки;

(d) процент замаскированных событий m MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGTbaaaa@32AF@  в каждом блоке: 0,65 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaiAdacaaI1aaaaa@34AC@  для HDFS и 0,5 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIWaGaaGilaiaaiwdaaaa@33EC@  для BGL;

(e) число кандидатов g MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaWGNbaaaa@32A9@  для определения степени аномальности предсказанного события: 6 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaI2aaaaa@327D@  в HDFS и 15 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaGabiWadaaakeaacaaIXaGaaGynaaaa@3337@  в BGL.

Результаты проведенных экспериментов представлены в таблице 2.

 

Таблица 2. Результаты проведенных экспериментов

 Набор данных

Подход

 ROC-AUC

PR-AUC

 

 

Медиана

Q1

Q3

Медиана

Q1

Q3

 4*HDFS

 OCSVC

0,833

0,826

0,837

0,828

0,821

0,832

 

Fuzzy

0,858

0,851

0,862

0,853

0,847

0,856

 

LogBERT

0,900

0,894

0,907

0,901

0,898

0,911

 

FuzzyCNN

0,973

0,971

0,974

0,970

0,969

0,972

 4*BGL

 OCSVC

0,783

0,779

0,789

0,778

0,772

0,783

 

Fuzzy

0,834

0,821

0,845

0,827

0,820

0,830

 

LogBERT

0,908

0,901

0,912

0,898

0,893

0,901

 

FuzzyCNN

0,939

0,934

0,940

0,921

0,916

0,926

 

Таким образом, во всех проведенных экспериментах на рассмотренных наборах данных предлагаемое решение позволяет добиться лучшего результата.

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

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

×

About the authors

Oleg E. Gorokhov

M. V. Lomonosov Moscow State University

Author for correspondence.
Email: owlman995@gmail.com
Russian Federation, Moscow

Mikhail I. Petrovskii

M. V. Lomonosov Moscow State University

Email: michael@cs.msu.su
Russian Federation, Moscow

Igor V. Mashechkin

M. V. Lomonosov Moscow State University

Email: mash@cs.msu.su
Russian Federation, Moscow

References

  1. Chandola V., Banerjee A., Kumar V. Anomaly detection: A survey// ACM Comp. Surv. (CSUR). — 2009. — 41, № 3. — P. 1–58.
  2. Chollet F. Deep Learning with Python. — Simon and Schuster, 2021.
  3. Girolami M. Mercer kernel-based clustering in feature space// IEEE Trans. Neural Networks. — 2002. — 13, № 3. — P. 780–784.
  4. Gorokhov O., Petrovskiy M., Mashechkin I. Convolutional neural networks for unsupervised anomaly detection in text data// Int. Conf. on Intelligent Data Engineering and Automated Learning. — Cham: Springer, 2017. — P. 500–507.
  5. Guo H., Yuan S., Wu X. Logbert: Log anomaly detection via bert// Proc. 2021 International Joint Conf. on Neural Networks. — IEEE, 2021. — P. 1–8.
  6. He S. et al. Experience report: System log analysis for anomaly detection// Proc. 2016 IEEE 27th Int. Symp. on Software Reliability Engineering. — IEEE, 2016. — P. 207–218.
  7. Hotho A., Nurnberger A., Paas G. A brief survey of text mining// J. Language Techn. Comput. Linguistics. — 2005. — 20, № 1. — P. 19–62.
  8. Kazachuk M. et al. Novelty detection using elliptical fuzzy clustering in a reproducing kernel Hilbert space//Proc. 19th Int. Conf. “Intelligent Data Engineering and Automated Learning (IDEAL-2018). Part 2 (Madrid, Spain, November 21–23, 2018). — Springer, 2018. — P. 221–232.
  9. Kim Y. Convolutional neural networks for sentence classification/ arXiv: 1408.5882 [cs.CL].
  10. Klambauer G. et al. Self-normalizing neural networks// Adv. Neural Inform. Process. Syst. — 2017. — 30. — P. 971–980.
  11. Le V. H., Zhang H. Log-based anomaly detection with deep learning: How far are we?// Proc. 44th Int. Conf. on Software Engineering, 2022. — P. 1356–1367.
  12. Ma J. et al. Automatic parsing and utilization of system log features in log analysis: A Survey// Appl. Sci. — 2023. — 13, № 8. — P. 4930.
  13. Manevitz L. M., Yousef M. One-class SVMs for document classification// J. Machine Learn. Res. — 2001. — 2. — P. 139–154.
  14. Mi H. et al. Toward fine-grained, unsupervised, scalable performance diagnosis for production cloud computing systems// IEEE Trans. Paral. Distr. Syst. — 2013. — 24, № 6. — P. 1245–1255.
  15. Micikevicius P. et al. Mixed precision training/ arXiv: 1710.03740 [cs.AI].
  16. Oliner A., Stearley J. What supercomputers say: A study of five system logs// Proc. 37th Annual IEEE/IFIP Int. Conf. on Dependable Systems and Networks. — IEEE, 2007. — P. 575–584.
  17. Petrovskiy M. I. Outlier detection algorithms in data mining systems// Program. Comput. Software. — 2003. — 29. — P. 228–237.
  18. Ryciak P., Wasielewska K., Janicki A. Anomaly detection in log files using selected natural language processing methods// Appl. Sci. — 2022. — 12, № 10. — P. 5089.
  19. Vaswani A. et al. Attention is all you need// Adv. Neural Inform. Process. Syst. — 2017. — 30. — P. 5998–6008.
  20. Xu W. et al. Detecting large-scale system problems by mining console logs// Proc. ACM SIGOPS 22nd Symp. on Operating Systems Principles, 2009. — P. 117–132.

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Operation of obtaining convolutional features

Download (93KB)
3. Fig. 2. Complete architecture of the proposed solution

Download (63KB)

Copyright (c) 2024 Gorokhov O.E., Petrovskii M.I., Mashechkin I.V.

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».