Область техники
Изобретение относится к области информационных технологий и информационно-управляющих систем, в том числе информационной и промышленной безопасности, а более конкретно к системам и способам для выявления структуры паттернов и аномалий в потоке событий, поступающих от киберфизической системы (КФС) или информационной системы (ИС).
Уровень техники
Для объектов мониторинга (далее - объектов) КФС или ИС свойственно наличие потока данных, характеризующих работу этих объектов. Такие данные служат важным предметом анализа как в реальном времени (онлайн), так и ретроспективно по собранным данным для обнаружения аномалий (отклонений от нормальной работы объекта), а также для выявления закономерностей в нормальной работе объекта. Последнее является весьма важным для оператора объекта, т.к. позволяет выявлять причинно-следственные связи в работе объекта и делать выводы о том, какой именно аспект этих связей был нарушен, когда поведение объекта отклонилось от нормы.
Потоки данных, поступающие от объекта, делятся на две группы:
• телеметрия физических процессов КФС (показания сенсоров, значения уставок, уровни управляющих воздействий), далее - телеметрия;
• события в КФС (отдельные команды, действия персонала, срабатывания сигналов тревоги и т.п.) и события в ИС (действия персонала, установление соединений и тому подобные события в сети передачи данных, переход подсистем в то или иное состояние), в том числе аккумулированные с помощью решений типа SIEM, далее - события.
Для анализа данных первого типа (телеметрии физических процессов) успешно применяются предсказательные модели на основе нейронных сетей и другие методы машинного обучения, далее - предиктивные детекторы. Примеры таких детекторов описаны, например, в патентах RU2724716, RU2724075, RU2749252, US11175976B2.
Физические процессы обладают двумя свойствами, делающими работу предсказательных моделей возможной:
- непрерывность: физический процесс развивается непрерывно и любой его параметр имеет конкретное значение в любой момент времени независимо от того, измеряется ли значение параметра в этот момент или нет;
- сильная взаимозависимость: параметры процесса жестко взаимосвязаны во времени; при прочих равных условиях изменения одного параметра всегда приводят к изменениям другого параметра через определенное время с определенной скоростью (это не значит, что законы таких изменений известны; как раз их установление и является задачей машинного обучения).
Данные второго типа представляют собой поток событий.
Событие - это неразвивающееся атомарное изменение в состоянии объекта, которое характеризуется моментом времени, когда изменение произошло, и набором полей (полей события), значения которых описывают состав изменения.
Паттерны (англ. pattern - шаблон, образец) - последовательности элементов (событий или других паттернов), на которые разбивается поток событий от объекта мониторинга, соответствующие отдельным подпроцессам в работе объекта. Один паттерн соответствует двум последовательностям из одинакового набора элементов при условии, что у двух последовательностей элементов интервалы между элементами находятся в заданных пределах и/или порядок элементов варьируется в заданных пределах, в частности когда состав и порядок элементов строго соблюден, а интервалы между элементами варьируются в заданных пределах. В случае, когда паттерн состоит из других паттернов, такой паттерн называют составным или просто паттерном, а другие паттерны называют вложенными. Такая иерархическая вложенность паттернов называется структурой паттерна. Каждый паттерн через вложенные паттерны может быть представлен как последовательность событий.
Внутри каждого паттерна события или вложенные паттерны придерживаются определенного порядка. Интервалы между ними с одной стороны являются случайными (отсутствует точная повторяемость временных интервалов), но с другой стороны находятся в некоторых рамках, неявно заданных спецификой функционирования объекта.
Паттерны могут быть повторяющимися (но не обязательно периодическими) или новыми (имевшими место один раз). Повторяющиеся паттерны характеризуют выученную работу объекта в течение времени мониторинга. Новое событие или новый паттерн указывает на аномалию в работе объекта - событие или последовательность событий, которые ранее не наблюдались. Новыми паттернами и, соответственно, аномалиями будут считаться как последовательности событий со значительным изменением интервалов между событиями при сохранении последовательности событий ранее известного повторяющегося паттерна, так и с нарушением собственно последовательности событий (изменение порядка, пропуск или появление новых событий) по сравнению с ранее известными повторяющимися паттернами.
Поэтому возникает техническая проблема, заключающаяся в выявлении в потоке событий от КФС или ИС структуры иерархически вложенных повторяющихся (но не обязательно периодических) паттернов, которая отражает причинно-следственные связи в потоке событий от КФС или ИС, а также в отнесении новых паттернов и новых событий к аномалиям. То есть информация о том, какое событие или паттерн или какая часть структуры паттерна ранее не наблюдались, свидетельствует о наличии аномалии в КФС или ИС.
Несмотря на то, что опытный оператор, знакомый с паттернами своего объекта, способен выявлять аномалии в потоке событий, психофизические возможности человека не позволяют справиться с потоком информации, поступающим с современных комплексных объектов (десятки и сотни событий в секунду). Обработка такого потока информации в реальном времени возможна только с помощью автоматизированной системы на основе машинного обучения и искусственного интеллекта (ИИ).
Однако поток событий не обладает ни одним из вышеупомянутых свойств физических процессов, а именно нижеперечисленных.
Во-первых, поток событий дискретен: события существуют только в конкретные моменты времени и не определены в промежутках между ними. Это обстоятельство не позволяет использовать подходы, основанные на моделировании непрерывных функций, лежащие в основе многих методов машинного обучения.
Во-вторых, взаимозависимость событий, как правило, слабая: события формируют повторяющиеся последовательности (например, поступает событие «оператор КФС вошел в машинный зал», после чего поступает событие «подана команда включения агрегата»), однако интервалы времени между событиями внутри последовательности могут варьироваться в широких пределах (в примере выше нормальный интервал между событиями составляет от 4 до 8 минут).
Таким образом, для анализа событий технологии и используемые при работе с непрерывными процессами предиктивные детекторы не подходят в силу специфических свойств событий.
Известные подходы в области поиска аномалий в последовательностях событий условно можно разделить на три класса:
1) использующие принцип поиска событий и последовательностей событий по сигнатурам (заранее определенным правилам), см., например, US9529690B2, US20170293757A1;
2) на основе машинного обучения, функционирующие по принципу обучения на некоторой исторической выборке из потока событий, см., например, US20200143292A1;
3) на основе поиска паттернов в потоке символьной информации, например с использованием алгоритма Sequitur.
Первый класс решений можно отнести к классу диагностических правил (поиск аномалий по заданным критериям). Решения в этом классе чувствительны только к заранее известным сценариям, к тому же их использование сопряжено со значительными сложностями учета возможных вариаций временных интервалов между событиями в последовательности событий.
Второй класс решений подвержен различного рода ошибкам, связанным с изначальной неполнотой представленных в исторической выборке событий, их порядка и временных интервалов в последовательностях.
Преимущество третьего класса состоит в том, что поиск ведется по открытому потоку данных, - ни выборка обучения, ни набор паттернов заранее не ограничены. Однако в этом классе не учитывается вариативность интервалов времени между символами и не реализована работа с многомерными символьными потоками, с которыми приходится иметь дело при работе с событиями.
Из вышеизложенного следует, что известные из уровня техники технологии не позволяют решить заявленную техническую проблему. Поэтому возникает потребность в решении указанной технической проблемы и в заявленном изобретении.
Раскрытие сущности изобретения
Первый технический результат заключается в выявлении повторяющихся событий и паттернов и в отнесении новых событий и новых паттернов к аномалиям в работе КФС или ИС в потоке событий от КФС или ИС. Первый технический результат достигается за счет методов машинного обучения на основе нейросемантической сети без необходимости разделения процесса работы на две изолированные друг от друга фазы: а) обучение (англ. training) на исторических данных и б) распознавание (англ. inference).
Второй технический результат заключается в распознавании структуры паттернов в потоке событий от КФС или ИС. Второй технический результат достигается за счет методов машинного обучения на основе нейросемантической сети без необходимости разделения процесса работы на две изолированные друг от друга фазы: а) обучение на исторических данных и б) распознавание.
Третий технический результат заключается в повышении качества выявления событий и паттернов и их отнесения к аномалии в работе КФС или ИС. Третий технический результат достигается за счет каждого из следующих факторов: постоянного обучения (англ. continuous online learning), дополнительной оптимизации нейросемантической сети во время специальной фазы цикла работы в режиме «сон» (см. Фиг. 4) системы, механизма выборочного мониторинга активности нейросемантической сети на основе специальных нейронов-мониторов, взаимодействия с предиктивными детекторами, выявляющими аномалии в потоке телеметрии.
Четвертый технический результат заключается в улучшении качества выявления паттернов и аномалий в КФС или в ИС при наличии в данных лишь малого количества примеров последовательностей событий, соответствующих паттерну, (англ. one-shot learning) за счет использования нейросемантической сети.
Пятый технический результат заключается в снижении уровня информационного шума в потоке событий за счет использования механизма внимания к значениям полей событий, характеризующих конкретную КФС или ИС.
Согласно варианту реализации используется система для выявления паттернов и аномалий в потоке событий, поступающих от киберфизической системы (КФС) или информационной системы (ИС), содержащая память и аппаратный процессор с возможностью реализации: подсистемы хранения, предназначенной для хранения конфигурации полей событий, конфигурации эпизода, системной конфигурации, а также для хранения и загрузки в память нейросемантической сети согласно упомянутым конфигурациям и предыдущему состоянию нейросемантической сети; коннекторов, предназначенных для: получения данных о событиях, включающих для каждого события набор значений полей и метку времени события; формирования по меньшей мере одного эпизода, состоящего из последовательности событий, полученных до выполнения одного из условий: достигнут предельный промежуток времени или достигнуто предельное количество событий - или до выполнения того из упомянутых условий, которое выполнилось первым; передачи сформированных эпизодов в процессор событий; процессора событий, предназначенного для обработки эпизодов с помощью нейросемантической сети, причем обработка эпизода включает: распознавание ранее выученных нейросемантической сетью событий и паттернов - последовательностей событий, в которых порядок событий соблюден, а интервалы времени между событиями находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активация этих нейронов; обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам и активации распознанных ранее выученных нейронов таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода; выявление структуры паттернов за счет сопоставления паттернам нейронов на иерархии слоев нейросемантической сети; отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалии в зависимости от количества активаций соответствующего им нейрона; сохранение состояния нейросемантической сети, в частности информации о созданных и активированных нейронах, в подсистеме хранения.
Согласно одному из частных вариантов реализации обработка эпизода дополнительно включает выявление событий и паттернов нейросемантической сети, удовлетворяющих предварительно заданным критериям, и формирование выходной информации об указанных событиях и паттернах за счет использования специальных нейронов-мониторов нейросемантической сети, которые путем активации нейронов-мониторов отслеживают создание и активацию нейронов, соответствующих событиям и паттернам, причем упомянутые критерии заданы по меньшей мере: на значения полей отдельных событий и событий в паттернах; на признак повторяемости таких событий и паттернов; на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.
Согласно одному из частных вариантов реализации выбирают оптимальное покрытие всех событий эпизода согласно иерархическому принципу минимальной длины описания или выбирают наиболее компактное покрытие всех событий текущего и предыдущих эпизодов.
Согласно другому частному варианту реализации выполнение обработки эпизода происходит в нейросемантической сети послойно.
Согласно еще одному частному варианту реализации выявляют структуру паттерна через иерархию слоев нейросемантической сети, на которых располагаются нейроны, причем на нулевом (терминальном) слое располагаются нейроны значений полей событий сгруппированные по каналам, соответствующим полям события, на первом слое располагаются нейроны событий, на втором слое располагаются паттерны, состоящие из событий, на третьем и более высоких слоях располагаются паттерны, состоящие из паттернов предыдущего слоя (вложенных паттернов).
Согласно одному из частных вариантов реализации на нулевом слое нейросемантической сети располагаются нейроны, соответствующие значениям полей событий, сгруппированные по каналам, соответствующим полям события, а длительность терминального нейрона принимается за 0; на первом слое располагаются нейроны, соответствующие событиям, и имеющие входы от нейронов терминального слоя, при этом каждому входу соответствует терминальный нейрон канала, отличного от каналов терминальных нейронов других входов; интервалы времени между входами события от значений полей принимаются за 0, а суммарная длительность нейрона события соответственно принимается за 0 - событие не имеет длительности; на втором слое располагаются нейроны, соответствующие эпизодам, количество входов нейрона эпизода равно количеству событий в эпизоде, интервалы между событиями в эпизоде в точности сохраняются как интервалы между входами нейрона эпизода; на втором и последующих слоях также располагаются нейроны, соответствующие последовательностям событий, причем нейроны слоев 3 и выше имеют входы от нейронов предыдущего слоя и раскрытие нейрона паттерна до последовательности событий осуществляют через рекурсивное раскрытие всех его входов - вплоть до первого слоя, а событие раскрывается до значений полей через свои входы от терминальных нейронов.
Согласно другому частному варианту реализации процессор событий дополнительно предназначен для конфигурирования, сохранения и восстановления нейросемантической сети из подсистемы хранения, причем конфигурирование нейросемантической сети включает: конфигурирование входных каналов нейросемантической сети в соответствии с полями событий, характерными для конкретной КФС или ИС; конфигурирование внимания нейросемантической сети за счет задания направлений внимания для фильтрации получаемых событий на основе критериев на значения полей для распознавания паттернов среди событий, отфильтрованных по каждому такому направлению; конфигурирование допустимых временных отклонений в длительности паттерна, в пределах которых нейросемантическая сеть будет интерпретировать последовательности одинаковых по порядку событий или вложенных паттернов, но с разными суммарными длительностями таких последовательностей, как один и тот же паттерн; конфигурирование гиперпараметров слоев сети, отвечающих за количество входов нейронов на слое; конфигурирование гиперпараметра сети, отвечающего за допустимое количество слоев нейросемантической сети.
Согласно еще одному частному варианту реализации процессор событий дополнительно предназначен для: конфигурирования мониторов активности нейросемантической сети (выходных каналов) через создание специальных нейронов-мониторов, которые активируются на основе подписки на другие нейроны или слои, на которых создаются новые нейроны, нейросемантической сети, причем подписка формируется по критериям, задаваемым в терминах значений полей событий, скользящему временному интервалу и количеству активаций нейронов, на которые выполнена такая подписка; исполнения запросов пользователя по истории событий и паттернов; выполнения периодической оптимизации нейросемантической сети в режиме «сон» работы системы, в том числе оптимизации структуры паттернов, а также распознавания паттернов на длительных интервалах времени; выполнения постоянного сохранения состояния нейросемантической сети, в частности информации о паттернах и статистике их активаций на потоке событий, а также обработанной информации об эпизодах событий.
Согласно одному из частных вариантов реализации используется система дополнительно содержащая графический интерфейс пользователя, посредством которого управляют конфигурациями нейросемантической сети и коннекторов, конфигурацией мониторов активности нейросемантической сети и выводом информации о них и об их срабатывании, заданием запросов пользователя по истории паттернов и событий и выводом результатов таких запросов, управлением режимом «сон» и настройками сохранения состояния нейросемантической сети.
Согласно другому частному варианту реализации частично останавливается обучение за счет принудительного перевода нейросемантической сети в режим, когда создание новых нейронов не происходит, и все обучение происходит только за счет изменения нейронов при их активации, в частности изменяется атрибут нейрона, отвечающий за частоту его активации или за количество активаций.
Согласно еще одному частному варианту реализации используется возможность обучения нейросемантической сети «с учителем» за счет подачи на вход целевых для обучения паттернов и последующей модификации у сформировавшихся нейронов атрибута, отвечающего за частоту его активации, или, в частности, за количество активаций.
Согласно одному из частных вариантов реализации подсистема хранения данных дополнительно служит для предоставления возможности сохранения срабатываний (далее - детектов) нейронов-мониторов.
Согласно другому частному варианту реализации подсистема хранения данных дополнительно служит для предоставления возможности перезапуска работы процессора событий после останова с сохранением ранее выученных событий и паттернов.
Согласно еще одному частному варианту реализации процессор событий осуществляет периодическое удаление из нейросемантической сети неиспользуемых нейронов паттернов, причем использование нейронов определяется статистическими свойствами нейронов и иерархическим принципом минимальной длины описания функционирования нейросемантической сети.
Согласно одному из частных вариантов реализации процессор событий осуществляет обработку эпизодов, состоящих из одного события, параллельно на массивно-параллельной аппаратной архитектуре процессоров; либо осуществляет обработку эпизодов, состоящих из множества событий, последовательно на одном аппаратном процессоре, причем количество событий в эпизоде выбирают исходя из требований предоставлять информацию о мониторинге КФС или ИС в режиме, приемлемом для пользователя системы.
Согласно другому частному варианту реализации события поступают от предиктивных детекторов по телеметрии КФС и/или непосредственно от КФС.
Согласно варианту реализации используется способ для выявления паттернов и аномалий в потоке событий, поступающих от КФС или ИС, в котором: с помощью по меньшей мере одного коннектора выполняют следующие этапы: получают данные о событиях, включающие для каждого события набор значений полей и метку времени события; формируют по меньшей мере один эпизод, состоящий из последовательности событий, полученных до выполнения одного из условий: достигнут предельный промежуток времени или достигнуто предельное количество событий - или до выполнения того из упомянутых условий, которое выполнилось первым; передают сформированные эпизоды в процессор событий; с помощью процессора событий выполняют обработку эпизодов с помощью нейросемантической сети, причем обработка эпизода включает: распознавание ранее выученных нейросемантической сетью событий и паттернов - последовательностей событий, в которых порядок событий соблюден, а интервалы времени между событиями находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активация этих нейронов; обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам и активации распознанных ранее выученных нейронов таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода; выявление структуры паттернов за счет сопоставления паттернам нейронов на иерархии слоев нейросемантической сети; отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалии в зависимости от количества активаций соответствующего им нейрона; сохранение состояния нейросемантической сети, в частности информации о созданных и активированных нейронах, в подсистеме хранения.
Согласно одному из частных вариантов реализации обработка эпизода дополнительно включает выявление событий и паттернов нейросемантической сети, удовлетворяющих предварительно заданным критериям, и формирование выходной информации об указанных событиях и паттернах за счет использования специальных нейронов-мониторов нейросемантической сети, которые путем активации нейронов-мониторов отслеживают создание и активацию нейронов, соответствующих событиям и паттернам, причем упомянутые критерии заданы по меньшей мере: на значения полей отдельных событий и событий в паттернах; на признак повторяемости таких событий и паттернов; на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.
Согласно одному из частных вариантов реализации частично останавливается обучение за счет принудительного перевода нейросемантической сети в режим, когда создание новых нейронов не происходит, и все обучение происходит только за счет изменения нейронов при их активации, в частном случае изменяется атрибут нейрона, отвечающий за частоту его активации или за количество активаций.
Согласно другому частному варианту реализации используется возможность обучения нейросемантической сети «с учителем» за счет подачи на вход целевых для обучения паттернов и последующей модификации у сформировавшихся нейронов атрибута, отвечающего за частоту его активации, или, в частном случае, за количество активаций.
Согласно еще одному частному варианту реализации периодически выполняется удаление из нейросемантической сети неиспользуемых нейронов паттернов, причем использование нейронов определяется статистическими свойствами нейронов и иерархическим принципом минимальной длины описания, определяющим функционирование нейросемантической сети.
Согласно одному из частных вариантов реализации выявляют структуру паттернов через иерархию слоев нейросемантической сети, определяющую порядок слоев нейросемантической сети, на которых располагаются нейроны, причем нейросемантическая сеть для обработки событий используются следующим образом: на нулевом (терминальном) слое нейросемантической сети располагаются нейроны, соответствующие значениям полей событий, сгруппированные по каналам, соответствующим полям события, а длительность терминального нейрона принимается за 0; на первом слое располагаются нейроны, соответствующие событиям, и имеющие входы от нейронов терминального слоя, при этом каждому входу соответствует терминальный нейрон канала, отличного от каналов терминальных нейронов других входов; интервалы времени между входами события от значений полей принимаются за 0, а суммарная длительность нейрона события соответственно принимается за 0 - событие не имеет длительности; на втором слое располагаются нейроны, соответствующие эпизодам, количество входов нейрона эпизода равно количеству событий в эпизоде, интервалы между событиями в эпизоде в точности сохраняются как интервалы между входами нейрона эпизода; на втором и последующих слоях также располагаются нейроны, соответствующие последовательностям событий, причем нейроны слоев 3 и выше имеют входы от нейронов предыдущего слоя и раскрытие (англ. expand) нейрона паттерна до последовательности событий осуществляют через рекурсивное раскрытие всех его входов - вплоть до слоя 1, а событие раскрывается до значений полей через свои входы от терминальных нейронов.
Согласно другому частному варианту реализации каждый эпизод последовательно обрабатывается на слоях нейросемантической сети: путем сопоставления значениям полей событий терминальных нейронов, путем сопоставления событиям нейронов первого слоя, путем создания нейронов top-эпизодов на втором слое, путем сопоставления последовательностям событий нейронов паттернов на втором и выше слоях вплоть до слоя, на котором будет сопоставлен один нейрон top-паттерна или достигнут максимальный слой.
Согласно еще одному частному варианту реализации выполняется активация нейрона паттерна при распознавании в потоке событий последовательности, с порядком событий, соответствующим порядку событий, получаемому при раскрытии данного нейрона, выполняемого рекурсивно через его входы вплоть до первого слоя, и длительности выявленной последовательности в пределах интервала определяемого длительностью нейрона паттерна d и гиперпараметром нейросемантической сети σ > 0.
Согласно другому частному варианту реализации создаются или изменяются пользователем в процессе работы нейросемантической сети на специальном минус первом слое нейроны-мониторы, позволяющие отслеживать создание и активацию нейронов нейросемантической сети по заданным условиям; причем нейроны-мониторы используются как выходные каналы из нейросемантической сети для оповещения пользователя либо внешних систем.
Согласно еще одному частному варианту реализации нейроны слоев 0 и выше обладают как минимум следующими свойствами: содержат вектор входных связей от нейронов предыдущего слоя; для слоя 0 вектор содержит одно категориальное или преобразованное к категориальному значение поля события; содержат вектор интервалов времени между активациями связей от нейронов предыдущего слоя, зафиксированных при создании нейрона; причем для слоя 0 этот вектор состоит из одного нулевого значения; для нейронов слоев 1 и выше, имеющих всего один вход, длительность единственного входа принимается равной длительности единственного входного нейрона; при наличии выходных связей содержат набор упомянутых выходных связей к нейронам-мониторам минус первого слоя; содержат время последней активации нейрона; содержат статистический параметр, отражающий частоту активаций нейрона, в частности количество активаций.
Согласно одному из частных вариантов реализации дополнительно задают конфигурацию внимания нейросемантической сети за счет задания направлений внимания для фильтрации получаемых событий на основе критериев на значения полей для распознавания паттернов среди событий, отфильтрованных по каждому такому направлению.
Согласно другому частному варианту реализации каждый эпизод последовательно обрабатывается на слоях со второго и выше по каждому направлению внимания в случае задания конфигурации внимания, вплоть до слоя, на котором для данного направления внимания сопоставлен top-паттерн или достигнут максимальный слой.
Согласно еще одному частному варианту реализации выполняется сопоставление нейрона при обработке путем активации нейрона соответствующего слоя, если он найден (распознан), либо путем создания и активации нового нейрона, если наблюдается новое значение поля, событие или паттерн, в зависимости от слоя.
Согласно одному из частных вариантов реализации оптимизируется иерархическая структура паттернов на слоях нейросемантической сети за счет периодического перехода нейросемантической сети в режим «сон», в котором события в эпизодах не обрабатываются либо обрабатываются параллельно на других вычислительных ресурсах; при этом в режиме «сон» выполняется обработка событий из интервала истории событий, получаемого объединением нескольких коротких эпизодов и упорядочением событий согласно их временным меткам, для случаев, когда часть событий в потоке пришла вне своего эпизода, а также обработки по длительным интервалам для тех направлений внимания, по которым события редки, или в случае изменения направлений внимания.
Согласно другому частному варианту реализации нейроны-мониторы (нейроны минус первого слоя) обладают как минимум следующими свойствами: содержат по крайней мере один вход, к которому присоединено дендритное дерево с узлами, реализующими логические операции над присоединенными к ним выходами от других нейронов либо от слоев сети; содержат присоединенный к корню дендритного дерева дендритный узел с логической операцией «или» и присоединенными к нему выходами от нейронов слоев 0 и выше, используемых для детектирования активации уже выученных сетью значений полей, событий и паттернов; критерий подписки нейрона-монитора на активации таких нейронов задается через определение условий на значения полей; содержат 0 или более присоединенных к узлу «или» других дендритных узлов с логической операцией «и», к которым в свою очередь присоединены выходы от нейронов слоя 0, отвечающих значениям полей и выходы непосредственно от слоев 0 и выше, которые используются для детектирования создания новых нейронов, соответствующих, в зависимости от слоя, значениям полей, либо событиям, либо паттернам; дендритные узлы «и» задают условия на то, какие значения полей должны быть у созданных на указанных слоях нейронов, чтобы активировать данный нейрон-монитор; имеют возможность динамически изменять набор входов нейрона-монитора от нейронов сети - автоматически добавлять к дендритному узлу «или» новые созданные нейроны, отвечающие критериям дендритного узла «и»; имеют возможность задавать опцию «внимание» на значения полей подписки и создавать на каждое уникальное значение или уникальную комбинацию таких значений таких полей дочерние нейроны-мониторы, становясь родительским нейроном-монитором; дочерние нейроны-мониторы будут выполнять подсчет числа активаций с этим уникальным значением и остальными условиями подписки, как у родительского нейрона-монитора, и оповещать родительский монитор о своем срабатывании; имеют возможность выполнять подписку как только на ранее созданные и активированные более одного раза нейроны, так и только на новые нейроны (которые активированы один раз), а также на те и другие вместе; при этом подписка только на новые нейроны рассматривает такие нейроны как соответствующие аномалиям в потоке событий - то есть соответствующие не встречавшимся значениям полей, или событиям, или последовательностям событий в ранее выученном нейросемантической сетью поведении КФС или ИС; содержат свойство для задания скользящего интервала мониторинга и количества активации нейрона-монитора на скользящем интервале, при достижении которого нейроном-монитором будет сформировано оповещение пользователя или других систем.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 представляет пример взаимодействия заявленной системы с КФС, средствами выявления аномалий в телеметрии и ИС.
Фиг. 2 представляет схему компонентов заявленной системы.
Фиг. 3 представляет основной цикл работы заявленной системы.
Фиг. 4 представляет работу в режиме «сон» заявленной системы.
Фиг. 5 представляет обработку запроса на поиск истории паттернов или аномалий.
Фиг. 6 представляет обработку запроса на создание монитора работы заявленной системы.
Фиг. 7 представляет основную структуру слоев нейросемантической сети для обработки событий.
Фиг. 8 представляет основные характеристики нейрона нейросемантической сети и его применения для анализа потока событий на основе обработки эпизодов.
Фиг. 9а представляет пример обработки эпизода нейросемантической сетью для случая, когда не определены направления внимания.
Фиг. 9б представляет пример обработки эпизода для случая, когда определено одно направление внимания.
Фиг. 10 представляет примеры обработки интервалов между входами нейронов эпизода, включая случаи «переходных» нейронов с одним входом, на слоях нейросемантической сети.
Фиг. 11 представляет пример реализации мониторов активности нейросемантической сети за счет специальных нейронов-мониторов на минус первом слое этой сети.
Фиг. 12 представляет пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение.
Осуществление изобретения
Суть настоящего изобретения, способ для достижения сути изобретения станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
Глоссарий
Информационная система (англ. information system, ИС) - совокупность вычислительных устройств и используемых для их связи коммуникаций.
Киберфизическая система (англ. cyber-physical system, КФС) - информационно-технологическая система, интегрирующая вычислительные ресурсы в физические процессы. Примерами киберфизической системы являются автоматизированные системы управления технологическими процессами, интернет вещей (в том числе носимые устройства), промышленный интернет вещей.
Технологический процесс (ТП) - физический процесс, сопровождающийся потоком телеметрии.
Телеметрия - телеметрия физических процессов КФС (значения технологических параметров, уставок, управляющих параметров).
Технологический параметр (англ. Process Variable, PV) - текущее измеренное значение определенной части ТП, которое наблюдается или контролируется. Технологическим параметром может быть, например, измерение датчика.
Уставка (англ. setpoint) - поддерживаемое значение технологического параметра.
Управляемый параметр (англ. Manipulated Variable, MV) - параметр, который регулируется для того, чтобы значение технологического параметра поддерживалось на уровне уставки.
Объект - объект мониторинга, ИС или КФС.
Событие - это неразвивающееся атомарное изменение в состоянии объекта, которое характеризуется моментом времени, когда изменение произошло, и набором полей (полей события), значения которых описывают состав изменения.
Паттерны (англ. pattern - шаблон, образец) - последовательности элементов (событий или других паттернов), на которые разбивается поток событий от объекта мониторинга, соответствующие отдельным подпроцессам в работе объекта. Один паттерн соответствует двум последовательностям из одинакового набора элементов при условии, что у двух последовательностей элементов интервалы между элементами находятся в заданных пределах и/или порядок элементов варьируется в заданных пределах, в частности когда состав и порядок элементов строго соблюден, а интервалы между элементами варьируются в заданных пределах. В случае, когда паттерн состоит из других паттернов, такой паттерн называют составным или просто паттерном, а другие паттерны называют вложенными. Такая иерархическая вложенность паттернов называется структурой паттерна. Каждый паттерн через вложенные паттерны может быть представлен как последовательность событий.
Паттерны могут быть повторяющимися (но не обязательно периодическими) или новыми (имевшими место один раз). Повторяющиеся паттерны характеризуют выученную работу объекта в течение времени мониторинга. Новое событие, или новый паттерн, или новая часть структуры паттерна указывает на аномалию в работе объекта - событие или последовательность событий, которые ранее не наблюдались.
Для отслеживания событий и паттернов система представляет специальный механизм (технологию вместе с программным и пользовательским интерфейсом), который позволяет оповещать пользователя или другие системы о наступлении определенных статистических и категориальных условий. Например, оповещение выполняется, если паттерн или событие, удовлетворяющее некоторым критериям на значения полей событий и их новизну, встречается на заданном скользящем окне количество раз, превышающее заданный порог. Наиболее общее же понятие аномалии в рамках данной системы - это событие или паттерн, которые встретились первый раз. Если система начинает работу «с чистого листа», то все события и паттерны поначалу будут встречаться первый раз. Поэтому, прежде чем включать оповещения, целесообразно предоставить системе некоторое время (зависящее от объекта мониторинга), «послушать» поток событий и сформировать набор паттернов и событий, характерных для работы (обычно нормальной) объекта.
Процессор событий - предлагаемое техническое решение и компонент на его основе, предназначенный для обработки событий в КФС или ИС. Процессор событий может быть аппаратным процессором, пример которого представлен на Фиг. 12 (процессор 21), функционально модифицированным для выполнения заданного функционала, либо программным модулем, исполняющимся на аппаратном процессоре, который выполнен с возможностью реализации заданного функционала. В частном случае аппаратный процессор для процессора событий может быть реализован в виде специального нейроморфного процессора, содержащего множество элементов, соответствующих нейронам импульсной сети или ее разновидностям, которые могут в массивно-параллельном режиме вести обработку входных сигналов и генерировать выходные сигналы.
Внимание - опция, указывающая системе направления в общем потоке событий, среди которых процессором событий будет вестись поиск паттернов.
Направление внимания - фильтр на потоке событий, выделяющий события, по значениям полей (одно или более, в том числе возможно и динамическое их задание). Для определенного направления внимания процессор событий ведет поиск паттернов только среди событий, в каждом из которых присутствуют заданные значения полей. Процессор событий может иметь множество направлений внимания.
Предиктивный детектор - средство для анализа телеметрии физических процессов, функционирующее по принципу предсказательной модели на основе нейронных сетей и других методов машинного обучения.
Диагностические правила - решения для анализа телеметрии физических процессов, используемые в случаях, когда критерии аномалий определены и формализованы.
SIEM (англ. security information and event management) - система, которая обеспечивает анализ событий информационной безопасности (ИБ), исходящих от сетевых устройств и приложений, в реальном времени.
Нейросемантическая сеть
В настоящем изобретении предложено решение задачи выявления (распознавания и/или создания новых) паттернов и, соответственно, обнаружения аномалий в потоке событий на основе применения нейросемантической сети, предложенной в работах [1, 2], которая по своей природе ближе всего к импульсной (англ. spiking) нейронной сети.
Нейроны нейросемантической сети, так же как и нейроны импульсной нейронной сети, активируются входными импульсами. Однако нейрон нейросемантической сети обладает важным отличием - он чувствителен к порядку и интервалам между активациями своих входов. Данное свойство делает нейросемантическую сеть высокоэффективным инструментом для работы с потоками событий, выявления в них устойчивых последовательностей, тем самым предоставляя пользователю структуру причинно-следственных связей событий от объекта мониторинга, а также для выявления новых событий и новых последовательностей событий как признаков возможных отклонений от выученного до этого нормального поведения (функционирования) объекта.
Традиционная, или классическая нейронная сеть, применяемая в предиктивных моделях, представляет собой аппроксиматор непрерывной функции большого числа переменных. В каждый момент времени выход классической нейронной сети определяется значениями ее входных параметров.
Импульсная нейронная сеть устроена иначе: данные в ней распространяются в виде спайков - мгновенных возбуждений нейронов, причем в нейросемантической сети очередность возникновения спайков на входах нейрона и интервалы между приходами спайков имеют определяющее значение для генерации нейроном его собственного спайка. Легко заметить, что спайки интуитивно похожи на события.
Нейросемантическая сеть начинает работу по выявлению паттернов с чистого состояния, при этом число подлежащих обнаружению паттернов и их длина заранее неизвестны (не задаются), однако можно задать направления внимания нейросемантической сети, чтобы сфокусировать выявление паттернов при обработке событий на определенных событиях и избежать «зашумления» паттернов теми событиями, которые менее актуальны.
У нейросемантической сети нет выделенного периода предварительного обучения. Она постоянно обучается, достраивает и модифицирует свою сеть по мере получения новых событий из потока событий. Если вновь выявленная последовательность событий начинает устойчиво повторяться, она из аномалии превращается в паттерн. И наоборот, если паттерн долго не встречался, нейросемантическая сеть может его «забыть» и тогда следующее появление этой последовательности уже будет расценено как аномалия.
В настоящем изобретении используется представление события как совокупности значений по некоторому набору полей, определенных для данного объекта. Например, в частном варианте КФС поля события могут быть следующими: имя оператора, терминал оператора, блок установки, состояние блока установки. В другом частном варианте ИС поля события могут быть следующими: имя пользователя, IP-адрес терминала пользователя, IP-адрес сервера в офисной сети, вердикт, выданный сервером на обращение пользователя. Поля событий особым образом ставятся в соответствие входным каналам и нейронам нейросемантической сети.
В таком подходе можно указать на аналогию с анализом параметров телеметрии от разных источников, например температуру, давление и уровень заполнения реактора КФС можно рассматривать как три канала (три поля) входной информации.
В частном варианте реализации имеется возможность принудительно частично остановить процесс обучения нейросемантической сети за счет остановки создания новых нейронов в сети, отвечающих новым событиям и паттернам. При этом частично обучение все же идет за счет модификации ранее созданных нейронов при их активации при распознавании в потоке событий соответствующих нейронам паттернов, событий или значений полей событий. Такой вариант использования может быть целесообразен в ряде случаев, когда пользователь точно знает, что при обучении сети предъявил все варианты нормального поведения объекта, и хочет «заморозить» это знание, тем самым детектируя как аномалии все новые события и их последовательности, не имевшие места в предъявленном при обучении потоке событий. В таком случае сеть будет пытаться представить новую последовательность событий из ранее имевших место паттернов и событий, не объединяя их в новый паттерн. Если же встретится новое событие, то система попытается представить его в терминах значений полей ранее имевших место событий, не создавая при этом само такое событие. Если же встретится значение поля события, ранее не имевшее место, то сеть не будет активировать ни один свой нейрон и в представлении потока событий в виде известных значений полей событий, событий и паттернов будет пробел. На такой пробел также может быть сформировано оповещение пользователя.
В настоящем изобретении основной компонент предложенной системы и способа для выявления структуры паттернов и аномалий в потоке событий, поступающих от КФС или ИС, называют процессором событий.
Для приема потока событий используются специализированные коннекторы (программные или программно-аппаратные модули) к источникам событий. В частном варианте реализации событий от подсистемы SIEM это может быть коннектор, поддерживающий передачу событий и их параметров в формате CEF (Common Event Format). В другом частном варианте реализации это могут быть события от брокеров сообщений других подсистем. В еще одном частном варианте это могут быть события от протоколов Active Directory или Net Flow. Вышеприведенные частные варианты реализации не ограничивают возможности применения изобретения к другим источникам событий.
В частном варианте реализации процессор событий может применяться как самостоятельный детектор, если данные объекта содержат только события. Такое применение характерно, например, для анализа действий сотрудников с целью выявления ошибочных или злоумышленных операций.
Промышленные объекты, как правило, генерируют данные обоих типов (телеметрию процессов и события). В этом случае предиктивные детекторы обнаружения аномалий по потоку телеметрии и процессор событий дополняют друг друга. Аномалии, обнаруженные предиктивным детектором или диагностическим правилом, могут быть проинтерпретированы как события и отправлены в процессор событий наряду с событиями, поступившими непосредственно с объекта мониторинга. Такое двухуровневое детектирование предоставляет пользователям новые возможности по выявлению проблемных ситуаций.
В частном практическом примере это может выглядеть следующим образом. Показатели работы компрессора перекачивающей станции описывают непрерывный физический процесс и контролируются предиктивным детектором. Запуск соседнего компрессора вносит существенные искажения в эти показатели и приводит к регистрации аномалии предиктивным детектором. Эта аномалия в качестве события подается на вход процессора событий наряду с командами на запуск соседних компрессоров. При этом между командой запуска соседнего компрессора и выявлением аномалии предиктивным детектором на первом компрессоре нет жесткой связи по времени, так как продолжительность этого интервала в конкретном случае определяется большим числом факторов, в том числе и не наблюдаемых предиктивным детектором. Тем не менее процессор событий выявляет соответствующий паттерн, а в случае нарушения этого паттерна извещает пользователя об аномалии: когда искажения показателей первого компрессора произошли вне контекста запуска другого компрессора или когда запуск соседнего компрессора не вызвал соответствующего изменения в поведении первого.
Предиктивный детектор и процессор событий решают одну общую задачу: выявление скрытых аномалий в работе объекта мониторинга, но используют для этого разные виды данных и, как следствие, разные методы машинного обучения. Сравнительные особенности этих типов детекторов сведены в таблице ниже.
Таким образом, в настоящем изобретении предлагается решение одной из актуальных проблем из области информационно-управляющих систем, в том числе информационной и промышленной безопасности, - проблемы выявлений аномалий - аномальных событий и аномальных последовательностей событий, а также сопутствующей этому проблемы автоматической интерпретации структуры штатного потока событий на основе выявления паттернов и их структуры в потоке событий от объекта мониторинга - КФС или ИС.
Состав и способы функционирования
На Фиг. 1 представлен пример взаимодействия заявленной системы для выявления структуры паттернов и аномалий в потоке событий, поступающих от киберфизической системы или информационной системы 300 (далее - система выявления структуры паттернов и аномалий 300 или система 300), с киберфизической системой 100 (КФС 100), средствами выявления аномалий в телеметрии 200 (включая диагностические правила 201 и предиктивный детектор на основе машинного обучения 202) и информационной системой 400 (ИС 400), а также описан способ работы заявленной системы 300. Примерами КФС 100 являются: системы автоматизации технологических процессов, интернет вещей, промышленный интернет вещей.
Система 300 получает события 500 напрямую от одной или нескольких из следующих систем: КФС 100, ИС 400, от средств обнаружения аномалий в телеметрии 200. События 500 поступают к коннекторам получения событий и предоставления информации об аномалиях и паттернах 304 (далее – коннекторы 304). Коннекторы 304 - программные или программно-аппаратные модули, предназначенные для получения событий, то есть данных о событиях, включающих для каждого события набор значений полей и метку времени события, а также для предоставления информации об аномалиях и паттернах. Причем метка времени события может быть как временем формирования события, временем получения события или другим моментом времени, характеризующим событие. Коннекторы 304 могут быть реализованы в виде сервисов или процессов, исполняющихся на аппаратном процессоре компьютера (см. пример на Фиг. 12). Система 300 может содержать интерфейс пользователя 303, который позволяет осуществлять мониторинг активности нейросемантической сети и делать запросы по истории событий и паттернов. Упомянутая история представляет собой хранящийся в нейросемантической сети и в подсистеме хранения 302 набор специальным образом структурированной информации (структура определяется нейросемантической сетью) о событиях 500 и выявленных паттернах, а также о метках времени. Доступ к истории событий и паттернов может быть обеспечен через интерфейс пользователя 303, пример которого представлен на Фиг. 5. Подсистема хранения 302 может быть представлена памятью (например, памятью 22 или специальным файлом, побитово компактно сохраняющим нейросемантическую сеть, или базой данных со специальными таблицами для хранения структур нейросемантической сети и прочее) и модулем обработки данных в этой памяти, выполненным, например, на аппаратном процессоре компьютера.
Средства выявления аномалий в телеметрии 200 (далее - детекторы 200) получают данные телеметрии от КФС 100 и передают выявленные аномалии в телеметрии в виде событий в систему 300.
В частном варианте реализации детекторы 200 выполнены в виде предиктивного детектора 202 на основе машинного обучения (например, в соответствии с патентами RU2724716, RU2724075, RU2749252, US11175976B2), информация об аномалиях в телеметрии КФС 100 дополнительно включает такие сведения об аномалии в телеметрии, как время выявления (также - детекта или срабатывания) аномалии в телеметрии, временной интервал наблюдения аномалии в телеметрии, основные параметры телеметрии КФС 100 (далее - параметры КФС), внесшие вклад в аномалию в телеметрии, - названия параметров КФС и их значения в момент выявления или на всем интервале аномалии в телеметрии, информацию о способе выявления указанной аномалии в телеметрии в детекторе 200. При этом параметры КФС включают технологические параметры КФС (то есть данные телеметрии КФС 100). Процессор событий 301 обрабатывает поток событий 500 с помощью нейросемантической сети и периодически сохраняет состояние нейросемантической сети в подсистеме хранения 302.
В еще одном частном варианте реализации детекторы 200 включают детектор на основе предельных значений (простейшая разновидность диагностического правила 201), с использованием которого определяют аномалию в телеметрии, когда значение по меньшей мере одного параметра КФС из подмножества параметров КФС вышло за пределы предварительно заданного диапазона значений для указанного параметра КФС. При этом указанные диапазоны значений могут быть рассчитаны из значений характеристик или документации для КФС 100 или быть получены от оператора КФС посредством интерфейса обратной связи, например интерфейса пользователя 303.
В еще одном частном варианте реализации детекторы 200 включают детектор на основе диагностических правил 201, формируемых путем задания набора параметров КФС, используемых в диагностическом правиле, и способа вычисления значений вспомогательного параметра КФС, являющегося индикатором выполнения критериев данного диагностического правила. В итоге модуль диагностических правил определяет аномалию в телеметрии в КФС по заранее заданным критериям поведения параметров КФС.
На Фиг. 2 представлены компоненты заявленной системы 300.
В настоящем изобретении применяется подход, ключевым компонентом которого является процессор событий на основе нейросемантической сети 301. Общие принципы работы нейросемантической сети описаны в работах [1, 2]. Принципы применения нейросемантической сети для обработки событий поясняются на Фиг 2-11.
Итак, события 500 поступают в виде потока событий от одной или нескольких из следующих систем: системы 100, детекторов 200 или системы 400 - к коннекторам 304. Данные о событиях 500 представляются в виде набора значений полей и временной метки. Значения полей могут принимать категориальные значения или численные значения. В частном варианте реализации коннектора 304 события 500 могут быть представлены в формате CEF (англ. Common Event Format). В другом частном варианте реализации численные значения полей событий 500 преобразуются в категориальные (символьные), например, путем дискретизации с заданной точностью. В еще одном варианте в нейросемантической сети могут быть встроены специальные слои, которые позволяют сравнивать различные численные значения (см. примеры в работах [1, 2]).
Коннекторы 304 также предназначены для формирования (накопления) эпизодов - ограниченной по времени и/или количеству событий последовательности из всего потока событий 500, состоящего из по меньшей мере одного события 500. В одном частном варианте реализации эпизод считается накопленным (сформированным) при выполнении одного из следующих условий:
а) время накопления достигло заданного в системной конфигурации 302i порога (например, 1 секунда) - в этом случае эпизод будет включать последовательность из событий, поступивших в течение заданного времени накопления;
б) количество накопленных (полученных) событий 500 достигло заданного в системной конфигурации 302i порога (например, 4096 событий 500) - в этом случае эпизод будет включать последовательность из поступившего количества событий, ограниченного заданным порогом.
В еще одном частном варианте реализации эпизод считается сформированным при выполнении того из упомянутых условий, которое выполнилось первым.
Упомянутый вариант накопления эпизода целесообразно использовать для фон-неймановской аппаратной архитектуры и последовательной обработки входных событий.
В другом частном варианте при использовании массивно-параллельной реализации аппаратной архитектуры может осуществляться обработка каждого отдельного события (когда эпизоды состоят из одного события), что становится целесообразным, когда возможностей аппаратной платформы достаточно, чтобы выполнить параллельную обработку множества событий по всем слоям сети.
Коннекторы 304 далее передают сформированные эпизоды в процессор событий 301.
Процессор событий 301 обрабатывает полученные эпизоды с помощью нейросемантической сети и преобразует события 500 в информацию о создании и активации нейронов либо об активации ранее созданных нейронов нейросемантической сети.
Обработка эпизода включает распознавание ранее выученных нейросемантической сетью событий и паттернов и структуры паттернов, где паттерны - последовательности элементов (событий или вложенных паттернов), в которых порядок элементов соблюден, а интервалы времени между элементами находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активацию этих нейронов.
Кроме того, обработка эпизода включает обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода. В частном варианте реализации производится покрытие всех событий текущего (обрабатываемого в данный момент) и предыдущих эпизодов наиболее компактным образом в соответствии с принципом работы нейросемантической сети - иерархическим принципом минимизации длины описания.
Обработка эпизода также включает отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалиям в зависимости от количества активаций соответствующего им нейрона.
В одном варианте реализации обработка эпизода дополнительно включает выявление событий и паттернов, удовлетворяющих предварительно заданным критериям, и формирование выходной информации (оповещений) об указанных событиях и паттернах, за счет использования специальных нейронов-мониторов нейросемантической сети, которые отслеживают (за счет активации нейронов-мониторов) случаи создания и активации нейронов, соответствующих событиям и паттернам, причем критерии заданы по меньшей мере:
• на значения полей отдельных событий и событий в паттернах;
• на признак повторяемости таких событий и паттернов;
• на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.
Причем возможно сохранение фактов выявления таких событий и паттернов как истории оповещений, соответствующих заданным критериям.
Процессор событий 301 служит для распознавания иерархической вложенности паттернов (структуры паттерна) через иерархию слоев нейросемантической сети, на которых располагаются нейроны, причем на нулевом (терминальном) слое располагаются нейроны значений полей событий, сгруппированные по каналам, соответствующим полям событий, на первом слое располагаются нейроны событий, на втором слое располагаются паттерны, состоящие из событий, на третьем (при наличии) и более высоких слоях (при наличии) располагаются паттерны, состоящие из паттернов предыдущего слоя (вложенных паттернов).
Результаты обработки эпизода, в частности информацию о создании и активации нейронов, процессор событий 301 сохраняет как часть нейросемантической сети в подсистеме хранения 302 в виде нейронов 302a, сети 302b (связей нейронов), а также линейной от времени, но компактно представленной части информации о составе эпизода 302с (в виде единожды активируемого нейрона для каждого эпизода с точными интервалами между событиями - см. Фиг. 7-10).
Дополнительно в подсистеме хранения 302 хранится:
- информация о специальных нейронах нейросемантической сети, обозначаемых как нейроны-мониторы 302d (см. подробнее Фиг. 6, 11);
- информация об обнаруженных нейронами-мониторами 302d паттернах и аномалиях 600 - детекты нейронов-мониторов 302e (см. подробнее Фиг. 3, 6, 11);
- информация о конфигурации полей событий 302f;
- информация о конфигурации внимания 302g (см. подробнее Фиг. 6, 11);
- информация о конфигурации эпизода 302h;
- информация о системной конфигурации 302i, включая информацию о гиперпараметрах нейросемантической сети (например, количество слоев, количество входов нейрона на каждом слое);
- информация о конфигурации интерфейса пользователя 302j (подробнее описанном ниже).
Перед началом работы системы 300 может быть определена конфигурация старта системы 300, содержащая определенные конфигурации 302f-302i на момент старта системы 300.
Система 300 может включать интерфейс пользователя 303, который содержит следующие элементы согласно конфигурации 302j:
- фильтры задания запросов истории паттернов и событий и формы вывода результатов 303a (см. подробнее Фиг. 5);
- индикаторы состояний мониторов (функционал, предоставляющий возможность мониторинга) на основе нейронов-мониторов 302d, формы просмотра детального состояния мониторов, управление созданием новых и удалением ранее созданных мониторов 303b (см. подробнее Фиг. 6);
- элементы управления конфигурациями системы 303c (управляет 302f, 302g, 302h, 302i);
- элементы управления коннекторами 303d (см. подробнее Фиг. 3, действие 702);
- элементы управления циклом работы системы 300 в режиме «сон» 303e (см. подробнее Фиг. 4).
Использование интерфейса пользователя 303 позволяет осуществлять мониторинг активности нейросемантической сети и делать запросы по истории событий и паттернов.
На Фиг. 3 представлен основной режим 700 работы заявленной системы 300.
Работа начинается с запуска процессора событий 301 на этапе 701, который может выполняться по действию пользователя 303f (непосредственному либо косвенному - путем задания соответствующей системной конфигурации 302i на момент старта системы 300). Далее, на этапе 703 из подсистемы хранения 302 происходит загрузка в память (например, память с произвольным доступом 25 на Фиг. 12) нейросемантической сети, причем при загрузке учитывают конфигурацию полей событий 302f, конфигурацию внимания 302g, конфигурацию эпизода 302h, системную конфигурацию 302i, а также предыдущее состояние нейросемантической сети: нейроны 302a, сеть 302b, эпизоды 302c, нейроны-мониторы 302d. После загрузки в память процессор событий 301 переходит в режим ожидания поступления эпизода на этапе 704.
Поступление событий начинается на этапе 702 с запуска коннекторов 304, который, например, может быть инициирован пользователем (через управление коннекторами 303d - непосредственно или косвенно через конфигурацию при старте системы 300). По накоплению эпизода события 500 передаются в процессор событий 301.
Далее на этапе 705 нейросемантическая сеть процессора событий 301 выполняет обработку эпизода и формирование оповещений нейронами-мониторами 302d о паттернах и аномалиях. Подробнее эти процессы рассмотрены на Фиг. 9а-11. Если при обработке эпизода выполняется условие формирования оповещений нейроном-монитором 302d (подробнее см. Фиг. 6, 11), то на форме монитора 303b в интерфейсе пользователя 303 обновляют соответствующий индикатор срабатывания соответствующего этому монитору нейрона-монитора 302d на текущем скользящем окне, отправляют оповещение об аномалии либо паттерне 600 внешним подписчикам КФС 100 и ИС 400 (например, удаленному серверу, другим КФС или ИС, связанными с указанными), а также выполняют сохранение факта срабатывания 706 - детекта нейрона-монитора 302e в подсистеме хранения 302.
По завершении этапа 705 выполняют сохранение состояния сети на этапе 707: обновляют информацию о нейронах 302a, сети 302b, эпизодах 302c и нейронах-мониторах 302d в подсистеме хранения 302.
Цикл, состоящий из этапов 704, 705, 707, повторяют до тех пор, пока не вызовется остановка процессора событий 301 на этапе 708. В одном частном случае вызов остановки цикла может производится пользователем через интерфейс пользователя 303. В другом частном случае вызов остановки основного цикла может осуществляться системой 300 в соответствии конфигурацией режима «сон», заданной в составе системной конфигурации 302i. В еще одном частном случае остановка основного цикла может происходить при остановке всей системы 300. В частном варианте реализации подсистема хранения данных 302 дополнительно служит для предоставления возможности перезапуска работы процессора событий после останова с сохранением ранее выученных событий и паттернов.
В одном из вариантов реализации подсистемы хранения 302 возможно сохранение состояния нейросемантической сети в специальный файл с битовым кодированием, которое отражает основной принцип функционирования нейросемантической сети - минимальную длину описания (см. работу [1]).
На Фиг. 4 представлен вариант работы заявленной системы 300 в режиме «сон» 800. Режим «сон» позволяет оптимизировать крупномасштабную структуру нейросемантической сети и выявить паттерны и аномалии 600 на больших интервалах, что может быть затруднительно в режиме обработки событий в реальном времени. Такая оптимизация требует дополнительного упорядочивания событий. В одном частном варианте это может быть повторная суммарная обработка ранее обработанных коротких эпизодов. В другом частном варианте это может быть обработка эпизодов, для которых впоследствии были получены опоздавшие события, пришедшие в других эпизодах, но с временными метками, находящимися в пределах времени событий из ранее обработанных эпизодов. В третьем частном варианте вследствие изменения направления внимания может быть необходимо повторно обработать часть истории эпизодов на предмет поиска паттернов с новыми направлениями внимания. Приведенные варианты представлены для примера и не ограничивают возможности использования режима «сон» для оптимизации крупномасштабной структуры нейросемантической сети.
Режим «сон» 800 работает в цикле. В частном варианте реализации в одном цикле обрабатывают интервал истории эпизодов, задаваемый в составе конфигурации системы 300. Например, если размер эпизода задан как 4096 событий или 4 секунды ожидания, интервал одного цикла режима «сон» может равняться 100 эпизодам и охватывать интервал истории в 400 секунд времени по часам источника данных.
Еще одним набором параметров в составе системной конфигурации 302i системы 300 являются параметры, определяющие, когда и на какое время система 300 может переходить в режим «сон». В одном частном варианте это может быть время суток, когда поток событий наименее интенсивен (например, в период 01:00-06:00), и на время выполнения цикла в режиме «сон» возможна приостановка основного режима 700 обработки событий в реальном времени. При этом события 500 могут временно накапливаться в составе коннекторов 304 с целью их последующей обработки после выхода из режима «сон». В другом частном варианте, когда вычислительных ресурсов системы 300 хватает с запасом на обработку потока событий в реальном времени, часть ресурсов может быть передана на параллельное выполнение циклов в режиме «сон».
Цикл режима «сон» 800 начинается с выбора очередного интервала истории эпизодов на этапе 801. В частном варианте система 300 может запоминать окончание предыдущего интервала цикла в режиме «сон» и начинать новый цикл в режиме «сон» с последующего интервала. В другом частном варианте система 300 может сохранять признаки тех эпизодов, которые по разным причинам (например, по запросу пользователя) следует оптимизировать. В одном варианте признаком необходимости оптимизации эпизода является слишком малое количество событий в эпизоде, полученном в реальном времени. В другом варианте признаком необходимости оптимизации эпизода может являться смена направлений внимания пользователем. В еще одном варианте признаком необходимости оптимизации эпизода является малое количество событий в составе эпизода по одному или нескольким направлениям внимания.
Вторым шагом 802 цикла в режиме «сон» является перевод нейронов-мониторов 302d в режим «сон». Нейроны-мониторы 302d настраиваются на различение источников данных, на которых выявляются паттерны и аномалии. Если паттерн или аномалия были выявлены на интервале истории, повторно обрабатываемого в режиме «сон», то оповещение не формируется или формируется только для исключительных случаев, например связанных с паттернами, выявленными на больших интервалах времени или на новых направлениях внимания. Если же паттерны выделяют в работающем в реальном времени, параллельно с режимом «сон» 800, основном режиме обработки событий 700, то оповещение выполняется.
Основным этапом 803 цикла в режиме «сон» является оптимизация крупномасштабной структуры интервала истории эпизодов и паттернов нейросемантической сети. При этом происходит повторная обработка полученных на этом интервале событий 500, объединение их в более длинные, оптимальные для данного объекта и нейросемантической сети эпизоды. Например, эпизоды в 4 секунды, получившие по 100 событий, объединяются в длинные эпизоды по 4096 событий или, если общее количество событий на интервале меньше, то объединяется доступное на интервале количество событий. Отметим, что оптимальность числа 4096 элементов в эпизоде нейросемантической сети поясняется в работе [1]. Также на интервале происходит повторная обработка паттернов. При этом учитывается текущая конфигурация внимания 302g. В процессе перестройки паттернов, нейросемантическая сеть может обнаружить более оптимальные паттерны, равно как и паттерны, охватывающие более длительные промежутки времени. Оптимальность паттерна является ключевой характеристикой работы нейросемантической сети (см. подробнее в работе [1] и на Фиг. 7) и определяется атрибутами нейрона, соответствующего паттерну, и в первую очередь следующими атрибутами: количеством активаций (w), количеством составляющих паттерн вложенных паттернов или событий (k) и количеством их активаций (wp), количеством значений полей всех событий паттерна (l) (см. подробнее в работе [1]).
Следующим этапом 804 является сохранение состояния нейросемантической сети после оптимизации интервала истории (нейроны 302a, сеть 302b, эпизоды 302с, нейроны-мониторы 302d с учетом их режима «сон»).
После этого происходит возврат нейронов-мониторов 302d в основной режим на этапе 805, и цикл «сон» 800 повторяется. Остановка цикла и выход из режима «сон» происходит на этапе 806 согласно выбранному управлению режимом «сон» 303e.
Отметим, что на этапах 705 (обработка эпизода) и 803 (оптимизация крупномасштабной структуры интервала) дополнительно может выполняться операция периодического удаления редко используемых нейронов нейросемантической сети (на Фиг. 3 и 4 не отображена), соответствующих некоторым паттернам, которые были созданы на некотором слое, но не были использованы в покрытии эпизодов (кодировании) на этом слое нейросемантической сети, т.к. нейросемантическая сеть выявила другие паттерны, которые лучше покрывают наблюдаемые последовательности событий (например, те, которые чаще встречаются в потоке событий и следовательно являются преимущественными для минимизации длины описания всего информационного потока, т.е. для выполнения основного принципа кодирования информации в нейросемантической сети (см. работу [1]). Эта операция позволяет оптимизировать объем нейронов в сети и соответственно существенно снизить потребности в ресурсах подсистемы хранения 302, не теряя при этом существенной части статистической информации по событиям и паттернам в истории.
На Фиг. 5 представлен способ 900 обработки запросов пользователя по истории событий и паттернов заявленной системы 300.
Интерфейс пользователя 303 системы 300 предоставляет фильтры запросов истории паттернов и событий, а также формы вывода результатов 303a.
Пользователь системы 300 (например, оператор КФС или ИС) задает фильтры запроса истории событий и паттернов на этапе 901. Для этого пользователь:
- указывает интервал времени поиска;
- определяет, выполняет ли он поиск отдельных событий или же паттернов;
- определяет, интересуют ли его только новые события или паттерны или же и те, которые активировались несколько раз;
- при запросе по истории паттернов определяет опцию «внимание» по крайней мере для одного поля из состава тех полей, которые указаны в конфигурации направлений внимания 302g; при запросе по истории событий опция «внимание» не указывается;
- определяет желаемые фильтры на значения полей отдельных событий или событий, встречающихся в паттернах; фильтр может быть задан списком желаемых значений либо регулярным выражением; дополнительно для поля с опцией «внимание» при поиске паттернов может быть выбран вариант фильтра «все значения» - в таком случае будут использоваться те значения, что определены в конфигурации внимания 302g по этому полю для системы 300.
На этапе 902 запрос пользователя обрабатывает система 300 с использованием сохраненных состояний нейронов 302a, сети 302b, эпизодов 302с, и выдает пользователю результат, содержащий найденные события и паттерны, с возможностью указания соответствующих им номеров нейронов, количества их активаций, даты последней активации. В случае паттернов слоев 3 и выше нейросемантической сети (см. Фиг. 7-10) для паттерна указывают составляющие его вложенные паттерны предыдущего слоя, которые в свою очередь рекурсивно могут быть раскрыты до составляющих их событий и значений полей этих событий. В одном частном варианте результаты 902 могут быть представлены в табличном виде; табличный вид пользователь задает конфигурацией интерфейса пользователя 302j.
В другом частном варианте результат поиска событий может быть представлен в виде направленного ациклического графа, для чего пользователь задает конфигурацию полей событий 302f, в которой указывает семантические отношения полей: какие поля события считать началом графа, какие - внутренними вершинами, и какие - конечными вершинами графа. Например, для частного варианта полей: «пользователь», «компьютер» пользователя, «система», к которой пользователь обращается, и полученный на это обращение «вердикт» - узлы графа отношений могут быть построены по принципу: 1) какой «пользователь», 2) с какого «компьютера», 3) в какую «систему» обратился и 4) какой получил «вердикт». Возможные представления результатов не ограничиваются приведенными выше примерами.
На Фиг. 6 представлен способ 1000 обработки запросов пользователя на создание нового нейрона-монитора 302d на этапе работы системы 300.
Пользователь заполняет форму 303b интерфейса пользователя 303 на создание нового монитора 1001, при этом монитор сохраняется в системе 300 как нейрон-монитор 302d. Для этого пользователь заполняет следующие параметры монитора:
- имя монитора, понятное пользователю;
- интервал скользящего окна - нейрон-монитор 302d на заданном скользящем окне подсчитывает количество своих активаций;
- порог срабатывания на количество активаций нейрона-монитора 302d на скользящем окне - при превышении этого порога нейрон-монитор 302d формирует и высылает оповещение о выявленных паттернах или аномалиях, которое система 300 доставляет во внешние системы КФС 100 и ИС 400, а также сохраняет в подсистеме хранения 302 в виде детекта нейрона-монитора 302e;
- размер стека активаций - емкость стека, в котором нейрон-монитор 302d будет временно сохранять информацию о последних событиях или паттернах, которые активировали нейрон-монитор 302d, и моменте времени активации.
Также пользователь задает фильтры подписки, определяющие условия, при наступлении которых нейрон-монитор будет активирован:
- определяет, будет ли нейрон-монитор 302d подписан на отдельные события или же на паттерны;
- определяет, будет ли подписка только на новые события или паттерны или же на события или паттерны, которые случались и ранее;
- определяет поля с опцией «внимание»: а) для подписки на паттерны должно быть задано как минимум одно поле с опцией «внимание», если в конфигурации системы 300 заданы направления внимания, б) для подписки на события опция «внимание» может быть указана для одного или более полей, формируя произвольную временную конфигурацию внимания для подписки нейрона-монитора 302d на события (паттерны по временной конфигурации внимания не строятся). Для каждой новой комбинации значений таких полей, определяющей отдельное направление внимания, нейрон-монитор 302d создает дочерний нейрон-монитор 302d, который будет вести подсчет активаций на события только для этого отдельного направления внимания. Активации дочерних нейронов-мониторов 302d передаются нейросемантической сетью родительскому нейрону-монитору 302d. Для удобства пользователя дочерние нейроны-мониторы 302d могут быть скрыты от пользователя, а об их активациях пользователь будет узнавать через родительский нейрон-монитор 302d. Данный механизм позволяет организовать мониторинг событий по многим значениям полей, которые заранее могут быть неизвестными, при этом не загромождая интерфейс пользователя 303. Например, в одном частном варианте конфигурации полей событий объекта мониторинга, содержащей поля: «имя пользователя», «хост пользователя», «сервер обращения пользователя», «вердикт сервера на обращение пользователя» - и при задании для монитора событий опции «внимание» для поля «имя пользователя» нейрон-монитор 302d сможет отслеживать события по каждому отдельному пользователю (вести по каждому пользователю отдельный подсчет количества активаций), при этом заранее пользователи могут быть неизвестны, т.к. на объекте мониторинга могут появляться новые пользователи;
- определяет желаемые фильтры на значения полей отдельных событий или событий, встречающихся в паттернах. Фильтр может быть задан списком желаемых значений или регулярным выражением. Дополнительно для поля с опцией «внимание» при поиске паттернов может быть выбран вариант фильтра «все значения» - в таком случае будут использоваться те значения поля, которые определены в конфигурации внимания 302g по этому полю для системы 300.
Запрос пользователя на создание монитора обрабатывается процессором событий 301 на этапе 1002 на основе информации о нейронах 302a и сети 302b, причем создается специальный нейрон-монитор 302d. При работе системы 300 в основном цикле или в цикле «сон» нейросемантическая сеть процессора событий 301 активирует нейрон-монитор 302d согласно его подпискам (см. пример на Фиг. 11).
Применение нейросемантической сети для обработки событий (Фиг. 7)
Нейросемантическая сеть является многослойной. Нумерация основных слоев сети начинается с 0 и заканчивается L_max, где L_max задается как гиперпараметр нейросемантической сети. Обработка событий производится именно на основных слоях сети. Имеется также слой -1 (минус первый) на котором расположены специальные нейроны-мониторы 302d (не отображен на Фиг. 7, см. подробнее Фиг. 11). Следует отметить, что данная нумерация введена для определенности изложения и соответствует принятой в [1] нумерации. Без потери общности формулы изобретения номера слоев могут быть присвоены и другим образом, важна лишь последовательность связей слоев.
Нейроны на каждом слое с 1 до L_max имеют входы только от нейронов предыдущего слоя. Входы нейронов слоя 0 и слоя -1 формируются иначе - см. ниже.
Слой 0 называется терминальным. На нем расположены терминальные нейроны, которые активируются значениями полей событий. Терминальные нейроны, активирующиеся различными значениями одного и того же поля событий, сгруппированы на терминальном слое по каналам, т.е. канал нейросемантической сети ставится в соответствие полю событий. Таким образом, нейросемантическая сеть имеет столько входных каналов, сколько полей определено у события. В частном варианте использования нейросемантической сети каждый терминальный нейрон имеет только один вход, который отвечает одному значению поля, на которое этот нейрон активируется.
Нейроны-мониторы 302d минус первого слоя, в отличие от нейронов остальных слоев нейросемантической сети, имеют входы, которые могут связывать эти нейроны с выходами нейронов любого слоя, а также с выходами слоев нейросемантической сети. Входы нейронов-мониторов 302d, связывающие их с выходами от слоев нейросемантической сети, позволяют нейронам-мониторам 302d подписаться на создание новых нейронов на этих слоях (см. подробнее на Фиг. 11).
Каналы и терминальные нейроны этих каналов служат входами в нейросемантическую сеть. Нейроны-мониторы 302d служат выходами из нейросемантической сети.
На слое 1 располагаются нейроны, соответствующие событиям. Нейроны событий имеют входы в количестве, не большем, чем количество каналов (полей событий). Каждый вход нейрона события связан с одним терминальным нейроном, при этом все входы нейрона события связаны с терминальными нейронами из разных каналов.
На слое 2 располагаются нейроны, имеющие в качестве входов события: это нейроны эпизодов истории событий (или нейроны эпизодов) и паттерны (или нейроны паттернов).
Нейрон эпизода создается нейросемантической сетью при подаче на ее вход очередного эпизода и его последующей обработки. Нейрон эпизода имеет количество входов, равное количеству событий в эпизоде. Входы нейрона эпизода позволяют восстановить точную историю событий, т.к. при создании нейросемантической сетью нейрона эпизода в его составе сохраняются точные интервалы между приходом событий, составляющих эпизод (см. подробнее Фиг. 8).
Нейроны паттернов соответствуют последовательностям событий. На втором слое нейроны паттернов имеют входы от соответствующих нейронов событий на первом слое.
На слое 3 и выше также располагаются нейроны паттернов, однако они имеют в качестве входов нейроны паттернов предыдущего слоя. Таким образом, чтобы получить последовательность событий, соответствующую паттерну слоя 3 и выше, необходимо рекурсивно «раскрыть» (англ. expand) каждый вход такого нейрона вплоть до входов со слоя 1 (слоя событий).
В частном варианте реализации нейросемантической сети нейроны паттернов сохраняют точную последовательность входов от нейронов предыдущего слоя (нейрон чувствителен к порядку входов). Однако интервалы между входами нейрона допускают вариации: например, если при создании нейрона суммарная длительность интервалов между активациями его входов (далее - длительность нейрона) была равна d, то такой нейрон может соответствовать такой же последовательности событий или паттернов, но с суммарной длительностью в пределах заданного интервала, например равного который зависит от длительности нейрона паттерна d, и гиперпараметра сети σ > 0.
В другом частном варианте реализации нейросемантической сети допустимый интервал вариации длительности последовательности (чтобы соответствовать нейрону паттерна длительности d) может определяться метрикой близости нейрона к наблюдаемой последовательности, например на основе распределения Гаусса от длительности паттерна
В еще одной частной реализации может быть также определена и метрика близости порядка входов (см. работы [1, 2]).
На слоях нейросемантической сети при обработке эпизодов процессором событий 301 создаются и затем активируются новые нейроны, если в эпизоде встречаются значения полей событий, события и последовательности событий, ранее не имевшие места. Иначе происходит активация раннее созданных нейронов (с учетом допустимых вариаций интервалов).
Выбор тех или иных последовательностей для формирования паттернов определяются иерархическим принципом минимальной длины описания (англ. Hierarchical Minimal Discrepancy Length), см. работы [1, 2], а в частном варианте реализации такого принципа - на основе функционала «силы» нейрона, см. работу [1].
Например, паттерн, которому соответствует нейрон на втором слое, может быть создан на основе нейронов на первом слое, которым соответствуют события эпизода. Для этого выполняется проход скользящим окном длиной, например, от 2 до 8 событий (гиперпараметры сети), по последовательности событий эпизода и для каждого окна, встречающегося впервые, создается новый нейрон паттерна на втором слое. Затем все нейроны, соответствующие таким окнам (вновь созданные или же встреченные ранее созданные на предыдущих эпизодах) сортируются в соответствии с их статистическими свойствами (частотой встречаемости на всем потоке, длиной в терминах полей событий и прочими критериями - см. функционал «силы» в [1]). Отсортированные нейроны используются для полного покрытия последовательности событий эпизода, начиная с самых «сильных» нейронов в начале списка. Те нейроны, которые не использованы в таком покрытии, считаются менее оптимальными, чем использованные, и могут быть удалены для экономии ресурсов сети полностью либо частично (в последнем случае некоторая часть неиспользованных из состава отсортированных, как описано выше, нейронов сохраняется и активируется при их выявлении в потоке событий в расчете что в другом эпизоде они могут оказаться и более оптимальными). Паттерны последующих слоев нейросемантической сети формируются аналогичным образом, однако входной последовательностью для них будут не события, а паттерны предыдущего слоя сети для текущего эпизода.
При первом старте процессора событий 301 нейросемантическая сеть имеет только три слоя без нейронов: 0, 1, 2. При поступлении событий на вход нейросемантической сети и их послойной обработке в сеть добавляются новые нейроны и слои от 3 и до L_max - по мере появления соответствующих нейронов паттернов, а также слой -1 - при добавлении пользователем нейронов-мониторов.
На Фиг. 8 представлены нейроны нейросемантической сети и их соответствие значениям полей, событиям, истории эпизодов и паттернам.
Общие атрибуты нейрона нейросемантической сети показаны на примере нейрона слоя L. Нейрон идентифицируется номером нейрона и номером слоя. Основными атрибутами являются:
n_n - номер нейрона;
n_l - номер слоя, (для слоя L, n_l = L);
v_in - вектор входов от нейронов предыдущего слоя;
v_d - вектор интервалов между активациями входов (какими эти интервалы были при создании данного нейрона);
w - количество активаций нейрона;
v_out - набор выходов к нейронам-мониторам.
Помимо этого есть еще ряд важных атрибутов:
k - количество входов, которое ограничено гиперпараметрами верхнего и нижнего пределов количества входов нейронов на каждом слое нейросемантической сети, задаваемых в составе системной конфигурации 302i, - по умолчанию, например, интервалом [2, 8];
d - длительность, равная сумме интервалов v_d;
l - терминальная длина, равная сумме терминальных длин входов;
c - канал в случае, если n_l = 0, иначе не определен;
e - тип top-нейрона, если это эпизод или top-паттерн, иначе не определен. Определения top-нейрона эпизода и top-паттерна представлены ниже.
Пояснения по этим атрибутам представлены ниже.
На слоях нейросемантической сети при обработке последовательностей событий, поступающих в виде эпизодов, нейросемантической сетью создаются и активируются новые нейроны либо активируются имеющиеся нейроны. Все события эпизода (нейроны слоя 1) объединяют нейросемантической сетью в один top-нейрон эпизода на втором слое сети.
Кроме того, если определены направления внимания (см. Фиг. 9б), то выявление паттернов происходит по последовательностям событий, получаемым из полной последовательности событий эпизода путем фильтрации только событий, содержащих значения полей, соответствующие своему направлению внимания. Для каждой такой отфильтрованной последовательности событий на некотором слое нейросемантической сети все выявленные паттерны объединяются в top-паттерн (или в несколько top-паттернов для случая, когда достигнут максимально возможный слой сети, но кодирование не свело эпизод лишь к одному top-нейрону; последнее свойственно для потока событий, содержащего длинные повторяющиеся последовательности, которые при их кодировании приводят на каждом слое сети к повторяющимся паттернам, которые целесообразно так и оставить, не объединяя в еще более длинные паттерны).
Для top-нейронов (top-нейронов эпизодов и top-паттернов) определен специальный атрибут e. Для top-паттерна он определяет соответствие направлению внимания. Для top-нейрона эпизода он равен 0. Для нейронов, не являющихся top-нейроном, атрибут e не определен. Следует отметить, что выбор конкретных значений данного атрибута может быть и другим, важен лишь принцип соотнесения top-нейрона c top-нейроном эпизода либо с top-паттерном по направлению внимания.
Первый интервал v_d[0] в векторе v_d нейрона, как правило, равен нулю. Если это нейрон слоя 0, отвечающий значению поля события, то у него один вход нулевой длительности, т.к. значение поля события не имеет длительности. Если это событие, то входы соответствуют значениям полей и интервалы между ними по принятому в изобретении определению события нулевые. Если же это нейрон эпизода истории событий или нейрон паттерна, то сам нейрон содержит информацию лишь об интервалах между активациями его входов, а информация о том, что было до активации первого входа для такого нейрона, не содержится в самом нейроне. Однако для последнего утверждения имеется исключение, связанное с возможностью существования «переходных» нейронов-паттернов, у которых всего один вход. Семантический смысл «переходных» нейронов поясняется в работе [1]. Эти нейроны «передают» паттерн предыдущего слоя на текущий слой. При этом длительность передаваемого паттерна предыдущего слоя известна и она определяет первый интервал v_d[0] единственного входа «переходного» нейрона. Данная особенность поясняется на Фиг. 10. Такой подход позволяет сохранить все временные интервалы между событиями эпизода при последовательном сопоставлении (кодировании) им нейронов паттернов на слоях нейросемантической сети.
Правило, согласно которому первый интервал равен нулю, следует учитывать при понимании смысла длительности d нейрона паттерна. Для нейронов слоя 3 и выше в общем случае d не равна длительности последовательности событий, соответствующей данному нейрону и получаемой раскрытием нейрона до слоя 1, т.к. первый вход будет тоже паттерном, который имеет свою длительность, и длительность первого вложенного паттерна не учитывается в длительности d. Нейрон «знает» интервалы лишь между активациями его входов, но «не знает» что было до активации его первого входа (об этом «знает» нейрон первого вложенного паттерна).
Следует отметить, что для паттернов, выявленных по заданному направлению внимания (см. Фиг. 9б), на слое 1 из полной последовательности событий эпизода сетью выбираются только те события, которые отвечают направлению внимания. Соответственно, интервалы отсчитываются между выбранными событиями.
Вышесказанное формализуется следующим образом:
• если (L = 0), или (L = 1), или (L > 1 и k > 1), то интервал v_d[0] = 0;
• если (L > 1), и e не указывает на top-нейрон эпизода (т.е. это нейрон паттерна или top-паттерна), и (k = 1), то интервал v_d[0] равен длительности нейрона слоя (L – 1).
Верхняя граница количества входов нейрона k является гиперпараметром слоя нейросемантической сети. Чем больше k, тем быстрее последовательность событий будет закодирована в один top-паттерн некоторого слоя. Для меньшей верхней границы k для такого кодирования потребуется больше слоев нейросемантической сети. Минимальная скорость кодирования соответствует нижней границе k = 2. Кроме того, выше замечено, что могут встречаться «переходные» нейроны с k = 1. В частном варианте применения принципа обучения нейросемантической сети за счет иерархической минимизации длины описания (см. работу [1]), если при обработке эпизода на некотором слое оказалось, что все нейроны-паттерны только что созданы, т.е. активировались всего один раз на данном эпизоде, и значит у всех w = 1, то сеть «сворачивает» их в один top-паттерн эпизода на следующем слое, и количество входов у такого top-паттерна может превышать k (см. подробнее работу [1]). Аналогично top-нейрон, соответствующий эпизоду, может иметь значение атрибута k выше заданной для слоя 2 границы.
Атрибут l - терминальная длина нейрона, которая в предлагаемом подходе соответствует количеству значений полей во всей последовательности событий, соответствующей нейрону. Следует отметить, что у некоторых событий могут быть определены не все значения из полного набора полей, соответственно, терминальная длина таких событий будет меньше, чем у событий с полным набором полей.
Атрибут v_out используется нейросемантической сетью для оповещения нейронов-мониторов (см. Фиг. 11) на минус первом слое сети, подписанных на активацию данного нейрона.
Частный вариант терминального нейрона представлен на Фиг. 8. Как уже указывалось, терминальный нейрон в предлагаемом варианте использования нейросемантической сети для обработки событий имеет один вход k = 1. А значением этого входа v_in[0] является значение поля события. Атрибут c равен номеру канала, соответствующего полю этого значения. Длительность по времени значения поля нулевая: v_d[0] = 0. А терминальная длина единичная (одно значение) l = 1.
Еще один частный вариант нейрона на Фиг. 8 представлен для нейрона события на слое 1. Количество входов k такого нейрона равно минимум одному и максимум равно количеству полей, определённых в конфигурации системы 300. Все значения полей события случаются одновременно, значит вектор v_d содержит k нулей и суммарная длительность события также нулевая d = 0. Терминальная же длина события равна количеству значений полей, т.е. l = k.
Еще один частный вариант нейрона на Фиг. 8 представлен для top-нейрона эпизода. В таком случае k равно количеству событий в эпизоде. Входы нейрона v_in указывают на нейроны события эпизода в том порядке, как они встречались в эпизоде. Следует отметить, что если одно и то же событие входит в эпизод несколько раз, то соответствующие элементы v_in указывают на один и тот же нейрон события. Вектор v_d содержит точные интервалы времени между событиями. Первый интервал v_d[0], соответствующий первому событию в эпизоде, равен нулю, т.к. на уровне нейрона эпизода неизвестно, что было до первого события эпизода. Для top-нейрона эпизода признак e = 0. Также, как указывалось выше, для каждого эпизода создается свой top-нейрон эпизода, даже если вся последовательность событий идентична ранее имевшей место. Эта часть нейросемантической сети растет линейно со временем, но фактически является упорядоченным по времени набором ссылок (входов) на нейроны событий, позволяющим полностью восстановить историю событий.
Еще один частный вариант нейрона на Фиг. 8 представлен для нейрона паттерна на слое 2 или выше. Вектор входов v_in указывает на события или нейроны паттернов предыдущего слоя нейросемантической сети. Вектор v_d соответствует интервалам активации входов в момент создания нейрона паттерна. Количество входов регулярного паттерна k находится, например, в интервале [2, 8] (гиперпараметры слоя нейросемантической сети). Для top-паттерна количество входов k может быть выше верхней границы. В отличие от top-нейрона эпизода, где все интервалы между событиями в точности сохранены в векторе v_d, для нейрона паттерна вектор v_d содержит такие интервалы между входами, какими они были при создании нейрона. Если в потоке событий встретится последовательность событий с порядком событий аналогичным тому, который был при создании нейрона, но длительностью последовательности не совпадающей с длительностью нейрона d, нейрон паттерна все же может быть сопоставлен этой последовательности (т.е. активирован) в том случае, если длительность последовательности находится внутри некоторого допустимого интервала, задаваемого, например, как
где σ > 0 - гиперпараметр нейросемантической сети.
Таким образом, эпизод последовательно обрабатывается на слоях нейросемантической сети: путем сопоставления значениям полей событий терминальных нейронов, путем сопоставления событиям нейронов первого слоя, путем создания нейронов top-эпизодов на втором слое, путем сопоставления последовательностям событий нейронов паттернов на втором и выше слоях вплоть до слоя, на котором будет сопоставлен один нейрон top-паттерна или достигнут максимальный слой.
В частном варианте реализации сопоставление нейрона при обработке выполняется путем активации нейрона соответствующего слоя, если он найден (распознан), либо путем создания и активации нового нейрона, если наблюдается новое значение поля, событие или паттерн, в зависимости от слоя.
Вышеописанный способ создания нейронов позволяет частично остановить обучение нейросемантической сети за счет принудительного перевода в режим, когда создание новых нейронов не происходит, и все обучение сети происходит только за счет изменения нейронов при их активации (изменяется атрибут нейрона w, отвечающий за количество активаций).
Также подобный способ обработки эпизодов позволяет выполнить обучение нейросемантической сети «с учителем» за счет специальной подачи на вход целевых (предъявляемых учителем) паттернов и последующей модификации у сформировавшихся для этих паттернов нейронов атрибута w, присваивая ему достаточно большое значение. Это позволяет повысить приоритет данного нейрона при его распознавании на потоке по сравнению с другими нейронами, соответствующими другим паттернам (см. пояснение выше про сортировку нейронов при покрытии эпизода), таким образом гарантируя распознавание именно предъявленного учителем паттерна.
На Фиг. 9а представлен пример обработки эпизода. В этом примере не определены направления внимания, и паттерны строятся по всем событиям. На представленной схеме видно, что последовательность двух событий E1-E2 встречается дважды, но с разными интервалами времени. Тем не менее для использованного в примере значения гиперпараметра σ = 0.5 длительность второй пары событий E1-E2 находится в пределах интервала и на обе пары активируется один и тот же паттерн P2_1.
На Фиг. 9б представлен модифицированный по сравнению с Фиг. 9а пример обработки эпизода: определено одно направление внимания - соответствующее значению «u1» поля «user». Соответственно, процессор событий для поиска паттернов отфильтровал из полной входной последовательности только события со значением поля «user», равным «u1», и создал на слое 3 top-паттерн P3_1, имеющий два входа, каждый указывающий на один и тот же паттерн P2_1 слоя 2.
Фиг. 10 представляет пример обработки временных интервалов между событиями и паттернами на слоях нейросемантической сети при обработке событий эпизода. Событиям соответствуют нейроны слоя 1, которые условно обозначены одной буквой: а, b, c, d, e, f - и расположены на оси времени в том порядке и с теми интервалами, как они встречаются в рамках эпизода. Нейросемантическая сеть в данном примере отслеживает паттерны среди всех событий эпизода (аналогично Фиг. 9а). Гиперпараметр выбран σ = 0.5. Последовательность событий ab встречается трижды, ей соответствует паттерн p1 на втором слое. Последовательность событий cde встречается дважды, ей соответствует паттерн p2 на втором слое сети. Событие f встречается один раз в эпизоде, и на втором слое ему соответствует «переходной» паттерн p3 с нулевой длительностью - как у самого события. На третьем слое сети последовательности паттернов p1p2, которая на втором слое встречается дважды, соответствует паттерн n1. А вот паттерн p3 и паттерн p1, который начинается в момент времени t5, передаются на третий слой через «переходные» нейроны с одним входом - соответственно n3 с длительностью 0 и n2 с длительностью, равной t6-t5.
В рамках обработки событий эпизода интервалы между паттернами соответствуют точным интервалам между событиями, соответствующим началу и концу этих паттернов. Например, на Фиг. 10 интервал на слое 2 между первым паттерном p2 и вторым (средним) паттерном p1 в точности равен интервалу t5-t4. Но длительности самих паттернов лишь приблизительно равны длительности между соответствующими началу и концу паттерна событиями, как было пояснено на Фиг. 9a. Например, на Фиг. 10 длительность между событиями c и e в первой последовательности cde равна t3-t1, в то время как длительность между событиями c и e второй последовательности cde равна t11-t9 и больше чем t3-t1. Паттерн p2 для t3-t1 интервала и паттерн p2 для t11-t9 интервала используется один и тот же, но на Фиг. 10 оба раза он изображен прямоугольниками разной ширины и при обработке одного эпизода на следующий третий слой передает в качестве своей длительности точные интервалы - соответственно t3-t1 и t11-t9.
Сказанное выше верно лишь на этапе обработки событий эпизода. После окончания обработки событий эпизода точная информация об интервалах между событиями в паттернах не сохраняется. Если после окончания обработки эпизода раскрыть, спускаясь по входам (англ. expand), top-паттерн эпизода top1 до слоя событий, то информация об интервалах между событиями будет восстановлена лишь с определенной точностью. Например, при таком раскрытии top1 на втором слое раскроется в два паттерна p1 одинаковой длины - той, что соответствует моменту создания нейрона этого паттерна, т.е. t3-t1 в данном примере.
Данная особенность работы с длительностью нейронов паттернов позволяет обобщить информацию во входном потоке до уровня порядка событий при сохранении интервалов между событиями лишь с определенной точностью. Такое обобщение способно отразить реальные процессы в объектах КФС или ИС, при которых времена внутри одинаковых по порядку последовательностей событий могут варьироваться.
Точная информация о всех временах событий во всех эпизодах сохраняется после обработки эпизодов лишь в нейронах top-эпизодов на втором слое сети (см. Фиг. 9а).
На Фиг. 11 представлен пример мониторинга активности нейросемантической сети на основе специального нейрона-монитора 302d на минус первом слое (-1). В частном варианте этого примера нейрон-монитор 302d с именем «Монитор 1» имеет один вход с дендритным деревом. Для каждого узла дендритного дерева при создании нейрона-монитора определяется логика (в частности, логическое «и» или логическое «или»), а дендритное дерево целиком определяет, как может быть активирован нейрон-монитор. Указанные узлы могут быть присоединены к корню (корневому узлу) дендритного дерева. Логика дендритных узлов применяется к значениям полей событий (см. Фиг. 6). Количество входов в узлах дендритного дерева может изменяться в процессе работы сети - например, нейрон-монитор может подписываться на создаваемые в сети новые нейроны, удовлетворяющие некоторым условиям, накладываемым на значения полей событий, соответствующих этим нейронам.
В настоящем примере нейрон-монитор 302d «Монитор 1» активируется одним нейроном-событием e1 на слое 1 или (узел «или») созданием новых нейронов событий на слое 1 и при этом (узел «и») имеющих вход от нейрона-значения v1 на слое 0 в канале 0. Если второе условие на новое событие с заданным значением поля выполняется, то «Монитор 1» активируется и при этом запоминает новое созданное событие уже как новый вход в узле «или» от созданного нейрона-события.
Адресная подписка на нейроны в узле «или» позволяет автоматически получать оповещения только от тех нейронов нейросемантической сети, которые попадают в область подписки, существенно снижая нагрузку на использование вычислительных ресурсов технического решения, в отличие от варианта получения оповещений о создании или активации любого нейрона сети и последующей проверки, соответствует ли этот нейрон фильтрам подписки нейрона-монитора 302d.
Однако в случае подписки на слой оповещения приходится получать о создании всех нейронов этого слоя и только потом отфильтровывать те нейроны, которые удовлетворяют дополнительным условиям на значения полей в узле «и».
При своей работе нейрон-монитор 302d осуществляет подсчет количества его активаций на скользящем окне. Оповещение пользователя нейроном-монитором 302d производится при превышении заданного порога для количества активаций нейрона-монитора 302d на скользящем окне.
При использовании опции «внимание» для поля нейрона-монитора 302d возможна множественная подписка на каждое отдельное значение направления внимания для заданного поля: на каждое значение этого поля создается дочерний, скрытый от пользователя, индивидуальный нейрон-монитор 302d количества активаций по этому отдельному значению. Информация об активации дочернего нейрона-монитора 302d передается родительскому. Сокрытие от пользователя дочерних мониторов целесообразно, т.к. в практических случаях количество значений поля может быть весьма велико и интерфейс пользователя 303 был бы сильно перегружен без такого сокрытия. В то же время передача информации об активации дочернего нейрона-монитора 302d родительскому нейрону-монитору 302d решает задачу оповещения пользователя (или внешней системы КФС или ИС).
Таким образом, заявленное изобретение позволяет решить указанную техническую проблему, заключающуюся в выявлении в потоке событий от КФС или ИС структуры иерархически вложенных повторяющихся (но не обязательно периодических) паттернов, которая отражает причинно-следственные связи в потоке событий от КФС или ИС, а также в отнесении новых паттернов и новых событий к аномалиям. Причем информация о том, какое событие или паттерн или какая часть структуры паттернов ранее не наблюдались, свидетельствует о наличии аномалии в КФС или ИС,
Заявленное изобретение позволяет выявлять повторяющиеся события и паттерны и их структуру, а также относить новые события и новые паттерны к аномалиям в работе КФС или ИС в потоке событий от КФС или ИС за счет методов машинного обучения на основе нейросемантической сети без необходимости разделения процесса работы на две изолированные друг от друга фазы: а) обучение на исторических данных и б) распознавание.
Заявленное изобретение повышает качество выявления событий и паттернов и их отнесения к аномалии в работе КФС или ИС за счет каждого из следующих факторов: постоянного обучения, дополнительной оптимизации нейросемантической сети во время специальной фазы цикла работы в режиме «сон» (см. Фиг. 4) системы, механизма выборочного мониторинга активности нейросемантической сети на основе специальных нейронов-мониторов, взаимодействия с предиктивными детекторами, выявляющими аномалии в телеметрии.
Заявленное изобретение также позволяет выявлять паттерны и аномалии в КФС или в ИС при наличии в данных лишь малого количества примеров последовательностей событий, соответствующих паттерну, за счет использования нейросемантической сети.
Заявленное изобретение также снижает уровень информационного шума в потоке событий за счет использования механизма внимания к значениям полей событий, характеризующих конкретную КФС или ИС.
На Фиг. 12 представлен пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение, в частности система 300. Персональный компьютер или сервер 20 (далее - компьютер) содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. В частном случае центральный процессор может иметь в своем составе специализированный нейроморфный процессор, содержащий множество элементов, соответствующих нейронам импульсной сети или ее разновидности и позволяющий в массивно-параллельном режиме обеспечивать работу такой сети. Системная шина 23 реализована как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера или сервера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь (оператор) имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 12. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях (также - информационных системах), внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
Библиография
1. Lavrentyev A.B., chapter 12 «Neurosemantic Network» in "Neuroinformatics and Semantic Representations”, Cambridge Scholars Publishing, 2020, ISBN: 1-5275-4852-X, ISBN13: 978-1-5275-4852-7.
2. В.И.Бодякин "Нейросемантика. Информационно-управляющие системы. Искусственный интеллект". Научные труды. M.: Академический проект; Фонд "Мир", 2020 - 803 с. ISBN 978-5-8291-3825-7, ISBN 978-5-919840-39-8.
название | год | авторы | номер документа |
---|---|---|---|
Система и способ формирования данных для мониторинга кибер-физической системы с целью раннего определения аномалий в системе графического интерфейса пользователя | 2018 |
|
RU2724716C1 |
Способ определения источников аномалии в кибер-физической системе | 2020 |
|
RU2749252C1 |
Система и способ определения источника аномалии в кибер-физической системе, обладающей определенными характеристиками | 2018 |
|
RU2724075C1 |
Способ диагностики и мониторинга аномалий в кибер-физической системе | 2021 |
|
RU2784981C1 |
Система и способ выявления аномалий в киберфизической системе | 2022 |
|
RU2800740C1 |
Способ выявления аномалий в киберфизической системе в реальном времени | 2023 |
|
RU2824318C1 |
Способ приведения потока наблюдений параметров киберфизической системы, поступающих в реальном времени, к равно-интервальной временной сетке | 2023 |
|
RU2825558C1 |
Способ определения аномалии в киберфизической системе | 2022 |
|
RU2790331C1 |
СПОСОБ ФОРМИРОВАНИЯ СИСТЕМЫ УПРАВЛЕНИЯ МОЗГ-КОМПЬЮТЕР | 2019 |
|
RU2704497C1 |
Система и способ защиты устройств пользователя | 2020 |
|
RU2770146C2 |
Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении возможности выявления повторяющихся событий и паттернов и отнесения новых событий и новых паттернов к аномалиям в работе киберфизической системы (КФС) или информационной системы (ИС) в потоке событий от КФС или ИС. Система для выявления паттернов и аномалий в потоке событий, поступающих от КФС или ИС, содержит память и аппаратный процессор с возможностью реализации подсистемы хранения, предназначенной для хранения конфигурации полей событий, конфигурации эпизода, системной конфигурации, а также для хранения и загрузки в память нейросемантической сети согласно конфигурациям и предыдущему состоянию нейросемантической сети; коннекторов, предназначенных для получения данных о событиях, формирования эпизода, состоящего из последовательности событий, полученных до выполнения одного из условий, и передачи сформированных эпизодов в процессор событий; а также процессора событий, предназначенного для обработки эпизодов с помощью нейросемантической сети. 2 н. и 29 з.п. ф-лы, 13 ил., 1 табл.
1. Система для выявления паттернов и аномалий в потоке событий, поступающих от киберфизической системы (КФС) или информационной системы (ИС), содержащая память и аппаратный процессор с возможностью реализации:
а) подсистемы хранения, предназначенной для хранения конфигурации полей событий, конфигурации эпизода, системной конфигурации, а также для хранения и загрузки в память нейросемантической сети согласно упомянутым конфигурациям и предыдущему состоянию нейросемантической сети;
б) коннекторов, предназначенных для:
• получения данных о событиях, включающих для каждого события набор значений полей и метку времени события;
• формирования по меньшей мере одного эпизода, состоящего из последовательности событий, полученных до выполнения одного из условий: достигнут предельный промежуток времени или достигнуто предельное количество событий - или до выполнения того из упомянутых условий, которое выполнилось первым;
• передачи сформированных эпизодов в процессор событий;
в) процессора событий, предназначенного для обработки эпизодов с помощью нейросемантической сети, причем обработка эпизода включает:
• распознавание ранее выученных нейросемантической сетью событий и паттернов - последовательностей событий, в которых порядок событий соблюден, а интервалы времени между событиями находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активация этих нейронов;
• обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам и активации распознанных ранее выученных нейронов таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода;
• выявление структуры паттернов за счет сопоставления паттернам нейронов на иерархии слоев нейросемантической сети;
• отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалии в зависимости от количества активаций соответствующего им нейрона;
• сохранение состояния нейросемантической сети, в частности информации о созданных и активированных нейронах, в подсистеме хранения.
2. Система по п. 1, в которой обработка эпизода дополнительно включает выявление событий и паттернов нейросемантической сети, удовлетворяющих предварительно заданным критериям, и формирование выходной информации об указанных событиях и паттернах за счет использования специальных нейронов-мониторов нейросемантической сети, которые путем активации нейронов-мониторов отслеживают создание и активацию нейронов, соответствующих событиям и паттернам, причем упомянутые критерии заданы по меньшей мере:
• на значения полей отдельных событий и событий в паттернах;
• на признак повторяемости таких событий и паттернов;
• на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.
3. Система по п. 1, в которой выбирают оптимальное покрытие всех событий эпизода согласно иерархическому принципу минимальной длины описания или выбирают наиболее компактное покрытие всех событий текущего и предыдущих эпизодов.
4. Система по п. 1, в которой выполнение обработки эпизода происходит в нейросемантической сети послойно.
5. Система по п. 4, в которой выявляют структуру паттерна через иерархию слоев нейросемантической сети, на которых располагаются нейроны, причем на нулевом слое располагаются нейроны значений полей событий, сгруппированные по каналам, соответствующим полям события, на первом слое располагаются нейроны событий, на втором слое располагаются паттерны, состоящие из событий, на третьем и более высоких слоях располагаются паттерны, состоящие из паттернов предыдущего слоя (далее - вложенных паттернов).
6. Система по п. 5, в которой:
• на нулевом слое нейросемантической сети располагаются нейроны, соответствующие значениям полей событий, сгруппированные по каналам, соответствующим полям события, а длительность терминального нейрона принимается за ноль;
• на первом слое располагаются нейроны, соответствующие событиям и имеющие входы от нейронов терминального слоя, при этом каждому входу соответствует терминальный нейрон канала, отличного от каналов терминальных нейронов других входов; интервалы времени между входами события от значений полей принимаются за ноль, а суммарная длительность нейрона события соответственно принимается за ноль - событие не имеет длительности;
• на втором слое располагаются нейроны, соответствующие эпизодам, количество входов нейрона эпизода равно количеству событий в эпизоде, интервалы между событиями в эпизоде в точности сохраняются как интервалы между входами нейрона эпизода;
• на втором и последующих слоях также располагаются нейроны, соответствующие последовательностям событий, причем нейроны слоев 3 и выше имеют входы от нейронов предыдущего слоя и раскрытие нейрона паттерна до последовательности событий осуществляют через рекурсивное раскрытие всех его входов - вплоть до первого слоя, а событие раскрывается до значений полей через свои входы от терминальных нейронов.
7. Система по п. 5, в которой процессор событий дополнительно предназначен для конфигурирования, сохранения и восстановления нейросемантической сети из подсистемы хранения, причем конфигурирование нейросемантической сети включает:
• конфигурирование входных каналов нейросемантической сети в соответствии с полями событий, характерными для конкретной КФС или ИС;
• конфигурирование внимания нейросемантической сети за счет задания направлений внимания для фильтрации получаемых событий на основе критериев на значения полей для распознавания паттернов среди событий, отфильтрованных по каждому такому направлению;
• конфигурирование допустимых временных отклонений в длительности паттерна, в пределах которых нейросемантическая сеть будет интерпретировать последовательности одинаковых по порядку событий или вложенных паттернов, но с разными суммарными длительностями таких последовательностей, как один и тот же паттерн;
• конфигурирование гиперпараметров слоев сети, отвечающих за количество входов нейронов на слое;
• конфигурирование гиперпараметра сети, отвечающего за допустимое количество слоев нейросемантической сети.
8. Система по п. 5, в которой процессор событий дополнительно предназначен для:
• конфигурирования мониторов активности нейросемантической сети (выходных каналов) через создание специальных нейронов-мониторов, которые активируются на основе подписки на другие нейроны или слои, на которых создаются новые нейроны, нейросемантической сети, причем подписка формируется по критериям, задаваемым в терминах значений полей событий, скользящему временному интервалу и количеству активаций нейронов, на которые выполнена такая подписка;
• исполнения запросов пользователя по истории событий и паттернов;
• выполнения периодической оптимизации нейросемантической сети в режиме «сон» работы системы, в том числе оптимизации структуры паттернов, а также распознавания паттернов на длительных интервалах времени;
• выполнения постоянного сохранения состояния нейросемантической сети, в частности информации о паттернах и статистике их активаций на потоке событий, а также обработанной информации об эпизодах событий.
9. Система п. 8, дополнительно содержащая графический интерфейс пользователя, посредством которого управляют конфигурациями нейросемантической сети и коннекторов, конфигурацией мониторов активности нейросемантической сети и выводом информации о них и об их срабатывании, заданием запросов пользователя по истории паттернов и событий и выводом результатов таких запросов, управлением режимом «сон» и настройками сохранения состояния нейросемантической сети.
10. Система по п. 1, в которой частично останавливается обучение за счет принудительного перевода нейросемантической сети в режим, когда создание новых нейронов не происходит, и все обучение происходит только за счет изменения нейронов при их активации, в частности изменяется атрибут нейрона, отвечающий за частоту его активации или за количество активаций.
11. Система по п. 1, в которой используется возможность обучения нейросемантической сети «с учителем» за счет подачи на вход целевых для обучения паттернов и последующей модификации у сформировавшихся нейронов атрибута, отвечающего за частоту его активации, или, в частности, за количество активаций.
12. Система по п. 2, в которой подсистема хранения данных дополнительно служит для предоставления возможности сохранения срабатываний нейронов-мониторов.
13. Система по п. 1, в которой подсистема хранения данных дополнительно служит для предоставления возможности перезапуска работы процессора событий после останова с сохранением ранее выученных событий и паттернов.
14. Система по п. 1, в которой процессор событий осуществляет периодическое удаление из нейросемантической сети неиспользуемых нейронов паттернов, причем использование нейронов определяется статистическими свойствами нейронов и иерархическим принципом минимальной длины описания функционирования нейросемантической сети.
15. Система по п. 1, в которой процессор событий осуществляет обработку эпизодов, состоящих из одного события, параллельно на массивно-параллельной аппаратной архитектуре процессоров; либо осуществляет обработку эпизодов, состоящих из множества событий, последовательно на одном аппаратном процессоре, причем количество событий в эпизоде выбирают исходя из требований предоставлять информацию о мониторинге КФС или ИС в режиме, приемлемом для пользователя системы.
16. Система по п. 1, в которой события поступают от предиктивных детекторов по телеметрии КФС и/или непосредственно от КФС.
17. Способ для выявления паттернов и аномалий в потоке событий, поступающих от КФС или ИС, в котором:
а) с помощью по меньшей мере одного коннектора выполняют следующие этапы:
• получают данные о событиях, включающие для каждого события набор значений полей и метку времени события;
• формируют по меньшей мере один эпизод, состоящий из последовательности событий, полученных до выполнения одного из условий: достигнут предельный промежуток времени или достигнуто предельное количество событий - или до выполнения того из упомянутых условий, которое выполнилось первым;
• передают сформированные эпизоды в процессор событий;
б) с помощью процессора событий выполняют обработку эпизодов с помощью нейросемантической сети, причем обработка эпизода включает:
• распознавание ранее выученных нейросемантической сетью событий и паттернов - последовательностей событий, в которых порядок событий соблюден, а интервалы времени между событиями находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активация этих нейронов;
• обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам и активации распознанных ранее выученных нейронов таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода;
• выявление структуры паттернов за счет сопоставления паттернам нейронов на иерархии слоев нейросемантической сети;
• отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалии в зависимости от количества активаций соответствующего им нейрона;
• сохранение состояния нейросемантической сети, в частности информации о созданных и активированных нейронах, в подсистеме хранения.
18. Способ по п. 17, в котором обработка эпизода дополнительно включает выявление событий и паттернов нейросемантической сети, удовлетворяющих предварительно заданным критериям, и формирование выходной информации об указанных событиях и паттернах за счет использования специальных нейронов-мониторов нейросемантической сети, которые путем активации нейронов-мониторов отслеживают создание и активацию нейронов, соответствующих событиям и паттернам, причем упомянутые критерии заданы по меньшей мере:
• на значения полей отдельных событий и событий в паттернах;
• на признак повторяемости таких событий и паттернов;
• на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.
19. Способ по п. 17, в котором частично останавливается обучение за счет принудительного перевода нейросемантической сети в режим, когда создание новых нейронов не происходит, и все обучение происходит только за счет изменения нейронов при их активации, в частном случае изменяется атрибут нейрона, отвечающий за частоту его активации или за количество активаций.
20. Способ по п. 17, в котором используется возможность обучения нейросемантической сети «с учителем» за счет подачи на вход целевых для обучения паттернов и последующей модификации у сформировавшихся нейронов атрибута, отвечающего за частоту его активации, или, в частном случае, за количество активаций.
21. Способ по п. 17, в котором периодически выполняется удаление из нейросемантической сети неиспользуемых нейронов паттернов, причем использование нейронов определяется статистическими свойствами нейронов и иерархическим принципом минимальной длины описания, определяющим функционирование нейросемантической сети.
22. Способ по п. 17, в котором выявляют структуру паттернов через иерархию слоев нейросемантической сети, определяющую порядок слоев нейросемантической сети, на которых располагаются нейроны, причем нейросемантическая сеть для обработки событий используются следующим образом:
• на нулевом слое нейросемантической сети располагаются нейроны, соответствующие значениям полей событий, сгруппированные по каналам, соответствующим полям события, а длительность терминального нейрона принимается за 0;
• на первом слое располагаются нейроны, соответствующие событиям и имеющие входы от нейронов терминального слоя, при этом каждому входу соответствует терминальный нейрон канала, отличного от каналов терминальных нейронов других входов; интервалы времени между входами события от значений полей принимаются за ноль, а суммарная длительность нейрона события соответственно принимается за ноль - событие не имеет длительности;
• на втором слое располагаются нейроны, соответствующие эпизодам, количество входов нейрона эпизода равно количеству событий в эпизоде, интервалы между событиями в эпизоде в точности сохраняются как интервалы между входами нейрона эпизода;
• на втором и последующих слоях также располагаются нейроны, соответствующие последовательностям событий, причем нейроны третьего слоя и последующих слоев имеют входы от нейронов предыдущего слоя и раскрытие нейрона паттерна до последовательности событий осуществляют через рекурсивное раскрытие всех его входов - вплоть до первого слоя, а событие раскрывается до значений полей через свои входы от терминальных нейронов.
23. Способ по п. 22, в котором каждый эпизод последовательно обрабатывается на слоях нейросемантической сети: путем сопоставления значениям полей событий терминальных нейронов, путем сопоставления событиям нейронов первого слоя, путем создания нейронов top-эпизодов на втором слое, путем сопоставления последовательностям событий нейронов паттернов на втором и выше слоях вплоть до слоя, на котором будет сопоставлен один нейрон top-паттерна или достигнут максимальный слой.
24. Способ по п. 22, в котором выполняется активация нейрона паттерна при распознавании в потоке событий последовательности с порядком событий, соответствующим порядку событий, получаемому при раскрытии данного нейрона, выполняемого рекурсивно через его входы вплоть до первого слоя, и длительности выявленной последовательности в пределах интервала определяемого длительностью нейрона паттерна d и гиперпараметром нейросемантической сети σ > 0.
25. Способ по п. 22, в котором создаются или изменяются пользователем в процессе работы нейросемантической сети на специальном минус первом слое нейроны-мониторы, позволяющие отслеживать создание и активацию нейронов нейросемантической сети по заданным условиям; причем нейроны-мониторы используются как выходные каналы из нейросемантической сети для оповещения пользователя либо внешних систем.
26. Способ по п. 22, в котором нейроны нулевого слоя и последующих слоев обладают как минимум следующими свойствами:
• содержат вектор входных связей от нейронов предыдущего слоя; для нулевого слоя вектор содержит одно категориальное или преобразованное к категориальному значение поля события;
• содержат вектор интервалов времени между активациями связей от нейронов предыдущего слоя, зафиксированных при создании нейрона; причем для нулевого слоя этот вектор состоит из одного нулевого значения; для нейронов первого слоя и последующих слоев, имеющих всего один вход, длительность единственного входа принимается равной длительности единственного входного нейрона;
• при наличии выходных связей содержат набор упомянутых выходных связей к нейронам-мониторам минус первого слоя;
• содержат время последней активации нейрона;
• содержат статистический параметр, отражающий частоту активаций нейрона, в частности количество активаций.
27. Способ по п. 22, в котором дополнительно задают конфигурацию внимания нейросемантической сети за счет задания направлений внимания для фильтрации получаемых событий на основе критериев на значения полей для распознавания паттернов среди событий, отфильтрованных по каждому такому направлению.
28. Способ по п. 27, в котором каждый эпизод последовательно обрабатывается на слоях со второго и выше по каждому направлению внимания в случае задания конфигурации внимания вплоть до слоя, на котором для данного направления внимания сопоставлен top-паттерн или достигнут максимальный слой.
29. Способ по п. 27, в котором выполняется сопоставление нейрона при обработке путем активации нейрона соответствующего слоя, если он найден (распознан), либо путем создания и активации нового нейрона, если наблюдается новое значение поля, событие или паттерн, в зависимости от слоя.
30. Способ по п. 27, в котором оптимизируется иерархическая структура паттернов на слоях нейросемантической сети за счет периодического перехода нейросемантической сети в режим «сон», в котором события в эпизодах не обрабатываются либо обрабатываются параллельно на других вычислительных ресурсах; при этом в режиме «сон» выполняется обработка событий из интервала истории событий, получаемого объединением нескольких коротких эпизодов и упорядочением событий согласно их временным меткам, для случаев, когда часть событий в потоке пришла вне своего эпизода, а также обработки по длительным интервалам для тех направлений внимания, по которым события редки, или в случае изменения направлений внимания.
31. Способ по п. 27, в котором нейроны-мониторы обладают как минимум следующими свойствами:
• содержат по крайней мере один вход, к которому присоединено дендритное дерево с узлами, реализующими логические операции над присоединенными к ним выходами от других нейронов либо от слоев сети;
• содержат присоединенный к корню дендритного дерева дендритный узел с логической операцией «или» и присоединенными к нему выходами от нейронов нулевого слоя и последующих слоев, используемых для детектирования активации уже выученных сетью значений полей, событий и паттернов; критерий подписки нейрона-монитора на активации таких нейронов задается через определение условий на значения полей;
• содержат 0 или более присоединенных к узлу «или» других дендритных узлов с логической операцией «и», к которым в свою очередь присоединены выходы от нейронов нулевого слоя, отвечающих значениям полей, и выходы непосредственно от нулевого слоя и последующих слоев, которые используются для детектирования создания новых нейронов, соответствующих, в зависимости от слоя, значениям полей, либо событиям, либо паттернам; дендритные узлы «и» задают условия на то, какие значения полей должны быть у созданных на указанных слоях нейронов, чтобы активировать данный нейрон-монитор;
• имеют возможность динамически изменять набор входов нейрона-монитора от нейронов сети - автоматически добавлять к дендритному узлу «или» новые созданные нейроны, отвечающие критериям дендритного узла «и»;
• имеют возможность задавать опцию «внимание» на значения полей подписки и создавать на каждое уникальное значение или уникальную комбинацию таких значений таких полей дочерние нейроны-мониторы, становясь родительским нейроном-монитором; дочерние нейроны-мониторы будут выполнять подсчет числа активаций с этим уникальным значением и остальными условиями подписки, как у родительского нейрона-монитора, и оповещать родительский монитор о своем срабатывании;
• имеют возможность выполнять подписку как только на ранее созданные и активированные более одного раза нейроны, так и только на новые нейроны, которые активированы один раз, а также на те и другие вместе; при этом подписка только на новые нейроны рассматривает такие нейроны как соответствующие аномалиям в потоке событий - то есть соответствующие не встречавшимся значениям полей, или событиям, или последовательностям событий в ранее выученном нейросемантической сетью поведении КФС или ИС;
• содержат свойство для задания скользящего интервала мониторинга и количества активации нейрона-монитора на скользящем интервале, при достижении которого нейроном-монитором будет сформировано оповещение пользователя или других систем.
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами | 1924 |
|
SU2017A1 |
US 9064210 B1, 23.06.2015 | |||
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Система и способ определения источника аномалии в кибер-физической системе, обладающей определенными характеристиками | 2018 |
|
RU2724075C1 |
Авторы
Даты
2023-04-04—Публикация
2022-08-24—Подача