RU2793549C1 - System and method for revealing the structure of patterns and anomalies in the stream of events coming from a cyber-physical system or an information system - Google Patents
System and method for revealing the structure of patterns and anomalies in the stream of events coming from a cyber-physical system or an information system Download PDFInfo
- Publication number
- RU2793549C1 RU2793549C1 RU2022122824A RU2022122824A RU2793549C1 RU 2793549 C1 RU2793549 C1 RU 2793549C1 RU 2022122824 A RU2022122824 A RU 2022122824A RU 2022122824 A RU2022122824 A RU 2022122824A RU 2793549 C1 RU2793549 C1 RU 2793549C1
- Authority
- RU
- Russia
- Prior art keywords
- events
- neurons
- network
- neurosemantic
- patterns
- Prior art date
Links
Images
Abstract
Description
Область техникиTechnical field
Изобретение относится к области информационных технологий и информационно-управляющих систем, в том числе информационной и промышленной безопасности, а более конкретно к системам и способам для выявления структуры паттернов и аномалий в потоке событий, поступающих от киберфизической системы (КФС) или информационной системы (ИС).The invention relates to the field of information technology and information management systems, including information and industrial security, and more specifically to systems and methods for identifying the structure of patterns and anomalies in the flow of events coming from a cyber-physical system (CPS) or an information system (IS) .
Уровень техникиState of the art
Для объектов мониторинга (далее - объектов) КФС или ИС свойственно наличие потока данных, характеризующих работу этих объектов. Такие данные служат важным предметом анализа как в реальном времени (онлайн), так и ретроспективно по собранным данным для обнаружения аномалий (отклонений от нормальной работы объекта), а также для выявления закономерностей в нормальной работе объекта. Последнее является весьма важным для оператора объекта, т.к. позволяет выявлять причинно-следственные связи в работе объекта и делать выводы о том, какой именно аспект этих связей был нарушен, когда поведение объекта отклонилось от нормы.Monitoring objects (hereinafter - objects) of CFS or IS are characterized by the presence of a data flow characterizing the operation of these objects. Such data serve as an important subject of analysis both in real time (online) and retrospectively based on the collected data to detect anomalies (deviations from the normal operation of the object), as well as to identify patterns in the normal operation of the object. The latter is very important for the object operator, because allows you to identify cause-and-effect relationships in the work of the object and draw conclusions about which aspect of these relationships was violated when the behavior of the object deviated from the norm.
Потоки данных, поступающие от объекта, делятся на две группы:The data streams coming from the object are divided into two groups:
• телеметрия физических процессов КФС (показания сенсоров, значения уставок, уровни управляющих воздействий), далее - телеметрия;• telemetry of CPS physical processes (sensor readings, setting values, levels of control actions), hereinafter referred to as telemetry;
• события в КФС (отдельные команды, действия персонала, срабатывания сигналов тревоги и т.п.) и события в ИС (действия персонала, установление соединений и тому подобные события в сети передачи данных, переход подсистем в то или иное состояние), в том числе аккумулированные с помощью решений типа SIEM, далее - события.• events in the CPS (individual commands, actions of personnel, alarms, etc.) and events in the IS (actions of personnel, establishment of connections and similar events in the data transmission network, transition of subsystems to one state or another), including including those accumulated using solutions such as SIEM, further - events.
Для анализа данных первого типа (телеметрии физических процессов) успешно применяются предсказательные модели на основе нейронных сетей и другие методы машинного обучения, далее - предиктивные детекторы. Примеры таких детекторов описаны, например, в патентах RU2724716, RU2724075, RU2749252, US11175976B2.To analyze data of the first type (telemetry of physical processes), predictive models based on neural networks and other machine learning methods are successfully used, hereinafter referred to as predictive detectors. Examples of such detectors are described, for example, in patents RU2724716, RU2724075, RU2749252, US11175976B2.
Физические процессы обладают двумя свойствами, делающими работу предсказательных моделей возможной:Physical processes have two properties that make predictive models possible:
- непрерывность: физический процесс развивается непрерывно и любой его параметр имеет конкретное значение в любой момент времени независимо от того, измеряется ли значение параметра в этот момент или нет;- continuity: the physical process develops continuously and any of its parameters has a specific value at any moment of time, regardless of whether the value of the parameter is measured at this moment or not;
- сильная взаимозависимость: параметры процесса жестко взаимосвязаны во времени; при прочих равных условиях изменения одного параметра всегда приводят к изменениям другого параметра через определенное время с определенной скоростью (это не значит, что законы таких изменений известны; как раз их установление и является задачей машинного обучения).- strong interdependence: process parameters are rigidly interconnected in time; other things being equal, changes in one parameter always lead to changes in another parameter after a certain time at a certain rate (this does not mean that the laws of such changes are known; it is precisely their establishment that is the task of machine learning).
Данные второго типа представляют собой поток событий.The data of the second type is a stream of events.
Событие - это неразвивающееся атомарное изменение в состоянии объекта, которое характеризуется моментом времени, когда изменение произошло, и набором полей (полей события), значения которых описывают состав изменения.An event is a non-developing atomic change in the state of an object, which is characterized by the moment in time when the change occurred and a set of fields (event fields) whose values describe the composition of the change.
Паттерны (англ. pattern - шаблон, образец) - последовательности элементов (событий или других паттернов), на которые разбивается поток событий от объекта мониторинга, соответствующие отдельным подпроцессам в работе объекта. Один паттерн соответствует двум последовательностям из одинакового набора элементов при условии, что у двух последовательностей элементов интервалы между элементами находятся в заданных пределах и/или порядок элементов варьируется в заданных пределах, в частности когда состав и порядок элементов строго соблюден, а интервалы между элементами варьируются в заданных пределах. В случае, когда паттерн состоит из других паттернов, такой паттерн называют составным или просто паттерном, а другие паттерны называют вложенными. Такая иерархическая вложенность паттернов называется структурой паттерна. Каждый паттерн через вложенные паттерны может быть представлен как последовательность событий.Patterns are sequences of elements (events or other patterns) into which the stream of events from the monitoring object is divided, corresponding to individual subprocesses in the operation of the object. One pattern corresponds to two sequences from the same set of elements, provided that the intervals between the elements of the two sequences of elements are within the specified limits and / or the order of the elements varies within the specified limits, in particular when the composition and order of the elements are strictly observed, and the intervals between the elements vary in given limits. In the case when a pattern consists of other patterns, such a pattern is called a compound or just a pattern, and other patterns are called nested. This hierarchical nesting of patterns is called pattern structure. Each pattern, through nested patterns, can be represented as a sequence of events.
Внутри каждого паттерна события или вложенные паттерны придерживаются определенного порядка. Интервалы между ними с одной стороны являются случайными (отсутствует точная повторяемость временных интервалов), но с другой стороны находятся в некоторых рамках, неявно заданных спецификой функционирования объекта.Within each pattern, events or nested patterns follow a specific order. The intervals between them, on the one hand, are random (there is no exact repeatability of time intervals), but on the other hand, they are within certain limits implicitly specified by the specifics of the object's functioning.
Паттерны могут быть повторяющимися (но не обязательно периодическими) или новыми (имевшими место один раз). Повторяющиеся паттерны характеризуют выученную работу объекта в течение времени мониторинга. Новое событие или новый паттерн указывает на аномалию в работе объекта - событие или последовательность событий, которые ранее не наблюдались. Новыми паттернами и, соответственно, аномалиями будут считаться как последовательности событий со значительным изменением интервалов между событиями при сохранении последовательности событий ранее известного повторяющегося паттерна, так и с нарушением собственно последовательности событий (изменение порядка, пропуск или появление новых событий) по сравнению с ранее известными повторяющимися паттернами.Patterns can be repetitive (but not necessarily periodic) or new (occurred once). Repeating patterns characterize the learned work of the object during the monitoring time. A new event or new pattern indicates an anomaly in the operation of an object - an event or sequence of events that was not previously observed. New patterns and, accordingly, anomalies will be considered as sequences of events with a significant change in the intervals between events while maintaining the sequence of events of a previously known repeating pattern, and with a violation of the actual sequence of events (change of order, omission or appearance of new events) compared to previously known repeating ones. patterns.
Поэтому возникает техническая проблема, заключающаяся в выявлении в потоке событий от КФС или ИС структуры иерархически вложенных повторяющихся (но не обязательно периодических) паттернов, которая отражает причинно-следственные связи в потоке событий от КФС или ИС, а также в отнесении новых паттернов и новых событий к аномалиям. То есть информация о том, какое событие или паттерн или какая часть структуры паттерна ранее не наблюдались, свидетельствует о наличии аномалии в КФС или ИС.Therefore, a technical problem arises, which consists in identifying the structure of hierarchically nested repeating (but not necessarily periodic) patterns in the flow of events from CPS or IS, which reflects cause-and-effect relationships in the flow of events from CFS or IS, as well as in assigning new patterns and new events to anomalies. That is, information about which event or pattern or which part of the pattern structure was not previously observed indicates the presence of an anomaly in the FSC or IS.
Несмотря на то, что опытный оператор, знакомый с паттернами своего объекта, способен выявлять аномалии в потоке событий, психофизические возможности человека не позволяют справиться с потоком информации, поступающим с современных комплексных объектов (десятки и сотни событий в секунду). Обработка такого потока информации в реальном времени возможна только с помощью автоматизированной системы на основе машинного обучения и искусственного интеллекта (ИИ).Despite the fact that an experienced operator, familiar with the patterns of his object, is able to detect anomalies in the flow of events, the psychophysical capabilities of a person do not allow him to cope with the flow of information coming from modern complex objects (tens and hundreds of events per second). Processing such a flow of information in real time is only possible with the help of an automated system based on machine learning and artificial intelligence (AI).
Однако поток событий не обладает ни одним из вышеупомянутых свойств физических процессов, а именно нижеперечисленных.However, the flow of events does not have any of the above properties of physical processes, namely the following.
Во-первых, поток событий дискретен: события существуют только в конкретные моменты времени и не определены в промежутках между ними. Это обстоятельство не позволяет использовать подходы, основанные на моделировании непрерывных функций, лежащие в основе многих методов машинного обучения.First, the flow of events is discrete: events exist only at specific moments in time and are not defined in the intervals between them. This circumstance does not allow the use of approaches based on modeling continuous functions, which underlie many machine learning methods.
Во-вторых, взаимозависимость событий, как правило, слабая: события формируют повторяющиеся последовательности (например, поступает событие «оператор КФС вошел в машинный зал», после чего поступает событие «подана команда включения агрегата»), однако интервалы времени между событиями внутри последовательности могут варьироваться в широких пределах (в примере выше нормальный интервал между событиями составляет от 4 до 8 минут).Secondly, the interdependence of events, as a rule, is weak: events form repeating sequences (for example, the event “FSC operator entered the machine room” arrives, after which the event “command to turn on the unit was given”) arrives, however, the time intervals between events within the sequence can vary widely (in the example above, the normal interval between events is 4 to 8 minutes).
Таким образом, для анализа событий технологии и используемые при работе с непрерывными процессами предиктивные детекторы не подходят в силу специфических свойств событий.Thus, technologies and predictive detectors used when working with continuous processes are not suitable for event analysis due to the specific properties of events.
Известные подходы в области поиска аномалий в последовательностях событий условно можно разделить на три класса:Known approaches in the field of searching for anomalies in sequences of events can be conditionally divided into three classes:
1) использующие принцип поиска событий и последовательностей событий по сигнатурам (заранее определенным правилам), см., например, US9529690B2, US20170293757A1;1) using the principle of searching for events and sequences of events by signatures (predetermined rules), see, for example, US9529690B2, US20170293757A1;
2) на основе машинного обучения, функционирующие по принципу обучения на некоторой исторической выборке из потока событий, см., например, US20200143292A1;2) based on machine learning, operating on the principle of learning on some historical sample from the stream of events, see, for example, US20200143292A1;
3) на основе поиска паттернов в потоке символьной информации, например с использованием алгоритма Sequitur.3) based on the search for patterns in the stream of symbolic information, for example, using the Sequitur algorithm.
Первый класс решений можно отнести к классу диагностических правил (поиск аномалий по заданным критериям). Решения в этом классе чувствительны только к заранее известным сценариям, к тому же их использование сопряжено со значительными сложностями учета возможных вариаций временных интервалов между событиями в последовательности событий.The first class of solutions can be attributed to the class of diagnostic rules (search for anomalies according to specified criteria). Solutions in this class are sensitive only to previously known scenarios, moreover, their use is associated with significant difficulties in taking into account possible variations in the time intervals between events in the sequence of events.
Второй класс решений подвержен различного рода ошибкам, связанным с изначальной неполнотой представленных в исторической выборке событий, их порядка и временных интервалов в последовательностях.The second class of decisions is subject to various kinds of errors associated with the initial incompleteness of the events presented in the historical sample, their order and time intervals in the sequences.
Преимущество третьего класса состоит в том, что поиск ведется по открытому потоку данных, - ни выборка обучения, ни набор паттернов заранее не ограничены. Однако в этом классе не учитывается вариативность интервалов времени между символами и не реализована работа с многомерными символьными потоками, с которыми приходится иметь дело при работе с событиями.The advantage of the third class is that the search is conducted on an open data stream - neither the training sample nor the set of patterns is limited in advance. However, this class does not take into account the variability of time intervals between characters and does not work with multidimensional character streams, which you have to deal with when working with events.
Из вышеизложенного следует, что известные из уровня техники технологии не позволяют решить заявленную техническую проблему. Поэтому возникает потребность в решении указанной технической проблемы и в заявленном изобретении.It follows from the foregoing that the technologies known from the prior art do not allow solving the claimed technical problem. Therefore, there is a need to solve this technical problem and the claimed invention.
Раскрытие сущности изобретенияDisclosure of the essence of the invention
Первый технический результат заключается в выявлении повторяющихся событий и паттернов и в отнесении новых событий и новых паттернов к аномалиям в работе КФС или ИС в потоке событий от КФС или ИС. Первый технический результат достигается за счет методов машинного обучения на основе нейросемантической сети без необходимости разделения процесса работы на две изолированные друг от друга фазы: а) обучение (англ. training) на исторических данных и б) распознавание (англ. inference).The first technical result is to identify repetitive events and patterns and to attribute new events and new patterns to anomalies in the operation of the FSC or IS in the flow of events from the FSC or IS. The first technical result is achieved through machine learning methods based on a neurosemantic network without the need to divide the work process into two phases isolated from each other: a) training on historical data and b) recognition (eng. inference).
Второй технический результат заключается в распознавании структуры паттернов в потоке событий от КФС или ИС. Второй технический результат достигается за счет методов машинного обучения на основе нейросемантической сети без необходимости разделения процесса работы на две изолированные друг от друга фазы: а) обучение на исторических данных и б) распознавание.The second technical result is to recognize the structure of patterns in the flow of events from the FSC or IS. The second technical result is achieved through machine learning methods based on a neurosemantic network without the need to divide the work process into two phases isolated from each other: a) learning from historical data and b) recognition.
Третий технический результат заключается в повышении качества выявления событий и паттернов и их отнесения к аномалии в работе КФС или ИС. Третий технический результат достигается за счет каждого из следующих факторов: постоянного обучения (англ. continuous online learning), дополнительной оптимизации нейросемантической сети во время специальной фазы цикла работы в режиме «сон» (см. Фиг. 4) системы, механизма выборочного мониторинга активности нейросемантической сети на основе специальных нейронов-мониторов, взаимодействия с предиктивными детекторами, выявляющими аномалии в потоке телеметрии.The third technical result is to improve the quality of detection of events and patterns and their assignment to an anomaly in the work of the FSC or IS. The third technical result is achieved due to each of the following factors: continuous online learning, additional optimization of the neurosemantic network during a special phase of the work cycle in the "sleep" mode (see Fig. 4 ) of the system, a mechanism for selective monitoring of neurosemantic activity networks based on special monitor neurons, interaction with predictive detectors that detect anomalies in the telemetry stream.
Четвертый технический результат заключается в улучшении качества выявления паттернов и аномалий в КФС или в ИС при наличии в данных лишь малого количества примеров последовательностей событий, соответствующих паттерну, (англ. one-shot learning) за счет использования нейросемантической сети.The fourth technical result is to improve the quality of detecting patterns and anomalies in the FSC or in the IS if the data contains only a small number of examples of sequences of events corresponding to the pattern (one-shot learning) through the use of a neurosemantic network.
Пятый технический результат заключается в снижении уровня информационного шума в потоке событий за счет использования механизма внимания к значениям полей событий, характеризующих конкретную КФС или ИС.The fifth technical result is to reduce the level of information noise in the event stream by using the mechanism of attention to the values of the event fields that characterize a specific FSC or IS.
Согласно варианту реализации используется система для выявления паттернов и аномалий в потоке событий, поступающих от киберфизической системы (КФС) или информационной системы (ИС), содержащая память и аппаратный процессор с возможностью реализации: подсистемы хранения, предназначенной для хранения конфигурации полей событий, конфигурации эпизода, системной конфигурации, а также для хранения и загрузки в память нейросемантической сети согласно упомянутым конфигурациям и предыдущему состоянию нейросемантической сети; коннекторов, предназначенных для: получения данных о событиях, включающих для каждого события набор значений полей и метку времени события; формирования по меньшей мере одного эпизода, состоящего из последовательности событий, полученных до выполнения одного из условий: достигнут предельный промежуток времени или достигнуто предельное количество событий - или до выполнения того из упомянутых условий, которое выполнилось первым; передачи сформированных эпизодов в процессор событий; процессора событий, предназначенного для обработки эпизодов с помощью нейросемантической сети, причем обработка эпизода включает: распознавание ранее выученных нейросемантической сетью событий и паттернов - последовательностей событий, в которых порядок событий соблюден, а интервалы времени между событиями находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активация этих нейронов; обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам и активации распознанных ранее выученных нейронов таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода; выявление структуры паттернов за счет сопоставления паттернам нейронов на иерархии слоев нейросемантической сети; отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалии в зависимости от количества активаций соответствующего им нейрона; сохранение состояния нейросемантической сети, в частности информации о созданных и активированных нейронах, в подсистеме хранения.According to the implementation variant, a system is used to detect patterns and anomalies in the flow of events coming from a cyber-physical system (CPS) or an information system (IS) containing memory and a hardware processor with the ability to implement: a storage subsystem designed to store the configuration of event fields, episode configuration, system configuration, as well as for storing and loading into the memory of the neurosemantic network according to the mentioned configurations and the previous state of the neurosemantic network; connectors designed to: receive data about events, including for each event a set of field values and an event timestamp; forming at least one episode, consisting of a sequence of events received before one of the conditions is met: a time limit is reached or a limit number of events is reached - or before the fulfillment of one of the mentioned conditions, which was met first; transferring the generated episodes to the event processor; an event processor designed to process episodes using a neurosemantic network, moreover, episode processing includes: recognition of events and patterns previously learned by the neurosemantic network - sequences of events in which the order of events is observed, and the time intervals between events are within the specified limits stored in the form of neurons neurosemantic network, and the activation of these neurons; neurosemantic network training, which consists in creating and activating neurons that are associated with new event field values, new events, as well as new patterns and activating previously learned neurons so that the previously learned and new patterns of the neurosemantic network cover all the events of the episode; revealing the structure of patterns by matching the patterns of neurons on the hierarchy of layers of the neurosemantic network; classifying events and patterns corresponding to neurons of the neurosemantic network as an anomaly depending on the number of activations of the corresponding neuron; saving the state of the neurosemantic network, in particular information about the created and activated neurons, in the storage subsystem.
Согласно одному из частных вариантов реализации обработка эпизода дополнительно включает выявление событий и паттернов нейросемантической сети, удовлетворяющих предварительно заданным критериям, и формирование выходной информации об указанных событиях и паттернах за счет использования специальных нейронов-мониторов нейросемантической сети, которые путем активации нейронов-мониторов отслеживают создание и активацию нейронов, соответствующих событиям и паттернам, причем упомянутые критерии заданы по меньшей мере: на значения полей отдельных событий и событий в паттернах; на признак повторяемости таких событий и паттернов; на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.According to one of the particular implementation options, episode processing additionally includes identifying events and patterns of the neurosemantic network that meet predefined criteria, and generating output information about these events and patterns by using special monitor neurons of the neurosemantic network, which, by activating monitor neurons, track the creation and activation of neurons corresponding to events and patterns, and the mentioned criteria are set at least: on the values of the fields of individual events and events in patterns; on the sign of the recurrence of such events and patterns; on a sliding time interval to track such activations and the number of such activations on a sliding time interval.
Согласно одному из частных вариантов реализации выбирают оптимальное покрытие всех событий эпизода согласно иерархическому принципу минимальной длины описания или выбирают наиболее компактное покрытие всех событий текущего и предыдущих эпизодов.According to one of the particular implementation options, the optimal coverage of all episode events is selected according to the hierarchical principle of the minimum description length, or the most compact coverage of all events of the current and previous episodes is selected.
Согласно другому частному варианту реализации выполнение обработки эпизода происходит в нейросемантической сети послойно.According to another particular implementation variant, the processing of the episode occurs in the neurosemantic network in layers.
Согласно еще одному частному варианту реализации выявляют структуру паттерна через иерархию слоев нейросемантической сети, на которых располагаются нейроны, причем на нулевом (терминальном) слое располагаются нейроны значений полей событий сгруппированные по каналам, соответствующим полям события, на первом слое располагаются нейроны событий, на втором слое располагаются паттерны, состоящие из событий, на третьем и более высоких слоях располагаются паттерны, состоящие из паттернов предыдущего слоя (вложенных паттернов).According to another particular implementation variant, the structure of the pattern is revealed through the hierarchy of layers of the neurosemantic network on which the neurons are located, and on the zero (terminal) layer there are neurons of the values of the event fields grouped by channels corresponding to the event fields, on the first layer there are event neurons, on the second layer there are patterns consisting of events, on the third and higher layers there are patterns consisting of patterns of the previous layer (nested patterns).
Согласно одному из частных вариантов реализации на нулевом слое нейросемантической сети располагаются нейроны, соответствующие значениям полей событий, сгруппированные по каналам, соответствующим полям события, а длительность терминального нейрона принимается за 0; на первом слое располагаются нейроны, соответствующие событиям, и имеющие входы от нейронов терминального слоя, при этом каждому входу соответствует терминальный нейрон канала, отличного от каналов терминальных нейронов других входов; интервалы времени между входами события от значений полей принимаются за 0, а суммарная длительность нейрона события соответственно принимается за 0 - событие не имеет длительности; на втором слое располагаются нейроны, соответствующие эпизодам, количество входов нейрона эпизода равно количеству событий в эпизоде, интервалы между событиями в эпизоде в точности сохраняются как интервалы между входами нейрона эпизода; на втором и последующих слоях также располагаются нейроны, соответствующие последовательностям событий, причем нейроны слоев 3 и выше имеют входы от нейронов предыдущего слоя и раскрытие нейрона паттерна до последовательности событий осуществляют через рекурсивное раскрытие всех его входов - вплоть до первого слоя, а событие раскрывается до значений полей через свои входы от терминальных нейронов.According to one of the private implementation options, neurons corresponding to the values of the event fields are located on the zero layer of the neurosemantic network, grouped by channels corresponding to the event fields, and the duration of the terminal neuron is taken as 0; on the first layer there are neurons corresponding to events and having inputs from neurons of the terminal layer, with each input corresponding to a terminal neuron of a channel different from the channels of terminal neurons of other inputs; time intervals between event inputs from field values are taken as 0, and the total duration of the event neuron is accordingly taken as 0 - the event has no duration; on the second layer there are neurons corresponding to episodes, the number of inputs of the neuron of the episode is equal to the number of events in the episode, the intervals between events in the episode are exactly stored as the intervals between the inputs of the neuron of the episode; the second and subsequent layers also contain neurons corresponding to the sequences of events, and the neurons of layers 3 and above have inputs from the neurons of the previous layer and the opening of the pattern neuron to the sequence of events is carried out through recursive disclosure of all its inputs - up to the first layer, and the event is expanded to the values fields through their inputs from terminal neurons.
Согласно другому частному варианту реализации процессор событий дополнительно предназначен для конфигурирования, сохранения и восстановления нейросемантической сети из подсистемы хранения, причем конфигурирование нейросемантической сети включает: конфигурирование входных каналов нейросемантической сети в соответствии с полями событий, характерными для конкретной КФС или ИС; конфигурирование внимания нейросемантической сети за счет задания направлений внимания для фильтрации получаемых событий на основе критериев на значения полей для распознавания паттернов среди событий, отфильтрованных по каждому такому направлению; конфигурирование допустимых временных отклонений в длительности паттерна, в пределах которых нейросемантическая сеть будет интерпретировать последовательности одинаковых по порядку событий или вложенных паттернов, но с разными суммарными длительностями таких последовательностей, как один и тот же паттерн; конфигурирование гиперпараметров слоев сети, отвечающих за количество входов нейронов на слое; конфигурирование гиперпараметра сети, отвечающего за допустимое количество слоев нейросемантической сети.According to another particular implementation variant, the event processor is additionally designed to configure, save and restore the neurosemantic network from the storage subsystem, and the configuration of the neurosemantic network includes: configuring the input channels of the neurosemantic network in accordance with the event fields specific to a particular CPS or IC; configuring the attention of the neurosemantic network by setting attention directions for filtering received events based on criteria for field values for pattern recognition among events filtered for each such direction; configuring permissible temporal deviations in the duration of the pattern, within which the neurosemantic network will interpret sequences of the same events or nested patterns, but with different total durations of such sequences, as the same pattern; configuring the hyperparameters of the network layers, which are responsible for the number of inputs of neurons on the layer; configuring the network hyperparameter responsible for the allowable number of layers of the neurosemantic network.
Согласно еще одному частному варианту реализации процессор событий дополнительно предназначен для: конфигурирования мониторов активности нейросемантической сети (выходных каналов) через создание специальных нейронов-мониторов, которые активируются на основе подписки на другие нейроны или слои, на которых создаются новые нейроны, нейросемантической сети, причем подписка формируется по критериям, задаваемым в терминах значений полей событий, скользящему временному интервалу и количеству активаций нейронов, на которые выполнена такая подписка; исполнения запросов пользователя по истории событий и паттернов; выполнения периодической оптимизации нейросемантической сети в режиме «сон» работы системы, в том числе оптимизации структуры паттернов, а также распознавания паттернов на длительных интервалах времени; выполнения постоянного сохранения состояния нейросемантической сети, в частности информации о паттернах и статистике их активаций на потоке событий, а также обработанной информации об эпизодах событий.According to another particular implementation variant, the event processor is additionally intended for: configuring neurosemantic network activity monitors (output channels) by creating special monitor neurons that are activated based on a subscription to other neurons or layers on which new neurons are created, the neurosemantic network, and the subscription is formed according to the criteria specified in terms of the values of the event fields, the sliding time interval and the number of activations of the neurons to which such a subscription is made; execution of user requests on the history of events and patterns; performing periodic optimization of the neurosemantic network in the "sleep" mode of the system, including optimizing the structure of patterns, as well as pattern recognition over long time intervals; performing permanent storage of the state of the neurosemantic network, in particular, information about patterns and statistics of their activations on the event stream, as well as processed information about event episodes.
Согласно одному из частных вариантов реализации используется система дополнительно содержащая графический интерфейс пользователя, посредством которого управляют конфигурациями нейросемантической сети и коннекторов, конфигурацией мониторов активности нейросемантической сети и выводом информации о них и об их срабатывании, заданием запросов пользователя по истории паттернов и событий и выводом результатов таких запросов, управлением режимом «сон» и настройками сохранения состояния нейросемантической сети.According to one of the particular implementation options, a system is used that additionally contains a graphical user interface, through which the configurations of the neurosemantic network and connectors are controlled, the configuration of neurosemantic network activity monitors and the output of information about them and their operation, setting user queries on the history of patterns and events and displaying the results of such requests, control of the "sleep" mode and settings for saving the state of the neurosemantic network.
Согласно другому частному варианту реализации частично останавливается обучение за счет принудительного перевода нейросемантической сети в режим, когда создание новых нейронов не происходит, и все обучение происходит только за счет изменения нейронов при их активации, в частности изменяется атрибут нейрона, отвечающий за частоту его активации или за количество активаций.According to another particular implementation variant, learning is partially stopped by forcing the neurosemantic network into a mode where no new neurons are created, and all learning occurs only by changing neurons when they are activated, in particular, the neuron attribute responsible for the frequency of its activation or for number of activations.
Согласно еще одному частному варианту реализации используется возможность обучения нейросемантической сети «с учителем» за счет подачи на вход целевых для обучения паттернов и последующей модификации у сформировавшихся нейронов атрибута, отвечающего за частоту его активации, или, в частности, за количество активаций.According to another particular implementation variant, the possibility of training a neurosemantic network "with a teacher" is used by supplying training-targeted patterns to the input and then modifying the attribute in the formed neurons that is responsible for the frequency of its activation, or, in particular, for the number of activations.
Согласно одному из частных вариантов реализации подсистема хранения данных дополнительно служит для предоставления возможности сохранения срабатываний (далее - детектов) нейронов-мониторов.According to one of the particular implementation options, the data storage subsystem additionally serves to provide the possibility of saving the firings (hereinafter, the detections) of monitor neurons.
Согласно другому частному варианту реализации подсистема хранения данных дополнительно служит для предоставления возможности перезапуска работы процессора событий после останова с сохранением ранее выученных событий и паттернов.According to another particular implementation, the storage subsystem further serves to enable the event processor to restart after a stop while retaining previously learned events and patterns.
Согласно еще одному частному варианту реализации процессор событий осуществляет периодическое удаление из нейросемантической сети неиспользуемых нейронов паттернов, причем использование нейронов определяется статистическими свойствами нейронов и иерархическим принципом минимальной длины описания функционирования нейросемантической сети.According to another particular embodiment, the event processor periodically removes unused pattern neurons from the neurosemantic network, and the use of neurons is determined by the statistical properties of neurons and the hierarchical principle of the minimum length of the description of the neurosemantic network functioning.
Согласно одному из частных вариантов реализации процессор событий осуществляет обработку эпизодов, состоящих из одного события, параллельно на массивно-параллельной аппаратной архитектуре процессоров; либо осуществляет обработку эпизодов, состоящих из множества событий, последовательно на одном аппаратном процессоре, причем количество событий в эпизоде выбирают исходя из требований предоставлять информацию о мониторинге КФС или ИС в режиме, приемлемом для пользователя системы.According to one particular implementation, the event processor processes episodes consisting of a single event in parallel on a massively parallel processor hardware architecture; or performs processing of episodes consisting of a plurality of events sequentially on a single hardware processor, and the number of events in an episode is selected based on the requirements to provide information about the monitoring of the FSC or IS in a mode acceptable to the user of the system.
Согласно другому частному варианту реализации события поступают от предиктивных детекторов по телеметрии КФС и/или непосредственно от КФС.According to another particular implementation variant, events come from predictive detectors via FSC telemetry and/or directly from FSC.
Согласно варианту реализации используется способ для выявления паттернов и аномалий в потоке событий, поступающих от КФС или ИС, в котором: с помощью по меньшей мере одного коннектора выполняют следующие этапы: получают данные о событиях, включающие для каждого события набор значений полей и метку времени события; формируют по меньшей мере один эпизод, состоящий из последовательности событий, полученных до выполнения одного из условий: достигнут предельный промежуток времени или достигнуто предельное количество событий - или до выполнения того из упомянутых условий, которое выполнилось первым; передают сформированные эпизоды в процессор событий; с помощью процессора событий выполняют обработку эпизодов с помощью нейросемантической сети, причем обработка эпизода включает: распознавание ранее выученных нейросемантической сетью событий и паттернов - последовательностей событий, в которых порядок событий соблюден, а интервалы времени между событиями находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активация этих нейронов; обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам и активации распознанных ранее выученных нейронов таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода; выявление структуры паттернов за счет сопоставления паттернам нейронов на иерархии слоев нейросемантической сети; отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалии в зависимости от количества активаций соответствующего им нейрона; сохранение состояния нейросемантической сети, в частности информации о созданных и активированных нейронах, в подсистеме хранения.According to the implementation variant, a method is used to detect patterns and anomalies in the stream of events coming from the FSC or IS, in which: using at least one connector, the following steps are performed: event data is obtained, including for each event a set of field values and an event timestamp ; at least one episode is formed, consisting of a sequence of events received before one of the conditions is met: the time limit is reached or the limit number of events is reached - or before the fulfillment of one of the mentioned conditions that was met first; transmitting the generated episodes to the event processor; using the event processor, the episodes are processed using the neurosemantic network, and the episode processing includes: recognition of events and patterns previously learned by the neurosemantic network - sequences of events in which the order of events is observed, and the time intervals between events are within the specified limits stored in the form of neurons neurosemantic network, and the activation of these neurons; neurosemantic network training, which consists in creating and activating neurons that are associated with new event field values, new events, as well as new patterns and activating previously learned neurons so that the previously learned and new patterns of the neurosemantic network cover all the events of the episode; revealing the structure of patterns by matching the patterns of neurons on the hierarchy of layers of the neurosemantic network; classifying events and patterns corresponding to neurons of the neurosemantic network as an anomaly depending on the number of activations of the corresponding neuron; saving the state of the neurosemantic network, in particular information about the created and activated neurons, in the storage subsystem.
Согласно одному из частных вариантов реализации обработка эпизода дополнительно включает выявление событий и паттернов нейросемантической сети, удовлетворяющих предварительно заданным критериям, и формирование выходной информации об указанных событиях и паттернах за счет использования специальных нейронов-мониторов нейросемантической сети, которые путем активации нейронов-мониторов отслеживают создание и активацию нейронов, соответствующих событиям и паттернам, причем упомянутые критерии заданы по меньшей мере: на значения полей отдельных событий и событий в паттернах; на признак повторяемости таких событий и паттернов; на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.According to one of the particular implementation options, episode processing additionally includes identifying events and patterns of the neurosemantic network that meet predefined criteria, and generating output information about these events and patterns by using special monitor neurons of the neurosemantic network, which, by activating monitor neurons, track the creation and activation of neurons corresponding to events and patterns, and the mentioned criteria are set at least: on the values of the fields of individual events and events in patterns; on the sign of the recurrence of such events and patterns; on a sliding time interval to track such activations and the number of such activations on a sliding time interval.
Согласно одному из частных вариантов реализации частично останавливается обучение за счет принудительного перевода нейросемантической сети в режим, когда создание новых нейронов не происходит, и все обучение происходит только за счет изменения нейронов при их активации, в частном случае изменяется атрибут нейрона, отвечающий за частоту его активации или за количество активаций.According to one of the private implementation options, learning is partially stopped due to the forced transfer of the neurosemantic network to a mode where the creation of new neurons does not occur, and all learning occurs only by changing neurons when they are activated, in a particular case, the neuron attribute responsible for the frequency of its activation changes or for the number of activations.
Согласно другому частному варианту реализации используется возможность обучения нейросемантической сети «с учителем» за счет подачи на вход целевых для обучения паттернов и последующей модификации у сформировавшихся нейронов атрибута, отвечающего за частоту его активации, или, в частном случае, за количество активаций.According to another particular implementation variant, the possibility of training a neurosemantic network "with a teacher" is used by supplying training-targeted patterns to the input and then modifying the attribute in the formed neurons that is responsible for the frequency of its activation, or, in a particular case, for the number of activations.
Согласно еще одному частному варианту реализации периодически выполняется удаление из нейросемантической сети неиспользуемых нейронов паттернов, причем использование нейронов определяется статистическими свойствами нейронов и иерархическим принципом минимальной длины описания, определяющим функционирование нейросемантической сети.According to another particular implementation option, unused pattern neurons are periodically removed from the neurosemantic network, and the use of neurons is determined by the statistical properties of neurons and the hierarchical principle of the minimum description length that determines the functioning of the neurosemantic network.
Согласно одному из частных вариантов реализации выявляют структуру паттернов через иерархию слоев нейросемантической сети, определяющую порядок слоев нейросемантической сети, на которых располагаются нейроны, причем нейросемантическая сеть для обработки событий используются следующим образом: на нулевом (терминальном) слое нейросемантической сети располагаются нейроны, соответствующие значениям полей событий, сгруппированные по каналам, соответствующим полям события, а длительность терминального нейрона принимается за 0; на первом слое располагаются нейроны, соответствующие событиям, и имеющие входы от нейронов терминального слоя, при этом каждому входу соответствует терминальный нейрон канала, отличного от каналов терминальных нейронов других входов; интервалы времени между входами события от значений полей принимаются за 0, а суммарная длительность нейрона события соответственно принимается за 0 - событие не имеет длительности; на втором слое располагаются нейроны, соответствующие эпизодам, количество входов нейрона эпизода равно количеству событий в эпизоде, интервалы между событиями в эпизоде в точности сохраняются как интервалы между входами нейрона эпизода; на втором и последующих слоях также располагаются нейроны, соответствующие последовательностям событий, причем нейроны слоев 3 и выше имеют входы от нейронов предыдущего слоя и раскрытие (англ. expand) нейрона паттерна до последовательности событий осуществляют через рекурсивное раскрытие всех его входов - вплоть до слоя 1, а событие раскрывается до значений полей через свои входы от терминальных нейронов.According to one of the particular implementation options, the structure of patterns is revealed through the hierarchy of layers of the neurosemantic network, which determines the order of the layers of the neurosemantic network on which the neurons are located, and the neurosemantic network for event processing is used as follows: on the zero (terminal) layer of the neurosemantic network, there are neurons corresponding to the values of the fields events grouped by channels corresponding to the event fields, and the duration of the terminal neuron is taken as 0; on the first layer there are neurons corresponding to events and having inputs from neurons of the terminal layer, with each input corresponding to a terminal neuron of a channel different from the channels of terminal neurons of other inputs; time intervals between event inputs from field values are taken as 0, and the total duration of the event neuron is accordingly taken as 0 - the event has no duration; on the second layer there are neurons corresponding to episodes, the number of inputs of the neuron of the episode is equal to the number of events in the episode, the intervals between events in the episode are exactly stored as the intervals between the inputs of the neuron of the episode; on the second and subsequent layers there are also neurons corresponding to the sequences of events, and the neurons of layers 3 and above have inputs from the neurons of the previous layer and the opening (expand) of the pattern neuron to the sequence of events is carried out through recursive disclosure of all its inputs - up to layer 1, and the event is expanded to the values of the fields through its inputs from the terminal neurons.
Согласно другому частному варианту реализации каждый эпизод последовательно обрабатывается на слоях нейросемантической сети: путем сопоставления значениям полей событий терминальных нейронов, путем сопоставления событиям нейронов первого слоя, путем создания нейронов top-эпизодов на втором слое, путем сопоставления последовательностям событий нейронов паттернов на втором и выше слоях вплоть до слоя, на котором будет сопоставлен один нейрон top-паттерна или достигнут максимальный слой.According to another particular implementation variant, each episode is sequentially processed on the layers of the neurosemantic network: by matching the values of the event fields of terminal neurons, by matching the events of the first layer neurons, by creating top-episode neurons on the second layer, by matching the sequences of events of pattern neurons on the second and higher layers up to the layer on which one neuron of the top pattern will be matched or the maximum layer will be reached.
Согласно еще одному частному варианту реализации выполняется активация нейрона паттерна при распознавании в потоке событий последовательности, с порядком событий, соответствующим порядку событий, получаемому при раскрытии данного нейрона, выполняемого рекурсивно через его входы вплоть до первого слоя, и длительности выявленной последовательности в пределах интервала определяемого длительностью нейрона паттерна d и гиперпараметром нейросемантической сети σ > 0.According to another particular implementation variant, the activation of the pattern neuron is performed when a sequence is recognized in the event stream, with the order of events corresponding to the order of events obtained by opening this neuron, performed recursively through its inputs up to the first layer, and the duration of the detected sequence within the interval determined by the duration of the pattern neuron d and the hyperparameter of the neurosemantic network σ > 0 .
Согласно другому частному варианту реализации создаются или изменяются пользователем в процессе работы нейросемантической сети на специальном минус первом слое нейроны-мониторы, позволяющие отслеживать создание и активацию нейронов нейросемантической сети по заданным условиям; причем нейроны-мониторы используются как выходные каналы из нейросемантической сети для оповещения пользователя либо внешних систем.According to another particular implementation variant, the user creates or changes during the operation of the neurosemantic network on a special minus the first layer neurons-monitors that allow monitoring the creation and activation of neurons of the neurosemantic network according to specified conditions; moreover, monitor neurons are used as output channels from the neurosemantic network to alert the user or external systems.
Согласно еще одному частному варианту реализации нейроны слоев 0 и выше обладают как минимум следующими свойствами: содержат вектор входных связей от нейронов предыдущего слоя; для слоя 0 вектор содержит одно категориальное или преобразованное к категориальному значение поля события; содержат вектор интервалов времени между активациями связей от нейронов предыдущего слоя, зафиксированных при создании нейрона; причем для слоя 0 этот вектор состоит из одного нулевого значения; для нейронов слоев 1 и выше, имеющих всего один вход, длительность единственного входа принимается равной длительности единственного входного нейрона; при наличии выходных связей содержат набор упомянутых выходных связей к нейронам-мониторам минус первого слоя; содержат время последней активации нейрона; содержат статистический параметр, отражающий частоту активаций нейрона, в частности количество активаций.According to another particular implementation variant, the neurons of
Согласно одному из частных вариантов реализации дополнительно задают конфигурацию внимания нейросемантической сети за счет задания направлений внимания для фильтрации получаемых событий на основе критериев на значения полей для распознавания паттернов среди событий, отфильтрованных по каждому такому направлению.According to one of the particular implementation options, the attention configuration of the neurosemantic network is additionally set by setting attention directions for filtering received events based on criteria for field values for pattern recognition among events filtered for each such direction.
Согласно другому частному варианту реализации каждый эпизод последовательно обрабатывается на слоях со второго и выше по каждому направлению внимания в случае задания конфигурации внимания, вплоть до слоя, на котором для данного направления внимания сопоставлен top-паттерн или достигнут максимальный слой.According to another particular implementation variant, each episode is sequentially processed on layers from the second and higher in each direction of attention in the case of setting an attention configuration, up to the layer on which the top pattern is matched for this direction of attention or the maximum layer is reached.
Согласно еще одному частному варианту реализации выполняется сопоставление нейрона при обработке путем активации нейрона соответствующего слоя, если он найден (распознан), либо путем создания и активации нового нейрона, если наблюдается новое значение поля, событие или паттерн, в зависимости от слоя.According to another particular implementation variant, a neuron is matched during processing by activating a neuron of the corresponding layer, if it is found (recognized), or by creating and activating a new neuron if a new field value, event or pattern is observed, depending on the layer.
Согласно одному из частных вариантов реализации оптимизируется иерархическая структура паттернов на слоях нейросемантической сети за счет периодического перехода нейросемантической сети в режим «сон», в котором события в эпизодах не обрабатываются либо обрабатываются параллельно на других вычислительных ресурсах; при этом в режиме «сон» выполняется обработка событий из интервала истории событий, получаемого объединением нескольких коротких эпизодов и упорядочением событий согласно их временным меткам, для случаев, когда часть событий в потоке пришла вне своего эпизода, а также обработки по длительным интервалам для тех направлений внимания, по которым события редки, или в случае изменения направлений внимания.According to one of the particular implementation options, the hierarchical structure of patterns on the layers of the neurosemantic network is optimized due to the periodic transition of the neurosemantic network to the "sleep" mode, in which events in episodes are not processed or are processed in parallel on other computing resources; at the same time, in the "sleep" mode, processing of events from the interval of the event history obtained by combining several short episodes and ordering events according to their timestamps is performed for cases where some of the events in the stream came outside of their episode, as well as processing at long intervals for those directions attention, in which events are rare, or in the case of changing directions of attention.
Согласно другому частному варианту реализации нейроны-мониторы (нейроны минус первого слоя) обладают как минимум следующими свойствами: содержат по крайней мере один вход, к которому присоединено дендритное дерево с узлами, реализующими логические операции над присоединенными к ним выходами от других нейронов либо от слоев сети; содержат присоединенный к корню дендритного дерева дендритный узел с логической операцией «или» и присоединенными к нему выходами от нейронов слоев 0 и выше, используемых для детектирования активации уже выученных сетью значений полей, событий и паттернов; критерий подписки нейрона-монитора на активации таких нейронов задается через определение условий на значения полей; содержат 0 или более присоединенных к узлу «или» других дендритных узлов с логической операцией «и», к которым в свою очередь присоединены выходы от нейронов слоя 0, отвечающих значениям полей и выходы непосредственно от слоев 0 и выше, которые используются для детектирования создания новых нейронов, соответствующих, в зависимости от слоя, значениям полей, либо событиям, либо паттернам; дендритные узлы «и» задают условия на то, какие значения полей должны быть у созданных на указанных слоях нейронов, чтобы активировать данный нейрон-монитор; имеют возможность динамически изменять набор входов нейрона-монитора от нейронов сети - автоматически добавлять к дендритному узлу «или» новые созданные нейроны, отвечающие критериям дендритного узла «и»; имеют возможность задавать опцию «внимание» на значения полей подписки и создавать на каждое уникальное значение или уникальную комбинацию таких значений таких полей дочерние нейроны-мониторы, становясь родительским нейроном-монитором; дочерние нейроны-мониторы будут выполнять подсчет числа активаций с этим уникальным значением и остальными условиями подписки, как у родительского нейрона-монитора, и оповещать родительский монитор о своем срабатывании; имеют возможность выполнять подписку как только на ранее созданные и активированные более одного раза нейроны, так и только на новые нейроны (которые активированы один раз), а также на те и другие вместе; при этом подписка только на новые нейроны рассматривает такие нейроны как соответствующие аномалиям в потоке событий - то есть соответствующие не встречавшимся значениям полей, или событиям, или последовательностям событий в ранее выученном нейросемантической сетью поведении КФС или ИС; содержат свойство для задания скользящего интервала мониторинга и количества активации нейрона-монитора на скользящем интервале, при достижении которого нейроном-монитором будет сформировано оповещение пользователя или других систем.According to another particular implementation, monitor neurons (neurons minus the first layer) have at least the following properties: they contain at least one input to which a dendritic tree is attached with nodes that implement logical operations on the outputs attached to them from other neurons or from network layers ; contain a dendritic node attached to the root of the dendritic tree with a logical operation "or" and attached outputs from neurons of layers 0 and above, used to detect activation of field values, events and patterns already learned by the network; the criterion for subscribing a neuron-monitor to the activation of such neurons is set through the definition of conditions for field values; contain 0 or more other dendritic nodes connected to the “or” node with the logical operation “and”, to which, in turn, outputs from layer 0 neurons are connected, corresponding to field values and outputs directly from layers 0 and above, which are used to detect the creation of new neurons corresponding, depending on the layer, to field values, either events or patterns; dendritic nodes “and” set the conditions for what field values the neurons created on the specified layers should have in order to activate this neuron-monitor; have the ability to dynamically change the set of monitor neuron inputs from network neurons - automatically add new created neurons to the dendritic node “or” that meet the criteria of the dendritic node “and”; have the ability to set the "attention" option to the values of the subscription fields and create child monitor neurons for each unique value or a unique combination of such values of such fields, becoming a parent monitor neuron; child monitor neurons will count the number of activations with this unique value and other subscription conditions, like the parent monitor neuron, and notify the parent monitor of their firing; have the ability to subscribe both to previously created and activated more than once neurons, and only to new neurons (which are activated once), as well as to both; while subscribing only to new neurons considers such neurons as corresponding to anomalies in the flow of events - that is, corresponding to unseen field values, or events, or sequences of events in the CPS or IS behavior previously learned by the neurosemantic network; contain a property for setting a sliding monitoring interval and the amount of activation of the monitor neuron on the sliding interval, upon reaching which the monitor neuron will generate a notification to the user or other systems.
Краткое описание чертежейBrief description of the drawings
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objects, features and advantages of the present invention will become apparent from reading the following description of an embodiment of the invention with reference to the accompanying drawings, in which:
Фиг. 1 представляет пример взаимодействия заявленной системы с КФС, средствами выявления аномалий в телеметрии и ИС. Fig. 1 is an example of the interaction of the claimed system with FSC, anomaly detection tools in telemetry and IS.
Фиг. 2 представляет схему компонентов заявленной системы. Fig. 2 is a diagram of the components of the claimed system.
Фиг. 3 представляет основной цикл работы заявленной системы. Fig. 3 represents the main operation cycle of the claimed system.
Фиг. 4 представляет работу в режиме «сон» заявленной системы. Fig. 4 represents the sleep mode operation of the claimed system.
Фиг. 5 представляет обработку запроса на поиск истории паттернов или аномалий. Fig. 5 represents the processing of a request to search for a history of patterns or anomalies.
Фиг. 6 представляет обработку запроса на создание монитора работы заявленной системы. Fig. 6 represents the processing of a request to create a performance monitor of the claimed system.
Фиг. 7 представляет основную структуру слоев нейросемантической сети для обработки событий. Fig. 7 represents the basic layer structure of the neurosemantic network for event processing.
Фиг. 8 представляет основные характеристики нейрона нейросемантической сети и его применения для анализа потока событий на основе обработки эпизодов. Fig. 8 presents the main characteristics of the neuron of the neurosemantic network and its application to the analysis of the flow of events based on the processing of episodes.
Фиг. 9а представляет пример обработки эпизода нейросемантической сетью для случая, когда не определены направления внимания. Fig. 9a presents an example of processing an episode by a neurosemantic network for the case when attention directions are not defined.
Фиг. 9б представляет пример обработки эпизода для случая, когда определено одно направление внимания. Fig. 9b shows an example of episode processing for the case where one direction of attention is defined.
Фиг. 10 представляет примеры обработки интервалов между входами нейронов эпизода, включая случаи «переходных» нейронов с одним входом, на слоях нейросемантической сети. Fig. 10 presents examples of processing intervals between inputs of episode neurons, including cases of "transient" neurons with one input, on neurosemantic network layers.
Фиг. 11 представляет пример реализации мониторов активности нейросемантической сети за счет специальных нейронов-мониторов на минус первом слое этой сети. Fig. 11 shows an example of the implementation of neurosemantic network activity monitors using special monitor neurons on the minus first layer of this network.
Фиг. 12 представляет пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение. Fig. 12 is an example of a general purpose computer system with which the present invention may be implemented.
Осуществление изобретенияImplementation of the invention
Суть настоящего изобретения, способ для достижения сути изобретения станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.The gist of the present invention, the method for achieving the gist of the invention will become apparent by referring to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, but may be embodied in various forms. The foregoing description is intended to assist a person skilled in the art in a thorough understanding of the invention, which is defined only within the scope of the appended claims.
ГлоссарийGlossary
Информационная система (англ. information system, ИС) - совокупность вычислительных устройств и используемых для их связи коммуникаций.Information system (English information system, IS) - a set of computing devices and communications used for their communication.
Киберфизическая система (англ. cyber-physical system, КФС) - информационно-технологическая система, интегрирующая вычислительные ресурсы в физические процессы. Примерами киберфизической системы являются автоматизированные системы управления технологическими процессами, интернет вещей (в том числе носимые устройства), промышленный интернет вещей.A cyber-physical system (CFS) is an information technology system that integrates computing resources into physical processes. Examples of a cyber-physical system are automated process control systems, the Internet of Things (including wearable devices), and the industrial Internet of Things.
Технологический процесс (ТП) - физический процесс, сопровождающийся потоком телеметрии.Technological process (TP) - a physical process, accompanied by a stream of telemetry.
Телеметрия - телеметрия физических процессов КФС (значения технологических параметров, уставок, управляющих параметров).Telemetry - telemetry of CFS physical processes (values of technological parameters, settings, control parameters).
Технологический параметр (англ. Process Variable, PV) - текущее измеренное значение определенной части ТП, которое наблюдается или контролируется. Технологическим параметром может быть, например, измерение датчика.Process Variable (PV) - the current measured value of a certain part of the TP, which is observed or controlled. The process variable can be, for example, a sensor measurement.
Уставка (англ. setpoint) - поддерживаемое значение технологического параметра.Setpoint - the supported value of the technological parameter.
Управляемый параметр (англ. Manipulated Variable, MV) - параметр, который регулируется для того, чтобы значение технологического параметра поддерживалось на уровне уставки.Manipulated Variable (MV) is a variable that is adjusted to keep the process variable at the setpoint.
Объект - объект мониторинга, ИС или КФС.Object - monitoring object, IS or FSC.
Событие - это неразвивающееся атомарное изменение в состоянии объекта, которое характеризуется моментом времени, когда изменение произошло, и набором полей (полей события), значения которых описывают состав изменения.An event is a non-developing atomic change in the state of an object, which is characterized by the moment in time when the change occurred and a set of fields (event fields) whose values describe the composition of the change.
Паттерны (англ. pattern - шаблон, образец) - последовательности элементов (событий или других паттернов), на которые разбивается поток событий от объекта мониторинга, соответствующие отдельным подпроцессам в работе объекта. Один паттерн соответствует двум последовательностям из одинакового набора элементов при условии, что у двух последовательностей элементов интервалы между элементами находятся в заданных пределах и/или порядок элементов варьируется в заданных пределах, в частности когда состав и порядок элементов строго соблюден, а интервалы между элементами варьируются в заданных пределах. В случае, когда паттерн состоит из других паттернов, такой паттерн называют составным или просто паттерном, а другие паттерны называют вложенными. Такая иерархическая вложенность паттернов называется структурой паттерна. Каждый паттерн через вложенные паттерны может быть представлен как последовательность событий.Patterns are sequences of elements (events or other patterns) into which the stream of events from the monitoring object is divided, corresponding to individual subprocesses in the operation of the object. One pattern corresponds to two sequences from the same set of elements, provided that the intervals between the elements of the two sequences of elements are within the specified limits and / or the order of the elements varies within the specified limits, in particular when the composition and order of the elements are strictly observed, and the intervals between the elements vary in given limits. In the case when a pattern consists of other patterns, such a pattern is called a compound or just a pattern, and other patterns are called nested. This hierarchical nesting of patterns is called pattern structure. Each pattern, through nested patterns, can be represented as a sequence of events.
Паттерны могут быть повторяющимися (но не обязательно периодическими) или новыми (имевшими место один раз). Повторяющиеся паттерны характеризуют выученную работу объекта в течение времени мониторинга. Новое событие, или новый паттерн, или новая часть структуры паттерна указывает на аномалию в работе объекта - событие или последовательность событий, которые ранее не наблюдались.Patterns can be repetitive (but not necessarily periodic) or new (occurred once). Repeating patterns characterize the learned work of the object during the monitoring time. A new event, or a new pattern, or a new part of the pattern structure indicates an anomaly in the operation of the object - an event or sequence of events that was not previously observed.
Для отслеживания событий и паттернов система представляет специальный механизм (технологию вместе с программным и пользовательским интерфейсом), который позволяет оповещать пользователя или другие системы о наступлении определенных статистических и категориальных условий. Например, оповещение выполняется, если паттерн или событие, удовлетворяющее некоторым критериям на значения полей событий и их новизну, встречается на заданном скользящем окне количество раз, превышающее заданный порог. Наиболее общее же понятие аномалии в рамках данной системы - это событие или паттерн, которые встретились первый раз. Если система начинает работу «с чистого листа», то все события и паттерны поначалу будут встречаться первый раз. Поэтому, прежде чем включать оповещения, целесообразно предоставить системе некоторое время (зависящее от объекта мониторинга), «послушать» поток событий и сформировать набор паттернов и событий, характерных для работы (обычно нормальной) объекта.To track events and patterns, the system provides a special mechanism (technology along with a software and user interface) that allows you to notify the user or other systems about the occurrence of certain statistical and categorical conditions. For example, an alert is triggered if a pattern or event that satisfies certain criteria for the values of the event fields and their novelty occurs on a given sliding window a number of times that exceeds a given threshold. The most general concept of an anomaly within a given system is an event or pattern that has met for the first time. If the system starts from scratch, then all events and patterns will first occur for the first time. Therefore, before turning on notifications, it is advisable to give the system some time (depending on the monitored object), “listen” to the flow of events and form a set of patterns and events typical for the operation (usually normal) of the object.
Процессор событий - предлагаемое техническое решение и компонент на его основе, предназначенный для обработки событий в КФС или ИС. Процессор событий может быть аппаратным процессором, пример которого представлен на Фиг. 12 (процессор 21), функционально модифицированным для выполнения заданного функционала, либо программным модулем, исполняющимся на аппаратном процессоре, который выполнен с возможностью реализации заданного функционала. В частном случае аппаратный процессор для процессора событий может быть реализован в виде специального нейроморфного процессора, содержащего множество элементов, соответствующих нейронам импульсной сети или ее разновидностям, которые могут в массивно-параллельном режиме вести обработку входных сигналов и генерировать выходные сигналы.An event processor is a proposed technical solution and a component based on it, designed to process events in a CPS or IS. The event processor may be a hardware processor, an example of which is shown in FIG. 12 (processor 21 ), functionally modified to perform the specified functionality, or by a software module executing on a hardware processor that is configured to implement the specified functionality. In a particular case, the hardware processor for the event processor can be implemented as a special neuromorphic processor containing many elements corresponding to the neurons of the impulse network or its varieties, which can process input signals in a massively parallel mode and generate output signals.
Внимание - опция, указывающая системе направления в общем потоке событий, среди которых процессором событий будет вестись поиск паттернов.Attention - an option that indicates to the system directions in the general flow of events, among which the event processor will search for patterns.
Направление внимания - фильтр на потоке событий, выделяющий события, по значениям полей (одно или более, в том числе возможно и динамическое их задание). Для определенного направления внимания процессор событий ведет поиск паттернов только среди событий, в каждом из которых присутствуют заданные значения полей. Процессор событий может иметь множество направлений внимания.Direction of attention - a filter on the flow of events, highlighting events by field values (one or more, including their dynamic setting is possible). For a certain direction of attention, the event processor searches for patterns only among events, each of which contains the specified field values. An event processor can have many directions of attention.
Предиктивный детектор - средство для анализа телеметрии физических процессов, функционирующее по принципу предсказательной модели на основе нейронных сетей и других методов машинного обучения.A predictive detector is a tool for analyzing the telemetry of physical processes that operates on the principle of a predictive model based on neural networks and other machine learning methods.
Диагностические правила - решения для анализа телеметрии физических процессов, используемые в случаях, когда критерии аномалий определены и формализованы.Diagnostic rules - solutions for the analysis of telemetry of physical processes, used in cases where the criteria for anomalies are defined and formalized.
SIEM (англ. security information and event management) - система, которая обеспечивает анализ событий информационной безопасности (ИБ), исходящих от сетевых устройств и приложений, в реальном времени.SIEM (English security information and event management) is a system that provides real-time analysis of information security (IS) events from network devices and applications.
Нейросемантическая сетьneurosemantic network
В настоящем изобретении предложено решение задачи выявления (распознавания и/или создания новых) паттернов и, соответственно, обнаружения аномалий в потоке событий на основе применения нейросемантической сети, предложенной в работах [1, 2], которая по своей природе ближе всего к импульсной (англ. spiking) нейронной сети.The present invention proposes a solution to the problem of identifying (recognizing and / or creating new) patterns and, accordingly, detecting anomalies in the flow of events based on the use of the neurosemantic network proposed in [1, 2], which by its nature is closest to the impulse (Eng. .spiking) neural network.
Нейроны нейросемантической сети, так же как и нейроны импульсной нейронной сети, активируются входными импульсами. Однако нейрон нейросемантической сети обладает важным отличием - он чувствителен к порядку и интервалам между активациями своих входов. Данное свойство делает нейросемантическую сеть высокоэффективным инструментом для работы с потоками событий, выявления в них устойчивых последовательностей, тем самым предоставляя пользователю структуру причинно-следственных связей событий от объекта мониторинга, а также для выявления новых событий и новых последовательностей событий как признаков возможных отклонений от выученного до этого нормального поведения (функционирования) объекта.The neurons of the neurosemantic network, as well as the neurons of the impulse neural network, are activated by input impulses. However, the neuron of the neurosemantic network has an important difference - it is sensitive to the order and intervals between activations of its inputs. This property makes the neurosemantic network a highly effective tool for working with event streams, identifying stable sequences in them, thereby providing the user with a structure of cause-and-effect relationships of events from the monitored object, as well as for identifying new events and new sequences of events as signs of possible deviations from the learned to this normal behavior (functioning) of the object.
Традиционная, или классическая нейронная сеть, применяемая в предиктивных моделях, представляет собой аппроксиматор непрерывной функции большого числа переменных. В каждый момент времени выход классической нейронной сети определяется значениями ее входных параметров.The traditional or classical neural network used in predictive models is an approximator of a continuous function of a large number of variables. At each point in time, the output of a classical neural network is determined by the values of its input parameters.
Импульсная нейронная сеть устроена иначе: данные в ней распространяются в виде спайков - мгновенных возбуждений нейронов, причем в нейросемантической сети очередность возникновения спайков на входах нейрона и интервалы между приходами спайков имеют определяющее значение для генерации нейроном его собственного спайка. Легко заметить, что спайки интуитивно похожи на события.An impulse neural network has a different structure: the data in it is distributed in the form of spikes - instantaneous excitations of neurons, and in the neurosemantic network, the sequence of occurrence of spikes at the inputs of a neuron and the intervals between spike arrivals are of decisive importance for the generation of its own spike by a neuron. It is easy to see that spikes are intuitively similar to events.
Нейросемантическая сеть начинает работу по выявлению паттернов с чистого состояния, при этом число подлежащих обнаружению паттернов и их длина заранее неизвестны (не задаются), однако можно задать направления внимания нейросемантической сети, чтобы сфокусировать выявление паттернов при обработке событий на определенных событиях и избежать «зашумления» паттернов теми событиями, которые менее актуальны.The neurosemantic network starts its work on identifying patterns from a pure state, while the number of patterns to be detected and their length are not known in advance (they are not set), however, it is possible to set the attention directions of the neurosemantic network in order to focus the detection of patterns during event processing on certain events and avoid “noise” patterns by those events that are less relevant.
У нейросемантической сети нет выделенного периода предварительного обучения. Она постоянно обучается, достраивает и модифицирует свою сеть по мере получения новых событий из потока событий. Если вновь выявленная последовательность событий начинает устойчиво повторяться, она из аномалии превращается в паттерн. И наоборот, если паттерн долго не встречался, нейросемантическая сеть может его «забыть» и тогда следующее появление этой последовательности уже будет расценено как аномалия.The neurosemantic network does not have a dedicated pre-training period. It constantly learns, builds and modifies its network as it receives new events from the event stream. If a newly identified sequence of events begins to repeat itself steadily, it turns from an anomaly into a pattern. And vice versa, if the pattern has not been seen for a long time, the neurosemantic network can “forget” it, and then the next appearance of this sequence will already be regarded as an anomaly.
В настоящем изобретении используется представление события как совокупности значений по некоторому набору полей, определенных для данного объекта. Например, в частном варианте КФС поля события могут быть следующими: имя оператора, терминал оператора, блок установки, состояние блока установки. В другом частном варианте ИС поля события могут быть следующими: имя пользователя, IP-адрес терминала пользователя, IP-адрес сервера в офисной сети, вердикт, выданный сервером на обращение пользователя. Поля событий особым образом ставятся в соответствие входным каналам и нейронам нейросемантической сети.The present invention uses the representation of an event as a set of values for a certain set of fields defined for a given object. For example, in a particular CFS variant, the event fields can be as follows: operator name, operator terminal, installation block, installation block state. In another private variant of the IS, the event fields can be as follows: user name, IP address of the user's terminal, IP address of the server in the office network, verdict issued by the server on the user's request. The event fields are assigned in a special way to the input channels and neurons of the neurosemantic network.
В таком подходе можно указать на аналогию с анализом параметров телеметрии от разных источников, например температуру, давление и уровень заполнения реактора КФС можно рассматривать как три канала (три поля) входной информации.In this approach, one can point to an analogy with the analysis of telemetry parameters from different sources, for example, the temperature, pressure and filling level of the FSC reactor can be considered as three channels (three fields) of input information.
В частном варианте реализации имеется возможность принудительно частично остановить процесс обучения нейросемантической сети за счет остановки создания новых нейронов в сети, отвечающих новым событиям и паттернам. При этом частично обучение все же идет за счет модификации ранее созданных нейронов при их активации при распознавании в потоке событий соответствующих нейронам паттернов, событий или значений полей событий. Такой вариант использования может быть целесообразен в ряде случаев, когда пользователь точно знает, что при обучении сети предъявил все варианты нормального поведения объекта, и хочет «заморозить» это знание, тем самым детектируя как аномалии все новые события и их последовательности, не имевшие места в предъявленном при обучении потоке событий. В таком случае сеть будет пытаться представить новую последовательность событий из ранее имевших место паттернов и событий, не объединяя их в новый паттерн. Если же встретится новое событие, то система попытается представить его в терминах значений полей ранее имевших место событий, не создавая при этом само такое событие. Если же встретится значение поля события, ранее не имевшее место, то сеть не будет активировать ни один свой нейрон и в представлении потока событий в виде известных значений полей событий, событий и паттернов будет пробел. На такой пробел также может быть сформировано оповещение пользователя.In a particular implementation, it is possible to forcibly partially stop the learning process of the neurosemantic network by stopping the creation of new neurons in the network that respond to new events and patterns. At the same time, partly, learning still occurs due to the modification of previously created neurons when they are activated when the patterns, events, or values of event fields corresponding to neurons are recognized in the event stream. Such a use case may be appropriate in a number of cases when the user knows for sure that when training the network he presented all variants of the normal behavior of the object, and wants to “freeze” this knowledge, thereby detecting as anomalies all new events and their sequences that did not take place in the stream of events presented during training. In such a case, the network will try to present a new sequence of events from previously occurring patterns and events, without combining them into a new pattern. If a new event is encountered, the system will try to represent it in terms of the values of the fields of previously occurring events, without creating such an event itself. If a value of the event field is encountered that has not previously taken place, then the network will not activate any of its neurons, and there will be a gap in the representation of the flow of events in the form of known values of the event fields, events and patterns. A user alert can also be generated for such a gap.
В настоящем изобретении основной компонент предложенной системы и способа для выявления структуры паттернов и аномалий в потоке событий, поступающих от КФС или ИС, называют процессором событий.In the present invention, the main component of the proposed system and method for identifying the structure of patterns and anomalies in the flow of events coming from the FSC or IC is called an event processor.
Для приема потока событий используются специализированные коннекторы (программные или программно-аппаратные модули) к источникам событий. В частном варианте реализации событий от подсистемы SIEM это может быть коннектор, поддерживающий передачу событий и их параметров в формате CEF (Common Event Format). В другом частном варианте реализации это могут быть события от брокеров сообщений других подсистем. В еще одном частном варианте это могут быть события от протоколов Active Directory или Net Flow. Вышеприведенные частные варианты реализации не ограничивают возможности применения изобретения к другим источникам событий.To receive the event stream, specialized connectors (software or firmware modules) to event sources are used. In a particular implementation of events from the SIEM subsystem, this can be a connector that supports the transmission of events and their parameters in the CEF (Common Event Format) format. In another particular implementation, these may be events from message brokers of other subsystems. In another particular case, these can be events from the Active Directory or Net Flow protocols. The above particular implementation options do not limit the application of the invention to other event sources.
В частном варианте реализации процессор событий может применяться как самостоятельный детектор, если данные объекта содержат только события. Такое применение характерно, например, для анализа действий сотрудников с целью выявления ошибочных или злоумышленных операций.In a particular implementation, the event processor can be used as a standalone detector if the object data contains only events. Such an application is typical, for example, for analyzing the actions of employees in order to identify erroneous or malicious operations.
Промышленные объекты, как правило, генерируют данные обоих типов (телеметрию процессов и события). В этом случае предиктивные детекторы обнаружения аномалий по потоку телеметрии и процессор событий дополняют друг друга. Аномалии, обнаруженные предиктивным детектором или диагностическим правилом, могут быть проинтерпретированы как события и отправлены в процессор событий наряду с событиями, поступившими непосредственно с объекта мониторинга. Такое двухуровневое детектирование предоставляет пользователям новые возможности по выявлению проблемных ситуаций.Industrial facilities typically generate both types of data (process telemetry and events). In this case, the predictive anomaly detection detectors for the telemetry stream and the event processor complement each other. Anomalies detected by a predictive detector or a diagnostic rule can be interpreted as events and sent to the event processor along with events received directly from the monitored object. This two-level detection provides users with new opportunities to identify problem situations.
В частном практическом примере это может выглядеть следующим образом. Показатели работы компрессора перекачивающей станции описывают непрерывный физический процесс и контролируются предиктивным детектором. Запуск соседнего компрессора вносит существенные искажения в эти показатели и приводит к регистрации аномалии предиктивным детектором. Эта аномалия в качестве события подается на вход процессора событий наряду с командами на запуск соседних компрессоров. При этом между командой запуска соседнего компрессора и выявлением аномалии предиктивным детектором на первом компрессоре нет жесткой связи по времени, так как продолжительность этого интервала в конкретном случае определяется большим числом факторов, в том числе и не наблюдаемых предиктивным детектором. Тем не менее процессор событий выявляет соответствующий паттерн, а в случае нарушения этого паттерна извещает пользователя об аномалии: когда искажения показателей первого компрессора произошли вне контекста запуска другого компрессора или когда запуск соседнего компрессора не вызвал соответствующего изменения в поведении первого.In a particular practical example, this might look like this. Pumping station compressor performance describes a continuous physical process and is monitored by a predictive detector. The start of an adjacent compressor introduces significant distortions in these indicators and leads to the registration of an anomaly by a predictive detector. This anomaly is fed as an event to the input of the event processor along with commands to start neighboring compressors. At the same time, there is no rigid connection in time between the command to start the neighboring compressor and the detection of an anomaly by the predictive detector on the first compressor, since the duration of this interval in a particular case is determined by a large number of factors, including those not observed by the predictive detector. Nevertheless, the event processor detects the corresponding pattern, and if this pattern is violated, it notifies the user about an anomaly: when the distortion of the first compressor's performance occurred outside the context of starting another compressor, or when the start of an adjacent compressor did not cause a corresponding change in the behavior of the first one.
Предиктивный детектор и процессор событий решают одну общую задачу: выявление скрытых аномалий в работе объекта мониторинга, но используют для этого разные виды данных и, как следствие, разные методы машинного обучения. Сравнительные особенности этих типов детекторов сведены в таблице ниже.The predictive detector and the event processor solve one common task: the detection of hidden anomalies in the operation of the monitored object, but they use different types of data for this and, as a result, different machine learning methods. Comparative features of these types of detectors are summarized in the table below.
Таким образом, в настоящем изобретении предлагается решение одной из актуальных проблем из области информационно-управляющих систем, в том числе информационной и промышленной безопасности, - проблемы выявлений аномалий - аномальных событий и аномальных последовательностей событий, а также сопутствующей этому проблемы автоматической интерпретации структуры штатного потока событий на основе выявления паттернов и их структуры в потоке событий от объекта мониторинга - КФС или ИС.Thus, the present invention proposes a solution to one of the urgent problems in the field of information and control systems, including information and industrial security, the problem of detecting anomalies - anomalous events and anomalous sequences of events, as well as the accompanying problem of automatic interpretation of the structure of a regular flow of events based on the identification of patterns and their structure in the flow of events from the monitoring object - FSC or IS.
Состав и способы функционированияComposition and methods of functioning
На Фиг. 1 представлен пример взаимодействия заявленной системы для выявления структуры паттернов и аномалий в потоке событий, поступающих от киберфизической системы или информационной системы 300 (далее - система выявления структуры паттернов и аномалий 300 или система 300), с киберфизической системой 100 (КФС 100), средствами выявления аномалий в телеметрии 200 (включая диагностические правила 201 и предиктивный детектор на основе машинного обучения 202) и информационной системой 400 (ИС 400), а также описан способ работы заявленной системы 300. Примерами КФС 100 являются: системы автоматизации технологических процессов, интернет вещей, промышленный интернет вещей.OnFig. 1 an example of the interaction of the claimed system is presented to identify the structure of patterns and anomalies in the flow of events coming from a cyber-physical system or an information system300 (hereinafter - the system for identifying the structure of patterns and anomalies300 or system300), with cyber-physical system100(FSC100), means of detecting anomalies in telemetry200 (including diagnostic rules201 and predictive detector based on machine learning202) and information system400(IP400), and also describes the method of operation of the claimed system300. Examples of CFS100 are: process automation systems, Internet of things, industrial Internet of things.
Система 300 получает события 500 напрямую от одной или нескольких из следующих систем: КФС 100, ИС 400, от средств обнаружения аномалий в телеметрии 200. События 500 поступают к коннекторам получения событий и предоставления информации об аномалиях и паттернах 304 (далее – коннекторы 304). Коннекторы 304 - программные или программно-аппаратные модули, предназначенные для получения событий, то есть данных о событиях, включающих для каждого события набор значений полей и метку времени события, а также для предоставления информации об аномалиях и паттернах. Причем метка времени события может быть как временем формирования события, временем получения события или другим моментом времени, характеризующим событие. Коннекторы 304 могут быть реализованы в виде сервисов или процессов, исполняющихся на аппаратном процессоре компьютера (см. пример на Фиг. 12). Система 300 может содержать интерфейс пользователя 303, который позволяет осуществлять мониторинг активности нейросемантической сети и делать запросы по истории событий и паттернов. Упомянутая история представляет собой хранящийся в нейросемантической сети и в подсистеме хранения 302 набор специальным образом структурированной информации (структура определяется нейросемантической сетью) о событиях 500 и выявленных паттернах, а также о метках времени. Доступ к истории событий и паттернов может быть обеспечен через интерфейс пользователя 303, пример которого представлен на Фиг. 5. Подсистема хранения 302 может быть представлена памятью (например, памятью 22 или специальным файлом, побитово компактно сохраняющим нейросемантическую сеть, или базой данных со специальными таблицами для хранения структур нейросемантической сети и прочее) и модулем обработки данных в этой памяти, выполненным, например, на аппаратном процессоре компьютера.System300 receives events500 directly from one or more of the following systems: FSC100, IP400, from anomaly detection tools in telemetry200. Events500 come to the connectors for receiving events and providing information about anomalies and patterns304 (hereinafter - connectors304). Connectors304 - software or software and hardware modules designed to receive events, that is, data about events, including for each event a set of field values and an event timestamp, as well as to provide information about anomalies and patterns. Moreover, the time stamp of the event can be either the time the event was generated, the time the event was received, or another point in time characterizing the event. Connectors304 can be implemented as services or processes running on the hardware processor of a computer (see an example onFig. 12). System300 may contain a user interface303, which allows you to monitor the activity of the neurosemantic network and make queries on the history of events and patterns. The mentioned history is stored in the neurosemantic network and in the storage subsystem302 a set of specially structured information (the structure is determined by the neurosemantic network) about events500 and identified patterns, as well as timestamps. Access to the history of events and patterns can be provided through the user interface303, an example of which is shown inFig. 5. Storage subsystem302 can be represented by memory (e.g. memory22 or a special file bit-by-bit compactly storing the neurosemantic network, or a database with special tables for storing the structures of the neurosemantic network, etc.) and a data processing module in this memory, executed, for example, on a computer hardware processor.
Средства выявления аномалий в телеметрии 200 (далее - детекторы 200) получают данные телеметрии от КФС 100 и передают выявленные аномалии в телеметрии в виде событий в систему 300.Tools for detecting anomalies in telemetry200 (hereinafter - detectors200) receive telemetry data from FSC100 and transmit the detected anomalies in telemetry in the form of events to the system300.
В частном варианте реализации детекторы 200 выполнены в виде предиктивного детектора 202 на основе машинного обучения (например, в соответствии с патентами RU2724716, RU2724075, RU2749252, US11175976B2), информация об аномалиях в телеметрии КФС 100 дополнительно включает такие сведения об аномалии в телеметрии, как время выявления (также - детекта или срабатывания) аномалии в телеметрии, временной интервал наблюдения аномалии в телеметрии, основные параметры телеметрии КФС 100 (далее - параметры КФС), внесшие вклад в аномалию в телеметрии, - названия параметров КФС и их значения в момент выявления или на всем интервале аномалии в телеметрии, информацию о способе выявления указанной аномалии в телеметрии в детекторе 200. При этом параметры КФС включают технологические параметры КФС (то есть данные телеметрии КФС 100). Процессор событий 301 обрабатывает поток событий 500 с помощью нейросемантической сети и периодически сохраняет состояние нейросемантической сети в подсистеме хранения 302.In a particular implementation, the detectors 200 are made in the form of a predictive detector 202 based on machine learning (for example, in accordance with patents RU2724716, RU2724075, RU2749252, US11175976B2), information about anomalies in the FSC telemetry 100 additionally includes such information about the anomaly in telemetry, such as time detection (also - detection or operation) of an anomaly in telemetry, the time interval for observing an anomaly in telemetry, the main telemetry parameters of FSC 100 (hereinafter referred to as FSC parameters) that contributed to the anomaly in telemetry, - the names of FSC parameters and their values at the time of detection or on throughout the interval of the anomaly in the telemetry, information on the method of detecting the specified anomaly in the telemetry in the detector 200 . At the same time, the parameters of the FSC include the technological parameters of the FSC (that is, telemetry data of the FSC 100 ). The event processor 301 processes the stream of events 500 with the neurosemantic network and periodically stores the state of the neurosemantic network in the storage subsystem 302 .
В еще одном частном варианте реализации детекторы 200 включают детектор на основе предельных значений (простейшая разновидность диагностического правила 201), с использованием которого определяют аномалию в телеметрии, когда значение по меньшей мере одного параметра КФС из подмножества параметров КФС вышло за пределы предварительно заданного диапазона значений для указанного параметра КФС. При этом указанные диапазоны значений могут быть рассчитаны из значений характеристик или документации для КФС 100 или быть получены от оператора КФС посредством интерфейса обратной связи, например интерфейса пользователя 303.In yet another particular implementation, the detectors 200 include a limit-based detector (the simplest variation of the diagnostic rule 201 ) that determines an anomaly in telemetry when the value of at least one FSC parameter from a subset of FSC parameters is outside a predetermined range of values for the specified FSC parameter. In this case, the specified ranges of values can be calculated from the values of the characteristics or documentation for the FSC 100 or obtained from the operator of the FSC through a feedback interface, such as user interface 303 .
В еще одном частном варианте реализации детекторы 200 включают детектор на основе диагностических правил 201, формируемых путем задания набора параметров КФС, используемых в диагностическом правиле, и способа вычисления значений вспомогательного параметра КФС, являющегося индикатором выполнения критериев данного диагностического правила. В итоге модуль диагностических правил определяет аномалию в телеметрии в КФС по заранее заданным критериям поведения параметров КФС.In another particular implementation, the detectors 200 include a detector based on
На Фиг. 2 представлены компоненты заявленной системы 300.On FIG. 2 shows the components of the claimed system 300 .
В настоящем изобретении применяется подход, ключевым компонентом которого является процессор событий на основе нейросемантической сети 301. Общие принципы работы нейросемантической сети описаны в работах [1, 2]. Принципы применения нейросемантической сети для обработки событий поясняются на Фиг 2-11.The present invention uses an approach whose key component is an event processor based on a neurosemantic network 301 . The general principles of the neurosemantic network are described in [1, 2]. The principles of using the neurosemantic network for event processing are illustrated in Figs 2-11 .
Итак, события 500 поступают в виде потока событий от одной или нескольких из следующих систем: системы 100, детекторов 200 или системы 400 - к коннекторам 304. Данные о событиях 500 представляются в виде набора значений полей и временной метки. Значения полей могут принимать категориальные значения или численные значения. В частном варианте реализации коннектора 304 события 500 могут быть представлены в формате CEF (англ. Common Event Format). В другом частном варианте реализации численные значения полей событий 500 преобразуются в категориальные (символьные), например, путем дискретизации с заданной точностью. В еще одном варианте в нейросемантической сети могут быть встроены специальные слои, которые позволяют сравнивать различные численные значения (см. примеры в работах [1, 2]).Thus, events 500 arrive as a stream of events from one or more of the following systems: system 100 , detectors 200 , or system 400 to connectors 304 . Event data 500 is represented as a set of field values and a timestamp. Field values can take categorical values or numerical values. In a particular implementation of connector 304, events 500 may be in CEF (Common Event Format) format. In another particular implementation, the numerical values of the event fields 500 are converted into categorical (symbolic) values, for example, by sampling with a given precision. In another variant, special layers can be built into the neurosemantic network, which allow comparing different numerical values (see examples in [1, 2]).
Коннекторы 304 также предназначены для формирования (накопления) эпизодов - ограниченной по времени и/или количеству событий последовательности из всего потока событий 500, состоящего из по меньшей мере одного события 500. В одном частном варианте реализации эпизод считается накопленным (сформированным) при выполнении одного из следующих условий:Connectors 304 are also designed to generate (accumulate) episodes - a time-limited and/or event-limited sequence from the entire event stream 500 , consisting of at least one event 500 . In one particular implementation, an episode is considered accumulated (generated) when one of the following conditions is met:
а) время накопления достигло заданного в системной конфигурации 302i порога (например, 1 секунда) - в этом случае эпизод будет включать последовательность из событий, поступивших в течение заданного времени накопления;a) the accumulation time has reached the threshold specified in the
б) количество накопленных (полученных) событий 500 достигло заданного в системной конфигурации 302i порога (например, 4096 событий 500) - в этом случае эпизод будет включать последовательность из поступившего количества событий, ограниченного заданным порогом.b) the number of accumulated (received) events 500 has reached the threshold specified in the
В еще одном частном варианте реализации эпизод считается сформированным при выполнении того из упомянутых условий, которое выполнилось первым.In another particular embodiment, the episode is considered to be formed when one of the above conditions is met, which is fulfilled first.
Упомянутый вариант накопления эпизода целесообразно использовать для фон-неймановской аппаратной архитектуры и последовательной обработки входных событий.It is advisable to use the mentioned variant of episode accumulation for the von Neumann hardware architecture and sequential processing of input events.
В другом частном варианте при использовании массивно-параллельной реализации аппаратной архитектуры может осуществляться обработка каждого отдельного события (когда эпизоды состоят из одного события), что становится целесообразным, когда возможностей аппаратной платформы достаточно, чтобы выполнить параллельную обработку множества событий по всем слоям сети.In another particular embodiment, when using a massively parallel implementation of the hardware architecture, each individual event can be processed (when episodes consist of a single event), which becomes appropriate when the capabilities of the hardware platform are sufficient to perform parallel processing of multiple events across all network layers.
Коннекторы 304 далее передают сформированные эпизоды в процессор событий 301.Connectors 304 then pass the generated episodes to the event processor 301 .
Процессор событий 301 обрабатывает полученные эпизоды с помощью нейросемантической сети и преобразует события 500 в информацию о создании и активации нейронов либо об активации ранее созданных нейронов нейросемантической сети. The event processor 301 processes the received episodes using the neurosemantic network and converts the events 500 into information about the creation and activation of neurons, or about the activation of previously created neurons of the neurosemantic network.
Обработка эпизода включает распознавание ранее выученных нейросемантической сетью событий и паттернов и структуры паттернов, где паттерны - последовательности элементов (событий или вложенных паттернов), в которых порядок элементов соблюден, а интервалы времени между элементами находятся в пределах заданных ограничений, хранящихся в виде нейронов нейросемантической сети, и активацию этих нейронов.Episode processing includes the recognition of events and patterns previously learned by the neurosemantic network and the structure of patterns, where patterns are sequences of elements (events or nested patterns) in which the order of the elements is observed, and the time intervals between the elements are within the specified limits, stored as neurons of the neurosemantic network and activation of these neurons.
Кроме того, обработка эпизода включает обучение нейросемантической сети, заключающееся в создании и активации нейронов, сопоставляемых новым значениям полей событий, новым событиям, а также новым паттернам таким образом, чтобы ранее выученные и новые паттерны нейросемантической сети покрывали все события эпизода. В частном варианте реализации производится покрытие всех событий текущего (обрабатываемого в данный момент) и предыдущих эпизодов наиболее компактным образом в соответствии с принципом работы нейросемантической сети - иерархическим принципом минимизации длины описания.In addition, episode processing includes learning the neurosemantic network, which consists in creating and activating neurons that are associated with new values of event fields, new events, and new patterns in such a way that previously learned and new patterns of the neurosemantic network cover all events of the episode. In a particular implementation, all events of the current (currently being processed) and previous episodes are covered in the most compact way in accordance with the principle of operation of the neurosemantic network - the hierarchical principle of minimizing the description length.
Обработка эпизода также включает отнесение событий и паттернов, соответствующих нейронам нейросемантической сети, к аномалиям в зависимости от количества активаций соответствующего им нейрона.Episode processing also includes classifying events and patterns corresponding to neurons of the neurosemantic network as anomalies depending on the number of activations of the corresponding neuron.
В одном варианте реализации обработка эпизода дополнительно включает выявление событий и паттернов, удовлетворяющих предварительно заданным критериям, и формирование выходной информации (оповещений) об указанных событиях и паттернах, за счет использования специальных нейронов-мониторов нейросемантической сети, которые отслеживают (за счет активации нейронов-мониторов) случаи создания и активации нейронов, соответствующих событиям и паттернам, причем критерии заданы по меньшей мере:In one embodiment, the processing of an episode further includes identifying events and patterns that meet predetermined criteria, and generating output information (alerts) about these events and patterns, through the use of special monitor neurons of the neurosemantic network that track (due to the activation of monitor neurons ) cases of creation and activation of neurons corresponding to events and patterns, and the criteria are given at least:
• на значения полей отдельных событий и событий в паттернах;• on the values of the fields of individual events and events in patterns;
• на признак повторяемости таких событий и паттернов;• on the basis of the recurrence of such events and patterns;
• на скользящий интервал времени для отслеживания таких активаций и количества таких активаций на скользящем интервале времени.• on a sliding time interval to track such activations and the number of such activations on a sliding time interval.
Причем возможно сохранение фактов выявления таких событий и паттернов как истории оповещений, соответствующих заданным критериям.Moreover, it is possible to save the facts of detection of such events and patterns as a history of notifications that meet the specified criteria.
Процессор событий 301 служит для распознавания иерархической вложенности паттернов (структуры паттерна) через иерархию слоев нейросемантической сети, на которых располагаются нейроны, причем на нулевом (терминальном) слое располагаются нейроны значений полей событий, сгруппированные по каналам, соответствующим полям событий, на первом слое располагаются нейроны событий, на втором слое располагаются паттерны, состоящие из событий, на третьем (при наличии) и более высоких слоях (при наличии) располагаются паттерны, состоящие из паттернов предыдущего слоя (вложенных паттернов).The event processor 301 serves to recognize the hierarchical nesting of patterns (pattern structure) through the hierarchy of neurosemantic network layers on which neurons are located, and on the zero (terminal) layer there are neurons of event field values grouped by channels corresponding to event fields, on the first layer there are neurons events, on the second layer there are patterns consisting of events, on the third (if any) and higher layers (if any) there are patterns consisting of patterns of the previous layer (nested patterns).
Результаты обработки эпизода, в частности информацию о создании и активации нейронов, процессор событий 301 сохраняет как часть нейросемантической сети в подсистеме хранения 302 в виде нейронов 302a, сети 302b (связей нейронов), а также линейной от времени, но компактно представленной части информации о составе эпизода 302с (в виде единожды активируемого нейрона для каждого эпизода с точными интервалами между событиями - см. Фиг. 7-10).The results of episode processing, in particular information about the creation and activation of neurons, the event processor 301 stores as part of the neurosemantic network in the storage subsystem 302 in the form of neurons 302a , network 302b (connections of neurons), as well as linear in time, but compactly represented part of the composition information episode 302c (in the form of a once activated neuron for each episode with exact intervals between events - see Fig. 7-10 ) .
Дополнительно в подсистеме хранения 302 хранится:Additionally, the storage subsystem 302 stores:
- информация о специальных нейронах нейросемантической сети, обозначаемых как нейроны-мониторы 302d (см. подробнее Фиг. 6, 11);- information about special neurons of the neurosemantic network, designated as neurons-monitors 302d (see more details Fig. 6, 11 );
- информация об обнаруженных нейронами-мониторами 302d паттернах и аномалиях 600 - детекты нейронов-мониторов 302e (см. подробнее Фиг. 3, 6, 11);- information about patterns and anomalies 600 detected by monitor neurons 302d ;
- информация о конфигурации полей событий 302f;- information about the configuration of event fields 302f ;
- информация о конфигурации внимания 302g (см. подробнее Фиг. 6, 11);- information about the configuration of
- информация о конфигурации эпизода 302h;- episode configuration information 302h ;
- информация о системной конфигурации 302i, включая информацию о гиперпараметрах нейросемантической сети (например, количество слоев, количество входов нейрона на каждом слое);- information about the
- информация о конфигурации интерфейса пользователя 302j (подробнее описанном ниже).- information about the configuration of the user interface 302j (described in more detail below).
Перед началом работы системы 300 может быть определена конфигурация старта системы 300, содержащая определенные конфигурации 302f-302i на момент старта системы 300.Before system 300 starts, a system 300 startup configuration may be defined containing the specific configurations 302f - 302i at the time system 300 started.
Система 300 может включать интерфейс пользователя 303, который содержит следующие элементы согласно конфигурации 302j:System 300 may include a user interface 303 that contains the following elements according to configuration 302j :
- фильтры задания запросов истории паттернов и событий и формы вывода результатов 303a (см. подробнее Фиг. 5);- filters for setting requests for the history of patterns and events and the form for outputting results 303a (see more in Fig. 5 );
- индикаторы состояний мониторов (функционал, предоставляющий возможность мониторинга) на основе нейронов-мониторов 302d, формы просмотра детального состояния мониторов, управление созданием новых и удалением ранее созданных мониторов 303b (см. подробнее Фиг. 6);- indicators of monitor states (functionality that provides the ability to monitor) based on neurons-monitors 302d , forms for viewing the detailed state of monitors, managing the creation of new and deleting previously created monitors 303b (see Fig. 6 for more details);
- элементы управления конфигурациями системы 303c (управляет 302f, 302g, 302h, 302i);- system configuration controls 303c (
- элементы управления коннекторами 303d (см. подробнее Фиг. 3, действие 702);- connector controls 303d (see Fig. 3 , action 702 for details);
- элементы управления циклом работы системы 300 в режиме «сон» 303e (см. подробнее Фиг. 4).- controls for the cycle of operation of the system 300 in the "sleep" mode 303e (see more Fig. 4 ).
Использование интерфейса пользователя 303 позволяет осуществлять мониторинг активности нейросемантической сети и делать запросы по истории событий и паттернов.Using the user interface 303 allows you to monitor the activity of the neurosemantic network and make queries on the history of events and patterns.
На Фиг. 3 представлен основной режим 700 работы заявленной системы 300.On FIG. 3 shows the main mode 700 of operation of the claimed system 300 .
Работа начинается с запуска процессора событий 301 на этапе 701, который может выполняться по действию пользователя 303f (непосредственному либо косвенному - путем задания соответствующей системной конфигурации 302i на момент старта системы 300). Далее, на этапе 703 из подсистемы хранения 302 происходит загрузка в память (например, память с произвольным доступом 25 на Фиг. 12) нейросемантической сети, причем при загрузке учитывают конфигурацию полей событий 302f, конфигурацию внимания 302g, конфигурацию эпизода 302h, системную конфигурацию 302i, а также предыдущее состояние нейросемантической сети: нейроны 302a, сеть 302b, эпизоды 302c, нейроны-мониторы 302d. После загрузки в память процессор событий 301 переходит в режим ожидания поступления эпизода на этапе 704.Work begins with the launch of the event processor301 at the stage701, which can be executed by user action303f (directly or indirectly - by setting the appropriate system configuration302i at system startup300). Next, at the stage703 from the storage subsystem302 loading into memory (for example, random access memory25 onFig. 12) neurosemantic network, and when loading, the configuration of event fields is taken into account302f, attention configuration302g, episode configuration302h, system configuration302i, as well as the previous state of the neurosemantic network: neurons302a, net302b, episodes302c, monitor neurons302d. After loading into memory, the event processor301 enters the waiting mode for an episode to arrive at the stage704.
Поступление событий начинается на этапе 702 с запуска коннекторов 304, который, например, может быть инициирован пользователем (через управление коннекторами 303d - непосредственно или косвенно через конфигурацию при старте системы 300). По накоплению эпизода события 500 передаются в процессор событий 301.The arrival of events begins at step 702 with the launch of the connectors 304 , which can be initiated by the user, for example (via control of the connectors 303d - either directly or indirectly via the system startup configuration 300 ). Upon episode accumulation, events 500 are passed to event processor 301 .
Далее на этапе 705 нейросемантическая сеть процессора событий 301 выполняет обработку эпизода и формирование оповещений нейронами-мониторами 302d о паттернах и аномалиях. Подробнее эти процессы рассмотрены на Фиг. 9а-11. Если при обработке эпизода выполняется условие формирования оповещений нейроном-монитором 302d (подробнее см. Фиг. 6, 11), то на форме монитора 303b в интерфейсе пользователя 303 обновляют соответствующий индикатор срабатывания соответствующего этому монитору нейрона-монитора 302d на текущем скользящем окне, отправляют оповещение об аномалии либо паттерне 600 внешним подписчикам КФС 100 и ИС 400 (например, удаленному серверу, другим КФС или ИС, связанными с указанными), а также выполняют сохранение факта срабатывания 706 - детекта нейрона-монитора 302e в подсистеме хранения 302.Next step705 event processor neurosemantic network301 performs the processing of the episode and the generation of alerts by monitor neurons302d about patterns and anomalies. These processes are discussed in more detail atFig. 9a-eleven. If during the processing of the episode the condition for generating notifications by the monitor neuron is met302d (for details see. Fig. 6, 11), then on the monitor form303b in the user interface303 update the corresponding trigger indicator of the monitor neuron corresponding to this monitor302d on the current sliding window, send an anomaly or pattern alert600 to external CFS subscribers100 and IP400 (for example, to a remote server, other CFS or IS associated with the specified ones), and also perform the preservation of the fact of operation706 - monitor neuron detection302e in the storage subsystem302.
По завершении этапа 705 выполняют сохранение состояния сети на этапе 707: обновляют информацию о нейронах 302a, сети 302b, эпизодах 302c и нейронах-мониторах 302d в подсистеме хранения 302.Upon completion of step 705 , a network state save is performed at step 707 : updating information about neurons 302a , network 302b , episodes 302c and monitor neurons 302d in storage subsystem 302 .
Цикл, состоящий из этапов 704, 705, 707, повторяют до тех пор, пока не вызовется остановка процессора событий 301 на этапе 708. В одном частном случае вызов остановки цикла может производится пользователем через интерфейс пользователя 303. В другом частном случае вызов остановки основного цикла может осуществляться системой 300 в соответствии конфигурацией режима «сон», заданной в составе системной конфигурации 302i. В еще одном частном случае остановка основного цикла может происходить при остановке всей системы 300. В частном варианте реализации подсистема хранения данных 302 дополнительно служит для предоставления возможности перезапуска работы процессора событий после останова с сохранением ранее выученных событий и паттернов.The loop consisting of steps 704, 705, 707 is repeated until the stop of the event processor 301 at step 708 is called. In one particular case, a loop stop call may be made by the user through the user interface 303 . In another particular case, the call to stop the main loop may be made by the system 300 in accordance with the sleep mode configuration specified as part of the
В одном из вариантов реализации подсистемы хранения 302 возможно сохранение состояния нейросемантической сети в специальный файл с битовым кодированием, которое отражает основной принцип функционирования нейросемантической сети - минимальную длину описания (см. работу [1]).In one of the options for implementing the storage subsystem 302, it is possible to save the state of the neurosemantic network to a special file with bit coding, which reflects the basic principle of the functioning of the neurosemantic network - the minimum length of the description (see [1]).
На Фиг. 4 представлен вариант работы заявленной системы 300 в режиме «сон» 800. Режим «сон» позволяет оптимизировать крупномасштабную структуру нейросемантической сети и выявить паттерны и аномалии 600 на больших интервалах, что может быть затруднительно в режиме обработки событий в реальном времени. Такая оптимизация требует дополнительного упорядочивания событий. В одном частном варианте это может быть повторная суммарная обработка ранее обработанных коротких эпизодов. В другом частном варианте это может быть обработка эпизодов, для которых впоследствии были получены опоздавшие события, пришедшие в других эпизодах, но с временными метками, находящимися в пределах времени событий из ранее обработанных эпизодов. В третьем частном варианте вследствие изменения направления внимания может быть необходимо повторно обработать часть истории эпизодов на предмет поиска паттернов с новыми направлениями внимания. Приведенные варианты представлены для примера и не ограничивают возможности использования режима «сон» для оптимизации крупномасштабной структуры нейросемантической сети.On FIG. 4 shows an embodiment of the claimed system 300 in sleep mode 800 . The "sleep" mode allows you to optimize the large-scale structure of the neurosemantic network and identify patterns and anomalies 600 at large intervals, which can be difficult in the real-time event processing mode. This optimization requires additional ordering of events. In one particular embodiment, this may be a re-cumulative processing of previously processed short episodes. In another particular variant, this may be the processing of episodes for which late events were subsequently received that arrived in other episodes, but with timestamps that are within the time of events from previously processed episodes. In a third particular variant, due to a change in the direction of attention, it may be necessary to reprocess part of the history of episodes in order to search for patterns with new directions of attention. The above options are presented as an example and do not limit the possibility of using the "sleep" mode to optimize the large-scale structure of the neurosemantic network.
Режим «сон» 800 работает в цикле. В частном варианте реализации в одном цикле обрабатывают интервал истории эпизодов, задаваемый в составе конфигурации системы 300. Например, если размер эпизода задан как 4096 событий или 4 секунды ожидания, интервал одного цикла режима «сон» может равняться 100 эпизодам и охватывать интервал истории в 400 секунд времени по часам источника данных.Sleep mode 800 works in a loop. In a particular implementation, the episode history interval specified as part of the system configuration 300 is processed in one cycle. For example, if the episode size is set to 4096 events or 4 seconds of wait, the interval of one sleep cycle can be 100 episodes and span a history interval of 400 seconds of data source clock time.
Еще одним набором параметров в составе системной конфигурации 302i системы 300 являются параметры, определяющие, когда и на какое время система 300 может переходить в режим «сон». В одном частном варианте это может быть время суток, когда поток событий наименее интенсивен (например, в период 01:00-06:00), и на время выполнения цикла в режиме «сон» возможна приостановка основного режима 700 обработки событий в реальном времени. При этом события 500 могут временно накапливаться в составе коннекторов 304 с целью их последующей обработки после выхода из режима «сон». В другом частном варианте, когда вычислительных ресурсов системы 300 хватает с запасом на обработку потока событий в реальном времени, часть ресурсов может быть передана на параллельное выполнение циклов в режиме «сон».Another set of parameters within
Цикл режима «сон» 800 начинается с выбора очередного интервала истории эпизодов на этапе 801. В частном варианте система 300 может запоминать окончание предыдущего интервала цикла в режиме «сон» и начинать новый цикл в режиме «сон» с последующего интервала. В другом частном варианте система 300 может сохранять признаки тех эпизодов, которые по разным причинам (например, по запросу пользователя) следует оптимизировать. В одном варианте признаком необходимости оптимизации эпизода является слишком малое количество событий в эпизоде, полученном в реальном времени. В другом варианте признаком необходимости оптимизации эпизода может являться смена направлений внимания пользователем. В еще одном варианте признаком необходимости оптимизации эпизода является малое количество событий в составе эпизода по одному или нескольким направлениям внимания.The sleep cycle 800 begins with the selection of the next episode history interval at step 801 . In a particular embodiment, system 300 may remember the end of a previous sleep cycle interval and begin a new sleep cycle at a subsequent interval. In another particular embodiment, the system 300 may store features of those episodes that for various reasons (eg, at the request of the user) should be optimized. In one embodiment, an indication that an episode needs to be optimized is too few events in a real-time episode. In another embodiment, a change in the directions of attention of the user may be a sign of the need to optimize the episode. In yet another embodiment, an indication of the need to optimize the episode is a small number of events in the composition of the episode in one or more directions of attention.
Вторым шагом 802 цикла в режиме «сон» является перевод нейронов-мониторов 302d в режим «сон». Нейроны-мониторы 302d настраиваются на различение источников данных, на которых выявляются паттерны и аномалии. Если паттерн или аномалия были выявлены на интервале истории, повторно обрабатываемого в режиме «сон», то оповещение не формируется или формируется только для исключительных случаев, например связанных с паттернами, выявленными на больших интервалах времени или на новых направлениях внимания. Если же паттерны выделяют в работающем в реальном времени, параллельно с режимом «сон» 800, основном режиме обработки событий 700, то оповещение выполняется.The second step 802 of the sleep cycle is to put monitor neurons 302d into sleep mode. Monitor neurons 302d are tuned to distinguish between data sources on which patterns and anomalies are detected. If a pattern or anomaly was detected during a history interval reprocessed in the "sleep" mode, then an alert is not generated or generated only for exceptional cases, for example, those associated with patterns detected over long time intervals or in new directions of attention. If the patterns are selected in real time, in parallel with the "sleep" mode 800, the main event processing mode 700 , then the notification is performed.
Основным этапом 803 цикла в режиме «сон» является оптимизация крупномасштабной структуры интервала истории эпизодов и паттернов нейросемантической сети. При этом происходит повторная обработка полученных на этом интервале событий 500, объединение их в более длинные, оптимальные для данного объекта и нейросемантической сети эпизоды. Например, эпизоды в 4 секунды, получившие по 100 событий, объединяются в длинные эпизоды по 4096 событий или, если общее количество событий на интервале меньше, то объединяется доступное на интервале количество событий. Отметим, что оптимальность числа 4096 элементов в эпизоде нейросемантической сети поясняется в работе [1]. Также на интервале происходит повторная обработка паттернов. При этом учитывается текущая конфигурация внимания 302g. В процессе перестройки паттернов, нейросемантическая сеть может обнаружить более оптимальные паттерны, равно как и паттерны, охватывающие более длительные промежутки времени. Оптимальность паттерна является ключевой характеристикой работы нейросемантической сети (см. подробнее в работе [1] и на Фиг. 7) и определяется атрибутами нейрона, соответствующего паттерну, и в первую очередь следующими атрибутами: количеством активаций (w), количеством составляющих паттерн вложенных паттернов или событий (k) и количеством их активаций (wp), количеством значений полей всех событий паттерна (l) (см. подробнее в работе [1]).The main step 803 of the sleep cycle is to optimize the large-scale structure of the episode history interval and patterns of the neurosemantic network. In this case, the events 500 received in this interval are reprocessed, and they are combined into longer episodes that are optimal for the given object and the neurosemantic network. For example, episodes of 4 seconds that received 100 events each are combined into long episodes of 4096 events or, if the total number of events in the interval is less, then the number of events available in the interval is combined. Note that the optimality of the number of 4096 elements in an episode of a neurosemantic network is explained in [1]. Patterns are also reprocessed on the interval. This takes into account the current 302g attention configuration. In the process of restructuring patterns, the neurosemantic network can find more optimal patterns, as well as patterns that cover longer periods of time. Pattern optimality is a key characteristic of the neurosemantic network operation (see [1] and Fig. 7 for more details) and is determined by the attributes of the neuron corresponding to the pattern, and primarily by the following attributes: the number of activations ( w ), the number of nested patterns that make up the pattern, or events ( k ) and the number of their activations ( wp ), the number of field values of all pattern events ( l ) (for more details, see [1]).
Следующим этапом 804 является сохранение состояния нейросемантической сети после оптимизации интервала истории (нейроны 302a, сеть 302b, эпизоды 302с, нейроны-мониторы 302d с учетом их режима «сон»).The next step 804 is to save the state of the neurosemantic network after optimizing the history interval (neurons 302a , network 302b , episodes 302c, monitor neurons 302d given their sleep mode).
После этого происходит возврат нейронов-мониторов 302d в основной режим на этапе 805, и цикл «сон» 800 повторяется. Остановка цикла и выход из режима «сон» происходит на этапе 806 согласно выбранному управлению режимом «сон» 303e.After that, the neurons-monitors return.302d to main mode at the stage805, and the "sleep" loop800 repeats. The loop is stopped and the sleep mode is exited at the stage806according to the selected sleep control303e.
Отметим, что на этапах 705 (обработка эпизода) и 803 (оптимизация крупномасштабной структуры интервала) дополнительно может выполняться операция периодического удаления редко используемых нейронов нейросемантической сети (на Фиг. 3 и 4 не отображена), соответствующих некоторым паттернам, которые были созданы на некотором слое, но не были использованы в покрытии эпизодов (кодировании) на этом слое нейросемантической сети, т.к. нейросемантическая сеть выявила другие паттерны, которые лучше покрывают наблюдаемые последовательности событий (например, те, которые чаще встречаются в потоке событий и следовательно являются преимущественными для минимизации длины описания всего информационного потока, т.е. для выполнения основного принципа кодирования информации в нейросемантической сети (см. работу [1]). Эта операция позволяет оптимизировать объем нейронов в сети и соответственно существенно снизить потребности в ресурсах подсистемы хранения 302, не теряя при этом существенной части статистической информации по событиям и паттернам в истории.Note that at steps 705 (episode processing) and 803 (optimization of the large-scale structure of the interval), the operation of periodically removing rarely used neurons of the neurosemantic network (not shown in Figs. 3 and 4 ) corresponding to some patterns that were created on a certain layer can additionally be performed. , but were not used in episode coverage (coding) on this layer of the neurosemantic network, since The neurosemantic network has identified other patterns that better cover the observed sequences of events (for example, those that are more common in the event stream and therefore are advantageous for minimizing the length of the description of the entire information stream, i.e. for fulfilling the basic principle of information encoding in the neurosemantic network (see This operation makes it possible to optimize the volume of neurons in the network and, accordingly, significantly reduce the need for resources of the storage subsystem 302 without losing a significant part of the statistical information on events and patterns in the history.
На Фиг. 5 представлен способ 900 обработки запросов пользователя по истории событий и паттернов заявленной системы 300.On FIG. 5 shows a method 900 for processing user queries on the history of events and patterns of the claimed system 300 .
Интерфейс пользователя 303 системы 300 предоставляет фильтры запросов истории паттернов и событий, а также формы вывода результатов 303a.The user interface 303 of the system 300 provides pattern and event history query filters and result output forms 303a .
Пользователь системы 300 (например, оператор КФС или ИС) задает фильтры запроса истории событий и паттернов на этапе 901. Для этого пользователь:A user of the system 300 (eg, a FSC or IS operator) sets event and pattern history query filters at step 901 . To do this, the user:
- указывает интервал времени поиска;- indicates the search time interval;
- определяет, выполняет ли он поиск отдельных событий или же паттернов;- determines whether it searches for individual events or patterns;
- определяет, интересуют ли его только новые события или паттерны или же и те, которые активировались несколько раз;- determines whether it is only interested in new events or patterns, or also those that have been activated several times;
- при запросе по истории паттернов определяет опцию «внимание» по крайней мере для одного поля из состава тех полей, которые указаны в конфигурации направлений внимания 302g; при запросе по истории событий опция «внимание» не указывается;- when querying by pattern history, defines the "attention" option for at least one field from the composition of those fields that are specified in the configuration of
- определяет желаемые фильтры на значения полей отдельных событий или событий, встречающихся в паттернах; фильтр может быть задан списком желаемых значений либо регулярным выражением; дополнительно для поля с опцией «внимание» при поиске паттернов может быть выбран вариант фильтра «все значения» - в таком случае будут использоваться те значения, что определены в конфигурации внимания 302g по этому полю для системы 300.- defines the desired filters on the values of the fields of individual events or events occurring in patterns; the filter can be specified as a list of desired values or as a regular expression; additionally, for the field with the “attention” option, when searching for patterns, the filter option “all values” can be selected - in this case, the values defined in the
На этапе 902 запрос пользователя обрабатывает система 300 с использованием сохраненных состояний нейронов 302a, сети 302b, эпизодов 302с, и выдает пользователю результат, содержащий найденные события и паттерны, с возможностью указания соответствующих им номеров нейронов, количества их активаций, даты последней активации. В случае паттернов слоев 3 и выше нейросемантической сети (см. Фиг. 7-10) для паттерна указывают составляющие его вложенные паттерны предыдущего слоя, которые в свою очередь рекурсивно могут быть раскрыты до составляющих их событий и значений полей этих событий. В одном частном варианте результаты 902 могут быть представлены в табличном виде; табличный вид пользователь задает конфигурацией интерфейса пользователя 302j.At step 902 , the user's request is processed by the system 300 using the stored states of neurons 302a , network 302b , episodes 302c , and gives the user a result containing the found events and patterns, with the ability to indicate the numbers of neurons corresponding to them, the number of their activations, and the date of the last activation. In the case of patterns of layers 3 and above of the neurosemantic network (see Fig. 7 - 10 ), for the pattern indicate its constituent nested patterns of the previous layer, which in turn can be recursively expanded to their constituent events and the values of the fields of these events. In one particular embodiment, the results 902 may be presented in tabular form; the table view is specified by the user by configuring the user interface 302j .
В другом частном варианте результат поиска событий может быть представлен в виде направленного ациклического графа, для чего пользователь задает конфигурацию полей событий 302f, в которой указывает семантические отношения полей: какие поля события считать началом графа, какие - внутренними вершинами, и какие - конечными вершинами графа. Например, для частного варианта полей: «пользователь», «компьютер» пользователя, «система», к которой пользователь обращается, и полученный на это обращение «вердикт» - узлы графа отношений могут быть построены по принципу: 1) какой «пользователь», 2) с какого «компьютера», 3) в какую «систему» обратился и 4) какой получил «вердикт». Возможные представления результатов не ограничиваются приведенными выше примерами.In another particular variant, the event search result can be represented as a directed acyclic graph, for which the user sets the configuration of event fields 302f , in which he indicates the semantic relations of the fields: which event fields are considered the beginning of the graph, which are internal vertices, and which are end vertices of the graph . For example, for a particular variant of the fields: "user", "computer" of the user, "system" to which the user accesses, and the "verdict" received for this appeal - the nodes of the relationship graph can be built according to the principle: 1) which "user", 2) from which “computer”, 3) to which “system” he turned and 4) which received the “verdict”. The possible representations of the results are not limited to the above examples.
На Фиг. 6 представлен способ 1000 обработки запросов пользователя на создание нового нейрона-монитора 302d на этапе работы системы 300.On FIG. 6 shows a method 1000 for handling user requests to create a new monitor neuron 302d during system operation 300 .
Пользователь заполняет форму 303b интерфейса пользователя 303 на создание нового монитора 1001, при этом монитор сохраняется в системе 300 как нейрон-монитор 302d. Для этого пользователь заполняет следующие параметры монитора:The user fills out the form 303b of the user interface 303 to create a new monitor 1001 , the monitor being stored in the system 300 as neuron-monitor 302d . To do this, the user fills in the following monitor parameters:
- имя монитора, понятное пользователю;- name of the monitor understandable to the user;
- интервал скользящего окна - нейрон-монитор 302d на заданном скользящем окне подсчитывает количество своих активаций;- sliding window interval - the neuron-monitor 302d on a given sliding window counts the number of its activations;
- порог срабатывания на количество активаций нейрона-монитора 302d на скользящем окне - при превышении этого порога нейрон-монитор 302d формирует и высылает оповещение о выявленных паттернах или аномалиях, которое система 300 доставляет во внешние системы КФС 100 и ИС 400, а также сохраняет в подсистеме хранения 302 в виде детекта нейрона-монитора 302e;- triggering threshold for the number of activations of the neuron-monitor 302d on the sliding window - when this threshold is exceeded, the neuron-monitor 302d generates and sends an alert about detected patterns or anomalies, which the system 300 delivers to the external systems FSC 100 and IS 400 and also stores in the subsystem storing 302 as a monitor neuron detection 302e ;
- размер стека активаций - емкость стека, в котором нейрон-монитор 302d будет временно сохранять информацию о последних событиях или паттернах, которые активировали нейрон-монитор 302d, и моменте времени активации.- activation stack size - the capacity of the stack in which monitor neuron 302d will temporarily store information about the last events or patterns that activated monitor neuron 302d and the activation time.
Также пользователь задает фильтры подписки, определяющие условия, при наступлении которых нейрон-монитор будет активирован:The user also sets subscription filters that determine the conditions under which the monitor neuron will be activated:
- определяет, будет ли нейрон-монитор 302d подписан на отдельные события или же на паттерны;- determines whether the monitor neuron 302d is subscribed to individual events or patterns;
- определяет, будет ли подписка только на новые события или паттерны или же на события или паттерны, которые случались и ранее;- determines whether the subscription will be only to new events or patterns, or to events or patterns that have happened before;
- определяет поля с опцией «внимание»: а) для подписки на паттерны должно быть задано как минимум одно поле с опцией «внимание», если в конфигурации системы 300 заданы направления внимания, б) для подписки на события опция «внимание» может быть указана для одного или более полей, формируя произвольную временную конфигурацию внимания для подписки нейрона-монитора 302d на события (паттерны по временной конфигурации внимания не строятся). Для каждой новой комбинации значений таких полей, определяющей отдельное направление внимания, нейрон-монитор 302d создает дочерний нейрон-монитор 302d, который будет вести подсчет активаций на события только для этого отдельного направления внимания. Активации дочерних нейронов-мониторов 302d передаются нейросемантической сетью родительскому нейрону-монитору 302d. Для удобства пользователя дочерние нейроны-мониторы 302d могут быть скрыты от пользователя, а об их активациях пользователь будет узнавать через родительский нейрон-монитор 302d. Данный механизм позволяет организовать мониторинг событий по многим значениям полей, которые заранее могут быть неизвестными, при этом не загромождая интерфейс пользователя 303. Например, в одном частном варианте конфигурации полей событий объекта мониторинга, содержащей поля: «имя пользователя», «хост пользователя», «сервер обращения пользователя», «вердикт сервера на обращение пользователя» - и при задании для монитора событий опции «внимание» для поля «имя пользователя» нейрон-монитор 302d сможет отслеживать события по каждому отдельному пользователю (вести по каждому пользователю отдельный подсчет количества активаций), при этом заранее пользователи могут быть неизвестны, т.к. на объекте мониторинга могут появляться новые пользователи;- defines fields with the "attention" option: a) at least one field with the "attention" option must be set for subscribing to patterns, if directions of attention are specified in the system 300 configuration, b) for subscribing to events, the "attention" option can be specified for one or more fields, generating an arbitrary temporal attention pattern for subscribing the monitor neuron 302d to events (patterns are not built based on the temporal pattern of attention). For each new combination of values of these fields that defines a particular direction of attention, monitor neuron 302d creates a child monitor neuron 302d that will count activations for events only for that particular direction of attention. Activations of the child monitor neurons 302d are transmitted by the neurosemantic network to the parent monitor neuron 302d . For the convenience of the user, the child monitor neurons 302d can be hidden from the user, and the user will learn about their activations through the parent monitor neuron 302d . This mechanism allows you to organize event monitoring for many field values that may not be known in advance, while not cluttering the user interface 303 . For example, in one particular variant of the configuration of the event fields of the monitoring object, which contains the fields: "user name", "user host", "server of the user's request", "server verdict on the user's request" - and when setting the "attention" option for the event monitor for fields "username" neuron-monitor 302d will be able to track events for each individual user (to keep a separate count of the number of activations for each user), while users may not be known in advance, because new users may appear on the monitored object;
- определяет желаемые фильтры на значения полей отдельных событий или событий, встречающихся в паттернах. Фильтр может быть задан списком желаемых значений или регулярным выражением. Дополнительно для поля с опцией «внимание» при поиске паттернов может быть выбран вариант фильтра «все значения» - в таком случае будут использоваться те значения поля, которые определены в конфигурации внимания 302g по этому полю для системы 300.- defines the desired filters on the values of the fields of individual events or events occurring in patterns. The filter can be specified as a list of desired values or as a regular expression. Additionally, for a field with the “attention” option, when searching for patterns, the filter option “all values” can be selected - in this case, those field values that are defined in the
Запрос пользователя на создание монитора обрабатывается процессором событий 301 на этапе 1002 на основе информации о нейронах 302a и сети 302b, причем создается специальный нейрон-монитор 302d. При работе системы 300 в основном цикле или в цикле «сон» нейросемантическая сеть процессора событий 301 активирует нейрон-монитор 302d согласно его подпискам (см. пример на Фиг. 11).The user's request to create a monitor is processed by event processor 301 at step 1002 based on information about neurons 302a and network 302b , and a dedicated monitor neuron 302d is created. When the system 300 operates in the main loop or in the sleep loop, the neurosemantic network of the event processor 301 activates the monitor neuron 302d according to its subscriptions (see the example in Fig. 11 ).
Применение нейросемантической сети для обработки событий (Фиг. 7)Application of a neurosemantic network for event processing (Fig. 7)
Нейросемантическая сеть является многослойной. Нумерация основных слоев сети начинается с 0 и заканчивается L_max, где L_max задается как гиперпараметр нейросемантической сети. Обработка событий производится именно на основных слоях сети. Имеется также слой -1 (минус первый) на котором расположены специальные нейроны-мониторы 302d (не отображен на Фиг. 7, см. подробнее Фиг. 11). Следует отметить, что данная нумерация введена для определенности изложения и соответствует принятой в [1] нумерации. Без потери общности формулы изобретения номера слоев могут быть присвоены и другим образом, важна лишь последовательность связей слоев.The neurosemantic network is multi-layered. The numbering of the main layers of the network starts from 0 and ends with L_max , where L_max is set as a neurosemantic network hyperparameter. Event processing is performed exactly on the main layers of the network. There is also layer -1 (minus the first) on which special monitor neurons 302d are located (not shown in Fig. 7 , see Fig. 11 for more details). It should be noted that this numbering was introduced for the sake of clarity of presentation and corresponds to the numbering adopted in [1]. Without losing the generality of the claims, the numbers of the layers can be assigned in another way, only the sequence of the links of the layers is important.
Нейроны на каждом слое с 1 до L_max имеют входы только от нейронов предыдущего слоя. Входы нейронов слоя 0 и слоя -1 формируются иначе - см. ниже.The neurons on each layer from 1 to L_max have inputs only from the neurons of the previous layer. The inputs of neurons in
Слой 0 называется терминальным. На нем расположены терминальные нейроны, которые активируются значениями полей событий. Терминальные нейроны, активирующиеся различными значениями одного и того же поля событий, сгруппированы на терминальном слое по каналам, т.е. канал нейросемантической сети ставится в соответствие полю событий. Таким образом, нейросемантическая сеть имеет столько входных каналов, сколько полей определено у события. В частном варианте использования нейросемантической сети каждый терминальный нейрон имеет только один вход, который отвечает одному значению поля, на которое этот нейрон активируется.
Нейроны-мониторы 302d минус первого слоя, в отличие от нейронов остальных слоев нейросемантической сети, имеют входы, которые могут связывать эти нейроны с выходами нейронов любого слоя, а также с выходами слоев нейросемантической сети. Входы нейронов-мониторов 302d, связывающие их с выходами от слоев нейросемантической сети, позволяют нейронам-мониторам 302d подписаться на создание новых нейронов на этих слоях (см. подробнее на Фиг. 11).The monitor neurons 302d minus the first layer, unlike the neurons of the other layers of the neurosemantic network, have inputs that can connect these neurons with the outputs of neurons of any layer, as well as with the outputs of the layers of the neurosemantic network. The inputs of the monitor neurons 302d connecting them to the outputs from the layers of the neurosemantic network allow the monitor neurons 302d to subscribe to the creation of new neurons on these layers (see Fig. 11 for more details).
Каналы и терминальные нейроны этих каналов служат входами в нейросемантическую сеть. Нейроны-мониторы 302d служат выходами из нейросемантической сети.The channels and terminal neurons of these channels serve as inputs to the neurosemantic network. Monitor neurons 302d serve as outputs from the neurosemantic network.
На слое 1 располагаются нейроны, соответствующие событиям. Нейроны событий имеют входы в количестве, не большем, чем количество каналов (полей событий). Каждый вход нейрона события связан с одним терминальным нейроном, при этом все входы нейрона события связаны с терминальными нейронами из разных каналов.
На слое 2 располагаются нейроны, имеющие в качестве входов события: это нейроны эпизодов истории событий (или нейроны эпизодов) и паттерны (или нейроны паттернов).
Нейрон эпизода создается нейросемантической сетью при подаче на ее вход очередного эпизода и его последующей обработки. Нейрон эпизода имеет количество входов, равное количеству событий в эпизоде. Входы нейрона эпизода позволяют восстановить точную историю событий, т.к. при создании нейросемантической сетью нейрона эпизода в его составе сохраняются точные интервалы между приходом событий, составляющих эпизод (см. подробнее Фиг. 8).An episode neuron is created by a neurosemantic network when the next episode is fed to its input and its subsequent processing. An episode neuron has a number of inputs equal to the number of events in the episode. The inputs of the episode neuron make it possible to reconstruct the exact history of events, since when a neurosemantic network creates an episode neuron, it retains the exact intervals between the arrival of the events that make up the episode (see Fig. 8 for more details).
Нейроны паттернов соответствуют последовательностям событий. На втором слое нейроны паттернов имеют входы от соответствующих нейронов событий на первом слое.Pattern neurons correspond to sequences of events. On the second layer, the pattern neurons have inputs from the corresponding event neurons on the first layer.
На слое 3 и выше также располагаются нейроны паттернов, однако они имеют в качестве входов нейроны паттернов предыдущего слоя. Таким образом, чтобы получить последовательность событий, соответствующую паттерну слоя 3 и выше, необходимо рекурсивно «раскрыть» (англ. expand) каждый вход такого нейрона вплоть до входов со слоя 1 (слоя событий).On layer 3 and above, there are also pattern neurons, but they have as inputs the pattern neurons of the previous layer. Thus, in order to obtain a sequence of events corresponding to the pattern of layer 3 and above, it is necessary to recursively “expand” (English expand) each input of such a neuron up to the inputs from layer 1 (the layer of events).
В частном варианте реализации нейросемантической сети нейроны паттернов сохраняют точную последовательность входов от нейронов предыдущего слоя (нейрон чувствителен к порядку входов). Однако интервалы между входами нейрона допускают вариации: например, если при создании нейрона суммарная длительность интервалов между активациями его входов (далее - длительность нейрона) была равна d, то такой нейрон может соответствовать такой же последовательности событий или паттернов, но с суммарной длительностью в пределах заданного интервала, например равного который зависит от длительности нейрона паттерна d, и гиперпараметра сети σ > 0.In a particular implementation of the neurosemantic network, pattern neurons retain the exact sequence of inputs from the neurons of the previous layer (the neuron is sensitive to the order of inputs). However, the intervals between neuron inputs allow for variations: for example, if, when creating a neuron, the total duration of the intervals between activations of its inputs (hereinafter referred to as the duration of the neuron) was equal to d , then such a neuron can correspond to the same sequence of events or patterns, but with a total duration within the specified interval, for example equal to which depends on the duration of the pattern neuron d , and the network hyperparameter σ > 0 .
В другом частном варианте реализации нейросемантической сети допустимый интервал вариации длительности последовательности (чтобы соответствовать нейрону паттерна длительности d) может определяться метрикой близости нейрона к наблюдаемой последовательности, например на основе распределения Гаусса от длительности паттерна In another particular implementation of the neurosemantic network, the allowable sequence duration variation interval (in order to correspond to a pattern neuron of duration d ) can be determined by a metric of neuron proximity to the observed sequence, for example, based on the Gaussian distribution of the pattern duration
В еще одной частной реализации может быть также определена и метрика близости порядка входов (см. работы [1, 2]).In yet another particular implementation, the proximity metric of the order of inputs can also be defined (see [1, 2]).
На слоях нейросемантической сети при обработке эпизодов процессором событий 301 создаются и затем активируются новые нейроны, если в эпизоде встречаются значения полей событий, события и последовательности событий, ранее не имевшие места. Иначе происходит активация раннее созданных нейронов (с учетом допустимых вариаций интервалов).On the layers of the neurosemantic network, when episodes are processed by the event processor 301 , new neurons are created and then activated if the episode contains values of event fields, events and sequences of events that have not previously taken place. Otherwise, the previously created neurons are activated (taking into account the allowable variations of the intervals).
Выбор тех или иных последовательностей для формирования паттернов определяются иерархическим принципом минимальной длины описания (англ. Hierarchical Minimal Discrepancy Length), см. работы [1, 2], а в частном варианте реализации такого принципа - на основе функционала «силы» нейрона, см. работу [1].The choice of certain sequences for the formation of patterns is determined by the hierarchical principle of the minimum description length (eng. Hierarchical Minimal Discrepancy Length), see works [1, 2], and in a particular implementation of this principle, based on the neuron “strength” functional, see Fig. work [1].
Например, паттерн, которому соответствует нейрон на втором слое, может быть создан на основе нейронов на первом слое, которым соответствуют события эпизода. Для этого выполняется проход скользящим окном длиной, например, от 2 до 8 событий (гиперпараметры сети), по последовательности событий эпизода и для каждого окна, встречающегося впервые, создается новый нейрон паттерна на втором слое. Затем все нейроны, соответствующие таким окнам (вновь созданные или же встреченные ранее созданные на предыдущих эпизодах) сортируются в соответствии с их статистическими свойствами (частотой встречаемости на всем потоке, длиной в терминах полей событий и прочими критериями - см. функционал «силы» в [1]). Отсортированные нейроны используются для полного покрытия последовательности событий эпизода, начиная с самых «сильных» нейронов в начале списка. Те нейроны, которые не использованы в таком покрытии, считаются менее оптимальными, чем использованные, и могут быть удалены для экономии ресурсов сети полностью либо частично (в последнем случае некоторая часть неиспользованных из состава отсортированных, как описано выше, нейронов сохраняется и активируется при их выявлении в потоке событий в расчете что в другом эпизоде они могут оказаться и более оптимальными). Паттерны последующих слоев нейросемантической сети формируются аналогичным образом, однако входной последовательностью для них будут не события, а паттерны предыдущего слоя сети для текущего эпизода.For example, a pattern matched by a neuron in the second layer could be generated based on neurons in the first layer matched by episode events. To do this, a sliding window is passed with a length, for example, from 2 to 8 events (network hyperparameters), through the sequence of episode events, and for each window that occurs for the first time, a new neuron of the pattern is created on the second layer. Then all neurons corresponding to such windows (newly created or encountered earlier created in previous episodes) are sorted according to their statistical properties (frequency of occurrence on the entire stream, length in terms of event fields, and other criteria - see the “strength” functional in [ 1]). The sorted neurons are used to completely cover the sequence of events in an episode, starting with the "strongest" neurons at the top of the list. Those neurons that are not used in such a coverage are considered less optimal than those used, and can be removed to save network resources in whole or in part (in the latter case, some of the unused neurons from the composition sorted as described above are preserved and activated when they are detected). in the flow of events in the expectation that in another episode they may turn out to be more optimal). The patterns of the subsequent layers of the neurosemantic network are formed in a similar way, however, the input sequence for them will not be events, but the patterns of the previous layer of the network for the current episode.
При первом старте процессора событий 301 нейросемантическая сеть имеет только три слоя без нейронов: 0, 1, 2. При поступлении событий на вход нейросемантической сети и их послойной обработке в сеть добавляются новые нейроны и слои от 3 и до L_max - по мере появления соответствующих нейронов паттернов, а также слой -1 - при добавлении пользователем нейронов-мониторов.At the first start of the event processor 301 , the neurosemantic network has only three layers without neurons: 0, 1, 2. When events arrive at the input of the neurosemantic network and their layer-by-layer processing, new neurons and layers from 3 to L_max are added to the network - as the corresponding neurons appear patterns, as well as layer -1 - when the user adds monitor neurons.
На Фиг. 8 представлены нейроны нейросемантической сети и их соответствие значениям полей, событиям, истории эпизодов и паттернам.On FIG. Figure 8 shows the neurons of the neurosemantic network and their correspondence to field values, events, episode history, and patterns.
Общие атрибуты нейрона нейросемантической сети показаны на примере нейрона слоя L. Нейрон идентифицируется номером нейрона и номером слоя. Основными атрибутами являются:The general attributes of a neuron of a neurosemantic network are shown on the example of a layer L neuron. A neuron is identified by a neuron number and a layer number. The main attributes are:
n_n - номер нейрона; n_n - neuron number;
n_l - номер слоя, (для слоя L, n_l = L); n_l - layer number, (for layerL, n_l = L);
v_in - вектор входов от нейронов предыдущего слоя; v_in - vector of inputs from neurons of the previous layer;
v_d - вектор интервалов между активациями входов (какими эти интервалы были при создании данного нейрона); v_d - vector of intervals between activations of inputs (what these intervals were when creating this neuron);
w - количество активаций нейрона; w - number of neuron activations;
v_out - набор выходов к нейронам-мониторам. v_out - a set of outputs to monitor neurons.
Помимо этого есть еще ряд важных атрибутов:In addition, there are a number of other important attributes:
k - количество входов, которое ограничено гиперпараметрами верхнего и нижнего пределов количества входов нейронов на каждом слое нейросемантической сети, задаваемых в составе системной конфигурации 302i, - по умолчанию, например, интервалом [2, 8]; k - the number of inputs, which is limited by the hyperparameters of the upper and lower limits of the number of inputs of neurons on each layer of the neurosemantic network, specified as part of the system configuration302i, - by default, for example, interval [2, 8];
d - длительность, равная сумме интервалов v_d ; d - duration equal to the sum of intervals v_d ;
l - терминальная длина, равная сумме терминальных длин входов; l - terminal length equal to the sum of the terminal lengths of the inputs;
c - канал в случае, если n_l = 0, иначе не определен; c - channel in case n_l = 0, otherwise undefined;
e - тип top-нейрона, если это эпизод или top-паттерн, иначе не определен. Определения top-нейрона эпизода и top-паттерна представлены ниже. e - the type of the top neuron, if it is an episode or a top pattern, otherwise it is not defined. The definitions of the top episode neuron and the top pattern are given below.
Пояснения по этим атрибутам представлены ниже.These attributes are explained below.
На слоях нейросемантической сети при обработке последовательностей событий, поступающих в виде эпизодов, нейросемантической сетью создаются и активируются новые нейроны либо активируются имеющиеся нейроны. Все события эпизода (нейроны слоя 1) объединяют нейросемантической сетью в один top-нейрон эпизода на втором слое сети. On the layers of the neurosemantic network, when processing sequences of events coming in the form of episodes, the neurosemantic network creates and activates new neurons or activates existing neurons. All episode events (neurons of layer 1) are combined by a neurosemantic network into one top-neuron of the episode on the second layer of the network.
Кроме того, если определены направления внимания (см. Фиг. 9б), то выявление паттернов происходит по последовательностям событий, получаемым из полной последовательности событий эпизода путем фильтрации только событий, содержащих значения полей, соответствующие своему направлению внимания. Для каждой такой отфильтрованной последовательности событий на некотором слое нейросемантической сети все выявленные паттерны объединяются в top-паттерн (или в несколько top-паттернов для случая, когда достигнут максимально возможный слой сети, но кодирование не свело эпизод лишь к одному top-нейрону; последнее свойственно для потока событий, содержащего длинные повторяющиеся последовательности, которые при их кодировании приводят на каждом слое сети к повторяющимся паттернам, которые целесообразно так и оставить, не объединяя в еще более длинные паттерны).In addition, if directions of attention are determined (see Fig. 9b ), then pattern detection occurs by sequences of events obtained from the complete sequence of events of the episode by filtering only events containing field values corresponding to their direction of attention. For each such filtered sequence of events on some layer of the neurosemantic network, all detected patterns are combined into a top pattern (or into several top patterns in the case when the maximum possible network layer is reached, but the coding did not reduce the episode to only one top neuron; the latter is typical for a stream of events containing long repeating sequences, which, when they are encoded, lead to repeating patterns on each layer of the network, which it is advisable to leave without combining into even longer patterns).
Для top-нейронов (top-нейронов эпизодов и top-паттернов) определен специальный атрибут e . Для top-паттерна он определяет соответствие направлению внимания. Для top-нейрона эпизода он равен 0. Для нейронов, не являющихся top-нейроном, атрибут e не определен. Следует отметить, что выбор конкретных значений данного атрибута может быть и другим, важен лишь принцип соотнесения top-нейрона c top-нейроном эпизода либо с top-паттерном по направлению внимания.For top neurons (top episode neurons and top patterns), a special attribute e is defined. For the top pattern, it determines the direction of attention matched. For the top neuron of the episode, it is 0. For neurons that are not the top neuron, the e attribute is not defined. It should be noted that the choice of specific values of this attribute may be different, only the principle of correlating the top neuron with the top neuron of the episode or with the top pattern in the direction of attention is important.
Первый интервал v_d[0] в векторе v_d нейрона, как правило, равен нулю. Если это нейрон слоя 0, отвечающий значению поля события, то у него один вход нулевой длительности, т.к. значение поля события не имеет длительности. Если это событие, то входы соответствуют значениям полей и интервалы между ними по принятому в изобретении определению события нулевые. Если же это нейрон эпизода истории событий или нейрон паттерна, то сам нейрон содержит информацию лишь об интервалах между активациями его входов, а информация о том, что было до активации первого входа для такого нейрона, не содержится в самом нейроне. Однако для последнего утверждения имеется исключение, связанное с возможностью существования «переходных» нейронов-паттернов, у которых всего один вход. Семантический смысл «переходных» нейронов поясняется в работе [1]. Эти нейроны «передают» паттерн предыдущего слоя на текущий слой. При этом длительность передаваемого паттерна предыдущего слоя известна и она определяет первый интервал v_d[0] единственного входа «переходного» нейрона. Данная особенность поясняется на Фиг. 10. Такой подход позволяет сохранить все временные интервалы между событиями эпизода при последовательном сопоставлении (кодировании) им нейронов паттернов на слоях нейросемантической сети.The first interval v_d[0] in the neuron's vector v_d is usually equal to zero. If this is a
Правило, согласно которому первый интервал равен нулю, следует учитывать при понимании смысла длительности d нейрона паттерна. Для нейронов слоя 3 и выше в общем случае d не равна длительности последовательности событий, соответствующей данному нейрону и получаемой раскрытием нейрона до слоя 1, т.к. первый вход будет тоже паттерном, который имеет свою длительность, и длительность первого вложенного паттерна не учитывается в длительности d. Нейрон «знает» интервалы лишь между активациями его входов, но «не знает» что было до активации его первого входа (об этом «знает» нейрон первого вложенного паттерна).The rule that the first interval is equal to zero should be taken into account when understanding the meaning of the duration d of the pattern neuron. For neurons of layer 3 and above, in the general case, d is not equal to the duration of the sequence of events corresponding to a given neuron and obtained by opening a neuron to
Следует отметить, что для паттернов, выявленных по заданному направлению внимания (см. Фиг. 9б), на слое 1 из полной последовательности событий эпизода сетью выбираются только те события, которые отвечают направлению внимания. Соответственно, интервалы отсчитываются между выбранными событиями.It should be noted that for the patterns identified in the given direction of attention (see Fig. 9b ), on
Вышесказанное формализуется следующим образом:The above is formalized as follows:
• если (L = 0), или (L = 1), или (L > 1 и k > 1), то интервал v_d[0] = 0;• if ( L = 0 ), or ( L = 1 ), or ( L > 1 and k > 1), then the interval v_d[0] = 0 ;
• если (L > 1), и e не указывает на top-нейрон эпизода (т.е. это нейрон паттерна или top-паттерна), и ( k = 1), то интервал v_d[0] равен длительности нейрона слоя (L – 1).• if ( L > 1 ), and e does not point to the top-neuron of the episode (i.e., it is a pattern or top-pattern neuron), and ( k = 1 ), then the interval v_d[0] is equal to the duration of the layer neuron ( L – 1 ).
Верхняя граница количества входов нейрона k является гиперпараметром слоя нейросемантической сети. Чем больше k , тем быстрее последовательность событий будет закодирована в один top-паттерн некоторого слоя. Для меньшей верхней границы k для такого кодирования потребуется больше слоев нейросемантической сети. Минимальная скорость кодирования соответствует нижней границе k = 2. Кроме того, выше замечено, что могут встречаться «переходные» нейроны с k = 1. В частном варианте применения принципа обучения нейросемантической сети за счет иерархической минимизации длины описания (см. работу [1]), если при обработке эпизода на некотором слое оказалось, что все нейроны-паттерны только что созданы, т.е. активировались всего один раз на данном эпизоде, и значит у всех w = 1, то сеть «сворачивает» их в один top-паттерн эпизода на следующем слое, и количество входов у такого top-паттерна может превышать k (см. подробнее работу [1]). Аналогично top-нейрон, соответствующий эпизоду, может иметь значение атрибута k выше заданной для слоя 2 границы.The upper bound on the number of neuron inputs k is a hyperparameter of the neurosemantic network layer. The more k , the faster the sequence of events will be encoded into one top-pattern of some layer. For a smaller upper bound k, such encoding will require more layers of the neurosemantic network. The minimum encoding rate corresponds to the lower bound k = 2 . In addition, it was noted above that "transitional" neurons with k = 1 can occur. In a particular version of the application of the principle of learning a neurosemantic network due to hierarchical minimization of the description length (see [1]), if during the processing of an episode on a certain layer it turned out that all pattern neurons had just been created, i.e. activated only once on a given episode, which means that all of them have w = 1 , then the network “folds” them into one top-pattern of the episode on the next layer, and the number of inputs for such a top-pattern can exceed k (for more details, see [1 ]). Similarly, the top neuron corresponding to the episode may have the value of the attribute k above the boundary specified for
Атрибут l - терминальная длина нейрона, которая в предлагаемом подходе соответствует количеству значений полей во всей последовательности событий, соответствующей нейрону. Следует отметить, что у некоторых событий могут быть определены не все значения из полного набора полей, соответственно, терминальная длина таких событий будет меньше, чем у событий с полным набором полей.The attribute l is the terminal length of the neuron, which in the proposed approach corresponds to the number of field values in the entire sequence of events corresponding to the neuron. It should be noted that not all values from the full set of fields may be defined for some events; accordingly, the terminal length of such events will be less than for events with the full set of fields.
Атрибут v_out используется нейросемантической сетью для оповещения нейронов-мониторов (см. Фиг. 11) на минус первом слое сети, подписанных на активацию данного нейрона.The v_out attribute is used by the neurosemantic network to notify the monitor neurons (see Fig. 11 ) on the minus first layer of the network, subscribed to the activation of this neuron.
Частный вариант терминального нейрона представлен на Фиг. 8. Как уже указывалось, терминальный нейрон в предлагаемом варианте использования нейросемантической сети для обработки событий имеет один вход k = 1. А значением этого входа v_in[0] является значение поля события. Атрибут c равен номеру канала, соответствующего полю этого значения. Длительность по времени значения поля нулевая: v_d[0] = 0. А терминальная длина единичная (одно значение) l = 1.A particular version of the terminal neuron is shown in Fig. 8 . As already mentioned, the terminal neuron in the proposed use of the neurosemantic network for event processing has one input k = 1 . And the value of this input v_in[0] is the value of the event field. The attribute c is equal to the number of the channel corresponding to the field of this value. The time duration of the field value is zero: v_d[0] = 0 . And the terminal length is unity (one value) l = 1 .
Еще один частный вариант нейрона на Фиг. 8 представлен для нейрона события на слое 1. Количество входов k такого нейрона равно минимум одному и максимум равно количеству полей, определённых в конфигурации системы 300. Все значения полей события случаются одновременно, значит вектор v_d содержит k нулей и суммарная длительность события также нулевая d = 0. Терминальная же длина события равна количеству значений полей, т.е. l = k .Another particular version of the neuron in Fig. 8 is shown for the event neuron on
Еще один частный вариант нейрона на Фиг. 8 представлен для top-нейрона эпизода. В таком случае k равно количеству событий в эпизоде. Входы нейрона v_in указывают на нейроны события эпизода в том порядке, как они встречались в эпизоде. Следует отметить, что если одно и то же событие входит в эпизод несколько раз, то соответствующие элементы v_in указывают на один и тот же нейрон события. Вектор v_d содержит точные интервалы времени между событиями. Первый интервал v_d[0] , соответствующий первому событию в эпизоде, равен нулю, т.к. на уровне нейрона эпизода неизвестно, что было до первого события эпизода. Для top-нейрона эпизода признак e = 0. Также, как указывалось выше, для каждого эпизода создается свой top-нейрон эпизода, даже если вся последовательность событий идентична ранее имевшей место. Эта часть нейросемантической сети растет линейно со временем, но фактически является упорядоченным по времени набором ссылок (входов) на нейроны событий, позволяющим полностью восстановить историю событий.Another particular version of the neuron in Fig. 8 is for the top neuron of the episode. In this case , k is equal to the number of events in the episode. The v_in neuron inputs point to the episode event neurons in the order they occurred in the episode. It should be noted that if the same event enters the episode several times, then the corresponding v_in elements point to the same event neuron. The vector v_d contains the exact time intervals between events. The first interval v_d[0] corresponding to the first event in the episode is equal to zero, because at the level of the episode neuron, it is not known what happened before the first event of the episode. For the top neuron of the episode, the feature e = 0 . Also, as mentioned above, for each episode, a separate top-neuron of the episode is created, even if the entire sequence of events is identical to the previous one. This part of the neurosemantic network grows linearly with time, but in fact it is a time-ordered set of links (inputs) to event neurons, which allows you to completely restore the history of events.
Еще один частный вариант нейрона на Фиг. 8 представлен для нейрона паттерна на слое 2 или выше. Вектор входов v_in указывает на события или нейроны паттернов предыдущего слоя нейросемантической сети. Вектор v_d соответствует интервалам активации входов в момент создания нейрона паттерна. Количество входов регулярного паттерна k находится, например, в интервале [2, 8] (гиперпараметры слоя нейросемантической сети). Для top-паттерна количество входов k может быть выше верхней границы. В отличие от top-нейрона эпизода, где все интервалы между событиями в точности сохранены в векторе v_d , для нейрона паттерна вектор v_d содержит такие интервалы между входами, какими они были при создании нейрона. Если в потоке событий встретится последовательность событий с порядком событий аналогичным тому, который был при создании нейрона, но длительностью последовательности не совпадающей с длительностью нейрона d , нейрон паттерна все же может быть сопоставлен этой последовательности (т.е. активирован) в том случае, если длительность последовательности находится внутри некоторого допустимого интервала, задаваемого, например, какAnother particular version of the neuron onFig. 8presented for a pattern neuron on
где σ > 0 - гиперпараметр нейросемантической сети.where σ > 0 is the neurosemantic network hyperparameter.
Таким образом, эпизод последовательно обрабатывается на слоях нейросемантической сети: путем сопоставления значениям полей событий терминальных нейронов, путем сопоставления событиям нейронов первого слоя, путем создания нейронов top-эпизодов на втором слое, путем сопоставления последовательностям событий нейронов паттернов на втором и выше слоях вплоть до слоя, на котором будет сопоставлен один нейрон top-паттерна или достигнут максимальный слой.Thus, the episode is sequentially processed on the layers of the neurosemantic network: by matching the values of the event fields of the terminal neurons, by matching the events of the neurons of the first layer, by creating top-episode neurons on the second layer, by matching the sequences of events of pattern neurons on the second and higher layers up to the layer , on which one neuron of the top pattern will be matched or the maximum layer will be reached.
В частном варианте реализации сопоставление нейрона при обработке выполняется путем активации нейрона соответствующего слоя, если он найден (распознан), либо путем создания и активации нового нейрона, если наблюдается новое значение поля, событие или паттерн, в зависимости от слоя.In a particular implementation, matching a neuron during processing is performed by activating a neuron of the corresponding layer if it is found (recognized), or by creating and activating a new neuron if a new field value, event or pattern is observed, depending on the layer.
Вышеописанный способ создания нейронов позволяет частично остановить обучение нейросемантической сети за счет принудительного перевода в режим, когда создание новых нейронов не происходит, и все обучение сети происходит только за счет изменения нейронов при их активации (изменяется атрибут нейрона w , отвечающий за количество активаций).The above method of creating neurons allows you to partially stop the training of the neurosemantic network by forcing it into a mode where no new neurons are created, and all network training occurs only by changing the neurons when they are activated (the neuron attribute w is changed, which is responsible for the number of activations).
Также подобный способ обработки эпизодов позволяет выполнить обучение нейросемантической сети «с учителем» за счет специальной подачи на вход целевых (предъявляемых учителем) паттернов и последующей модификации у сформировавшихся для этих паттернов нейронов атрибута w , присваивая ему достаточно большое значение. Это позволяет повысить приоритет данного нейрона при его распознавании на потоке по сравнению с другими нейронами, соответствующими другим паттернам (см. пояснение выше про сортировку нейронов при покрытии эпизода), таким образом гарантируя распознавание именно предъявленного учителем паттерна.Also, a similar method of processing episodes makes it possible to train a neurosemantic network “with a teacher” due to the special input of target (presented by the teacher) patterns and subsequent modification of the attribute w , formed for these patterns, by assigning it a sufficiently large value. This makes it possible to increase the priority of this neuron when it is recognized on the stream compared to other neurons corresponding to other patterns (see the explanation above about sorting neurons when covering an episode), thus guaranteeing recognition of the pattern presented by the teacher.
На Фиг. 9а представлен пример обработки эпизода. В этом примере не определены направления внимания, и паттерны строятся по всем событиям. На представленной схеме видно, что последовательность двух событий E1-E2 встречается дважды, но с разными интервалами времени. Тем не менее для использованного в примере значения гиперпараметра σ = 0.5 длительность второй пары событий E1-E2 находится в пределах интервала и на обе пары активируется один и тот же паттерн P2_1.On FIG. 9a shows an example of episode processing. In this example, directions of attention are not defined, and patterns are built across all events. The presented diagram shows that the sequence of two events E1-E2 occurs twice, but with different time intervals. Nevertheless, for the hyperparameter value σ = 0.5 used in the example, the duration of the second pair of events E1-E2 is within the interval and the same pattern P2_1 is activated for both pairs.
На Фиг. 9б представлен модифицированный по сравнению с Фиг. 9а пример обработки эпизода: определено одно направление внимания - соответствующее значению «u1» поля «user». Соответственно, процессор событий для поиска паттернов отфильтровал из полной входной последовательности только события со значением поля «user», равным «u1», и создал на слое 3 top-паттерн P3_1, имеющий два входа, каждый указывающий на один и тот же паттерн P2_1 слоя 2.On FIG. 9b shows a modified from Fig. 9a an example of episode processing: one direction of attention is defined - corresponding to the value " u1 " of the field " user ". Accordingly, the event processor to search for patterns filtered out from the full input sequence only events with the value of the " user " field equal to " u1 ", and created a top-pattern P3_1 on layer 3, which has two inputs, each pointing to the same pattern P2_1 of the
Фиг. 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. Fig. 10 presents an example of processing time intervals between events and patterns on the layers of a neurosemantic network when processing episode events. Events correspond to layer 1 neurons, which are conditionally designated by one letter: a, b, c, d, e, f - and are located on the time axis in the same order and at the same intervals as they occur within the episode. The neurosemantic network in this example tracks patterns among all episode events (similar to Fig. 9a ). The hyperparameter chosen is σ = 0.5 . The sequence of events ab occurs three times, it corresponds to the pattern p1 on the second layer. The sequence of events cde occurs twice, it corresponds to the pattern p2 on the second layer of the network. The event f occurs once in the episode, and on the second layer it corresponds to the "transitional" pattern p3 with zero duration - like the event itself. On the third layer of the network, the sequence of patterns p1p2 , which occurs twice on the second layer, corresponds to the pattern n1 . But the pattern p3 and the pattern p1 , which starts at time t5 , are transmitted to the third layer through "transitional" neurons with one input - respectively n3 with a duration of 0 and n2 with a duration equal to 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.Within episode event processing, intervals between patterns correspond to the exact intervals between events corresponding to the beginning and end of those patterns. For example, in FIG. 10 , the interval on
Сказанное выше верно лишь на этапе обработки событий эпизода. После окончания обработки событий эпизода точная информация об интервалах между событиями в паттернах не сохраняется. Если после окончания обработки эпизода раскрыть, спускаясь по входам (англ. expand), top-паттерн эпизода top1 до слоя событий, то информация об интервалах между событиями будет восстановлена лишь с определенной точностью. Например, при таком раскрытии top1 на втором слое раскроется в два паттерна p1 одинаковой длины - той, что соответствует моменту создания нейрона этого паттерна, т.е. t3-t1 в данном примере.The above is true only at the stage of processing the events of the episode. After the processing of episode events is completed, the exact information about the intervals between events in the patterns is not saved. If after the end of the processing of the episode, descending the inputs (eng. expand), the top-pattern of the top1 episode to the layer of events, then the information about the intervals between events will be restored only with a certain accuracy. For example, with such an expansion, top1 on the second layer will expand into two patterns p1 of the same length - the one that corresponds to the moment the neuron of this pattern was created, i.e. t3-t1 in this example.
Данная особенность работы с длительностью нейронов паттернов позволяет обобщить информацию во входном потоке до уровня порядка событий при сохранении интервалов между событиями лишь с определенной точностью. Такое обобщение способно отразить реальные процессы в объектах КФС или ИС, при которых времена внутри одинаковых по порядку последовательностей событий могут варьироваться.This feature of working with the duration of pattern neurons allows you to generalize information in the input stream to the level of the order of events while maintaining the intervals between events only with a certain accuracy. Such a generalization is able to reflect real processes in CFS or IS objects, in which the times within identical sequences of events can vary.
Точная информация о всех временах событий во всех эпизодах сохраняется после обработки эпизодов лишь в нейронах top-эпизодов на втором слое сети (см. Фиг. 9а).Accurate information about all the times of events in all episodes is stored after processing the episodes only in the neurons of the top episodes on the second layer of the network (see Fig. 9a ).
На Фиг. 11 представлен пример мониторинга активности нейросемантической сети на основе специального нейрона-монитора 302d на минус первом слое (-1). В частном варианте этого примера нейрон-монитор 302d с именем «Монитор 1» имеет один вход с дендритным деревом. Для каждого узла дендритного дерева при создании нейрона-монитора определяется логика (в частности, логическое «и» или логическое «или»), а дендритное дерево целиком определяет, как может быть активирован нейрон-монитор. Указанные узлы могут быть присоединены к корню (корневому узлу) дендритного дерева. Логика дендритных узлов применяется к значениям полей событий (см. Фиг. 6). Количество входов в узлах дендритного дерева может изменяться в процессе работы сети - например, нейрон-монитор может подписываться на создаваемые в сети новые нейроны, удовлетворяющие некоторым условиям, накладываемым на значения полей событий, соответствующих этим нейронам.On FIG. 11 shows an example of monitoring the activity of a neurosemantic network based on a special monitor neuron 302d on the minus first layer (-1). In a particular variation of this example, monitor neuron 302d named "
В настоящем примере нейрон-монитор 302d «Монитор 1» активируется одним нейроном-событием e1 на слое 1 или (узел «или») созданием новых нейронов событий на слое 1 и при этом (узел «и») имеющих вход от нейрона-значения v1 на слое 0 в канале 0. Если второе условие на новое событие с заданным значением поля выполняется, то «Монитор 1» активируется и при этом запоминает новое созданное событие уже как новый вход в узле «или» от созданного нейрона-события.In the present example, the monitor neuron302d "
Адресная подписка на нейроны в узле «или» позволяет автоматически получать оповещения только от тех нейронов нейросемантической сети, которые попадают в область подписки, существенно снижая нагрузку на использование вычислительных ресурсов технического решения, в отличие от варианта получения оповещений о создании или активации любого нейрона сети и последующей проверки, соответствует ли этот нейрон фильтрам подписки нейрона-монитора 302d.Address subscription to neurons in the “ or ” node allows you to automatically receive notifications only from those neurons of the neurosemantic network that fall into the subscription area, significantly reducing the load on the use of computing resources of the technical solution, in contrast to the option of receiving notifications about the creation or activation of any network neuron and then checking if this neuron matches the subscription filters of monitor neuron 302d .
Однако в случае подписки на слой оповещения приходится получать о создании всех нейронов этого слоя и только потом отфильтровывать те нейроны, которые удовлетворяют дополнительным условиям на значения полей в узле «и».However, if you subscribe to an alert layer, you have to receive about the creation of all the neurons of this layer and only then filter out those neurons that satisfy additional conditions for the field values in the “and” node.
При своей работе нейрон-монитор 302d осуществляет подсчет количества его активаций на скользящем окне. Оповещение пользователя нейроном-монитором 302d производится при превышении заданного порога для количества активаций нейрона-монитора 302d на скользящем окне.During its operation, the monitor neuron 302d counts the number of its activations on the sliding window. The user is notified by the neuron-monitor 302d when a predetermined threshold for the number of activations of the neuron-monitor 302d on the sliding window is exceeded.
При использовании опции «внимание» для поля нейрона-монитора 302d возможна множественная подписка на каждое отдельное значение направления внимания для заданного поля: на каждое значение этого поля создается дочерний, скрытый от пользователя, индивидуальный нейрон-монитор 302d количества активаций по этому отдельному значению. Информация об активации дочернего нейрона-монитора 302d передается родительскому. Сокрытие от пользователя дочерних мониторов целесообразно, т.к. в практических случаях количество значений поля может быть весьма велико и интерфейс пользователя 303 был бы сильно перегружен без такого сокрытия. В то же время передача информации об активации дочернего нейрона-монитора 302d родительскому нейрону-монитору 302d решает задачу оповещения пользователя (или внешней системы КФС или ИС).When using the “attention” option for the field of the neuron-monitor 302d , a multiple subscription to each individual value of the direction of attention for a given field is possible: for each value of this field, a child, hidden from the user, individual neuron-monitor 302d of the number of activations for this individual value is created. Information about the activation of the child monitor neuron 302d is transmitted to the parent. Hiding child monitors from the user is expedient, because in practical cases, the number of field values can be quite large and the user interface 303 would be heavily congested without such hiding. At the same time, the transmission of information about the activation of the child monitor neuron 302d to the parent monitor neuron 302d solves the problem of alerting the user (or an external FSC or IC system).
Таким образом, заявленное изобретение позволяет решить указанную техническую проблему, заключающуюся в выявлении в потоке событий от КФС или ИС структуры иерархически вложенных повторяющихся (но не обязательно периодических) паттернов, которая отражает причинно-следственные связи в потоке событий от КФС или ИС, а также в отнесении новых паттернов и новых событий к аномалиям. Причем информация о том, какое событие или паттерн или какая часть структуры паттернов ранее не наблюдались, свидетельствует о наличии аномалии в КФС или ИС,Thus, the claimed invention allows solving the specified technical problem, which consists in identifying a structure of hierarchically nested repeating (but not necessarily periodic) patterns in the flow of events from a CPS or IS, which reflects cause-and-effect relationships in the flow of events from a CFS or IS, as well as in attributing new patterns and new events to anomalies. Moreover, information about which event or pattern or which part of the pattern structure was not previously observed indicates the presence of an anomaly in the FSC or IS,
Заявленное изобретение позволяет выявлять повторяющиеся события и паттерны и их структуру, а также относить новые события и новые паттерны к аномалиям в работе КФС или ИС в потоке событий от КФС или ИС за счет методов машинного обучения на основе нейросемантической сети без необходимости разделения процесса работы на две изолированные друг от друга фазы: а) обучение на исторических данных и б) распознавание.The claimed invention makes it possible to identify recurring events and patterns and their structure, as well as to attribute new events and new patterns to anomalies in the operation of the CPS or IS in the flow of events from the CPS or IS due to machine learning methods based on a neurosemantic network without the need to split the work process into two phases isolated from each other: a) training on historical data and b) recognition.
Заявленное изобретение повышает качество выявления событий и паттернов и их отнесения к аномалии в работе КФС или ИС за счет каждого из следующих факторов: постоянного обучения, дополнительной оптимизации нейросемантической сети во время специальной фазы цикла работы в режиме «сон» (см. Фиг. 4) системы, механизма выборочного мониторинга активности нейросемантической сети на основе специальных нейронов-мониторов, взаимодействия с предиктивными детекторами, выявляющими аномалии в телеметрии.The claimed invention improves the quality of detecting events and patterns and assigning them to an anomaly in the operation of the FSC or IS due to each of the following factors: continuous learning, additional optimization of the neurosemantic network during a special phase of the cycle in the “sleep” mode (see Fig. 4 ) systems, a mechanism for selective monitoring of neurosemantic network activity based on special monitor neurons, interaction with predictive detectors that detect anomalies in telemetry.
Заявленное изобретение также позволяет выявлять паттерны и аномалии в КФС или в ИС при наличии в данных лишь малого количества примеров последовательностей событий, соответствующих паттерну, за счет использования нейросемантической сети.The claimed invention also makes it possible to detect patterns and anomalies in the FSC or in the IS in the presence of only a small number of examples of sequences of events corresponding to the pattern in the data, through the use of a neurosemantic network.
Заявленное изобретение также снижает уровень информационного шума в потоке событий за счет использования механизма внимания к значениям полей событий, характеризующих конкретную КФС или ИС.The claimed invention also reduces the level of information noise in the event stream by using the mechanism of attention to the values of the event fields that characterize a specific FSC or IS.
На Фиг. 12 представлен пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение, в частности система 300. Персональный компьютер или сервер 20 (далее - компьютер) содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. В частном случае центральный процессор может иметь в своем составе специализированный нейроморфный процессор, содержащий множество элементов, соответствующих нейронам импульсной сети или ее разновидности и позволяющий в массивно-параллельном режиме обеспечивать работу такой сети. Системная шина 23 реализована как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.On FIG. 12 shows an example of a general purpose computer system with which the present invention can be implemented, in particular system 300' . The personal computer or server 20 (hereinafter referred to as "computer") includes a
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера или сервера 20.The personal computer 20 in turn comprises a
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a hard disk 27' , a removable magnetic disk 29' , and a removable optical disk 31' , but it should be understood that other types of computer storage media 56 that are capable of storing data in a computer-readable form (solid state drives, flash memory cards, digital disks, random access memory (RAM), etc.), which are connected to the system bus 23 through the
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь (оператор) имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.The computer 20 has a
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 12. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment using a network connection to another or more
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях (также - информационных системах), внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.The network connections may form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks (also - information systems), internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local network 50 via a network adapter or
В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.As described, the components, execution steps, data structure described above can be executed using various types of operating systems, computer platforms, programs.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information given in the description are examples that do not limit the scope of the present invention defined by the formula.
БиблиографияBibliography
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.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.2. VI Bodyakin "Neurosemantics. Information and control systems. Artificial intelligence". Scientific works. M.: Academic project; Mir Foundation, 2020 - 803 p. ISBN 978-5-8291-3825-7, ISBN 978-5-919840-39-8.
Claims (87)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/361,999 US20240078440A1 (en) | 2022-08-24 | 2023-07-31 | Method for identifying patterns and anomalies in the flow of events from a cyber-physical system |
US18/361,976 US20240070444A1 (en) | 2022-08-24 | 2023-07-31 | System for identifying patterns and anomalies in the flow of events from a cyber-physical system |
EP23190938.3A EP4328763A1 (en) | 2022-08-24 | 2023-08-10 | System for identifying patterns and anomalies in the flow of events from a cyber-physical system |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2793549C1 true RU2793549C1 (en) | 2023-04-04 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663465A (en) * | 2023-06-21 | 2023-08-29 | 南京邮电大学 | Method for constructing unit statistics time delay model considering MIS effect based on deep learning |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140072206A1 (en) * | 2007-07-11 | 2014-03-13 | Behavioral Recognition Systems, Inc. | Semantic representation module of a machine learning engine in a video analysis system |
US20150106867A1 (en) * | 2013-10-12 | 2015-04-16 | Fortinet, Inc. | Security information and event management |
US9064210B1 (en) * | 2012-03-31 | 2015-06-23 | Emc Corporation | Semantically-aware behavioral security analysis system for security information and event management |
US20170032130A1 (en) * | 2014-04-18 | 2017-02-02 | Hewlett Packard Enterprise Development Lp | Pre-cognitive security information and event management |
RU2724075C1 (en) * | 2018-12-28 | 2020-06-19 | Акционерное общество "Лаборатория Касперского" | System and method for determining anomaly source in cyber-physical system having certain characteristics |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140072206A1 (en) * | 2007-07-11 | 2014-03-13 | Behavioral Recognition Systems, Inc. | Semantic representation module of a machine learning engine in a video analysis system |
US9064210B1 (en) * | 2012-03-31 | 2015-06-23 | Emc Corporation | Semantically-aware behavioral security analysis system for security information and event management |
US20150106867A1 (en) * | 2013-10-12 | 2015-04-16 | Fortinet, Inc. | Security information and event management |
US20170032130A1 (en) * | 2014-04-18 | 2017-02-02 | Hewlett Packard Enterprise Development Lp | Pre-cognitive security information and event management |
RU2724075C1 (en) * | 2018-12-28 | 2020-06-19 | Акционерное общество "Лаборатория Касперского" | System and method for determining anomaly source in cyber-physical system having certain characteristics |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663465A (en) * | 2023-06-21 | 2023-08-29 | 南京邮电大学 | Method for constructing unit statistics time delay model considering MIS effect based on deep learning |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | A time efficient approach for detecting errors in big sensor data on cloud | |
US10592516B2 (en) | Anomaly detection by multi-level tolerance relations | |
EP3355547A1 (en) | Method and system for learning representations of network flow traffic | |
US10878324B2 (en) | Problem analysis and priority determination based on fuzzy expert systems | |
US7388482B2 (en) | Method for the machine learning of frequent chronicles in an alarm log for the monitoring of dynamic systems | |
US20240054144A1 (en) | Extract, transform, load monitoring platform | |
Kubiak et al. | An overview of data-driven techniques for IT-service-management | |
CN107832196A (en) | A kind of monitoring device and monitoring method for real-time logs anomalous content | |
EP3050007A1 (en) | Sequence identification | |
CN111597247A (en) | Data anomaly analysis method and device and storage medium | |
US20060294220A1 (en) | Diagnostics and resolution mining architecture | |
Perner | Mining sparse and big data by case-based reasoning | |
CN114785666B (en) | Network troubleshooting method and system | |
US20210287068A1 (en) | Log analysis system employing long short-term memory recurrent neural networks | |
US11556871B2 (en) | Systems and methods for escalation policy activation | |
Xie et al. | Logm: Log analysis for multiple components of hadoop platform | |
US20230353584A1 (en) | Method and system for anomaly detection in a network | |
CN110011990A (en) | Intranet security threatens intelligent analysis method | |
Alserhani | Alert correlation and aggregation techniques for reduction of security alerts and detection of multistage attack | |
US20220121942A1 (en) | Method and system for cognitive information processing using representation learning and decision learning on data | |
Biem et al. | Real-time analysis and management of big time-series data | |
RU2793549C1 (en) | System and method for revealing the structure of patterns and anomalies in the stream of events coming from a cyber-physical system or an information system | |
JI et al. | Log Anomaly Detection Through GPT-2 for Large Scale Systems | |
EP4242848B1 (en) | Method and computer system for capture and analysis of repetitive actions generated by the employee-computer interaction | |
EP4328763A1 (en) | System for identifying patterns and anomalies in the flow of events from a cyber-physical system |