СПОСОБ УПРАВЛЕНИЯ КОМПЬЮТЕРНОЙ СЕТЬЮ
METHOD TO CONTROL COMPUTER NETWORK

Изобретение относится к области управления компьютерными сетями, а более конкретно к системам управления компьютерными сетями с использованием алгоритмов искусственного интеллекта.
Известна система управления сетью, способ отображения и программа (Патент RU №2295755 С2, IPC G06F 13/00 (2006.01), опубл. 20.03.2007 г.), в которой осуществляется определение местоположения, получение идентификационной информации, формирование списка доступных сетевых устройств и визуализация полученной информации.
В качестве средства обнаружения сетевых устройств и для получения идентификационной информации используют протокол SNMP.
Недостатком данного изобретения является то, что активных управляющих действий не производится, осуществляется только определение функционирующих сетевых устройств и их местоположение.
7
Известна система и способ управления компьютерной сетью (Патент US №6374293, МПКG06F 15/177 (2006.01), опубл. 16.04.2002 г.), в котором осуществляют мониторинг, сохранение и визуализацию основных показателей, определяющих поведение объектов компьютерной сети
Нормативные значения показателей и экспертные данные о возможном поведении сети сохраняют заранее, и в дальнейшем используют для формирования предупредительного сигнала администратору компьютерной сети.
Недостатком данного способа является то, что активных управляющих действий в автоматическом режиме не производится, фиксируются только факты ошибок или сбоев в работе объектов компьютерной сети, при этом не обеспечивается возможность их предотвращения в будущем.
Кроме того, аналог имеет ограниченное число параметров, описывающих состояние объекта компьютерной сети, что также не обеспечивает высокого качества принимаемого решения по управлению компьютерной сетью.
Известен способ управления компьютерной сетью и система для его осуществления (Патент РФ №2309451, МПК G06F 15/177 (2006.01) G06F 11/00 (2006.01), опубл. 27.10.2007 г.), являющийся наиболее близким аналогом к предлагаемому техническому решению по своей технической сущности и достигаемому эффекту.
В известном способе управления компьютерными сетями осуществляют доступ к объектам компьютерной сети по линиям связи, собирают статистические данные о состоянии объектов компьютерной сети, запоминают их и формируют прогноз состояния объектов компьютерной сети и всей сети в целом путем осуществления постоянного мониторинга объектов компьютерной сети и последующей обработки данных при помощи искусственных нейронных сетей. В зависимости от прогноза формируют сигнал с управляющим действием, в том числе на исправление ошибок в компьютерной сети, и оповещают пользователя компьютерной сети.
Однако способу-прототипу присущ недостаток, точность прогноза существенно уменьшается в случае, если значения используемых для формирования прогноза исходных данных существенно отличаются от тех, на которых обучались искусственные нейронные сети.
Поскольку компьютерная сеть представляет из себя сложную, динамическую систему с нелинейными зависимостями между ее элементами, то в некоторых случаях величина полученных в результате опроса значений показателей, определяющих состояние объектов компьютерной сети, может существенно отличаться от значений, на которых обучались прогнозные нейронные сети, и, соответственно, точность прогноза уменьшается тем больше, чем существеннее эта разница.
Если же использовать некорректный прогноз в качестве исходных данных для формирования для объектов компьютерной сети сигналов с управляющим действием, то в результате их выполнения может быть получен эффект, существенно отличающийся от ожидаемого.
Целью заявляемого технического решения является повышение точности прогноза, вне зависимости от значений исходных данных, которые использовались для формирования прогноза, и их отличия от значений обучающей выборки, на которой проводилось обучение прогнозных искусственных нейронных сетей, за счет использования запоминающих нейронных сетей, а также снижение времени простоя объектов компьютерной сети за счет увеличения точности прогноза и своевременного выявления деструктивных тенденций изменений значений основных показателей рабочих объектов компьютерной сети.
Поставленная цель достигается тем, что в известном способе управления компьютерной сетью, заключающегося в том, что для каждого из K объектов компьютерной сети устанавливают перечень нормативных значений P показателей, запоминают их.
<mrow><mi>N</mi><mo>=</mo><mfrac><mi>T</mi><mrow><mi>Δ</mi><mi>t</mi></mrow></mfrac></mrow>
Выделяют k≤K рабочих объектов компьютерной сети, где k=1, 2, …, K, K - общее число объектов компьютерной сети. Формируют массивы статистических данных об изменениях значений P показателей каждого из рабочих объектов компьютерной сети за промежуток времени T, запоминают полученные значения. Для формирования массивов статистических данных об изменениях значений P показателей каждого из k рабочих объектов компьютерной сети за промежуток времени T, путем опроса
раз, где Δt - интервал времени между двумя следующими друг за другом опросами в промежутке времени T, определяют значения всех P показателей для каждого из рабочих объектов компьютерной сети. Запоминают значения показателей для каждого из рабочих объектов компьютерной сети в каждом из опросов.
Формируют структуры прогнозных искусственных нейронных сетей для каждого из P показателей рабочих объектов компьютерной сети. Устанавливают произвольные начальные весовые коэффициенты синапсов нейронов каждой из прогнозных искусственных нейронных сетей, для чего генерируют эти значения в форме случайных чисел.
<mrow><mi>D</mi><mo>=</mo><mfrac><mrow><mi>N</mi><mi>k</mi></mrow><mi>I</mi></mfrac></mrow>
1
I
Обучают прогнозные искусственные нейронные сети. Для их обучения объединяют массивы статистических данных, полученные от k рабочих объектов компьютерной сети и принадлежащие одинаковым показателям, в P глобальных массивов статистических данных. Разбивают последовательно каждый из глобальных массивов статических данных на
обучающих выборок [x, …, x], где I - размер одной обучающей выборки, для каждого показателя p, p=1…P.
<mrow><mfrac bevelled="true"><mrow><mn>4</mn><mi>D</mi></mrow><mn>5</mn></mfrac></mrow>
<mrow><mfrac bevelled="true"><mi>D</mi><mn>5</mn></mfrac></mrow>
<mrow><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo>≤</mo><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><mfrac bevelled="true"><mrow><mn>4</mn><mi>D</mi></mrow><mn>5</mn></mfrac></mrow>
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo>></mo><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
р
Разбивают D полученных для каждого из показателей выборок на два подмножества: обучающее и тестовое, содержащих соответственно
и
элементов соответственно. Устанавливают максимально допустимые для каждого показателя p, p=1…P значения ошибок
прогноза на выходе каждой из прогнозных искусственных нейронных сетей, соответствующих этим показателям. Подают на входы каждой из прогнозных искусственных нейронных сетей, каждая из которых соответствует одному показателю, соответствующую этому показателю последовательность выборок, принадлежащих обучающему подмножеству. Сравнивают для каждой из искусственных нейронных сетей значения ошибки Е на их выходах с установленными ранее значениями
. Если на выходе отдельно взятой прогнозной искусственной нейронной сети
, то обучение такой сети завершают, в противном случае процесс обучения продолжают. Если по истечении
циклов обучения на выходе какой-либо искусственной нейронной сети
, то формируют новые массивы статистических данных для данного показателя и процесс обучения повторяют.
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo>≤</mo><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
По завершении обучения на входы прогнозных нейронных сетей подают последовательно выборки из тестового множества. В случае, если на выходе отдельно взятой прогнозной искусственной нейронной сети
, то такую сеть переводят в рабочий режим, в противном случае формируют новые массивы статистических данных для данного показателя, процесс обучения и тестирования повторяют.
<mrow><mi>N</mi><mo>=</mo><mfrac><mi>T</mi><mrow><mi>Δ</mi><mi>t</mi></mrow></mfrac></mrow>
1
k
Дополнительно, одновременно с формированием структур прогнозных искусственных нейронных сетей формируют структуры запоминающих искусственных нейронных сетей по одной для каждого из P показателей. Для формирования структур запоминающих искусственных нейронных сетей, для каждого из показателей формируют
обучающих выборок [x, …, x], каждая их которых содержит k значений одного показателя, полученных по одному от каждого из рабочих объектов компьютерной сети в течение одного опроса.
<mrow><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>min</mi></mrow></msubsup></mrow>
<mrow><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><mrow><mo>[</mo><mrow><mn>0</mn><mo>,</mo><mn>092</mn><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>max</mi></mrow></msubsup><mo>;</mo><mtext> </mtext><mn>1</mn><mo>,</mo><mn>16</mn><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>min</mi></mrow></msubsup></mrow><mo>]</mo></mrow></mrow>
Отдельно для каждого из показателей объединяют массивы статистических данных, полученные от k рабочих объектов компьютерной сети и принадлежащие одинаковым показателям в P глобальных массивов статистических данных. Вычисляют минимальное
и максимальное
значения для каждого из сформированных глобальных массивов статистических данных. Для каждого из показателей выбирают из N обучающих выборок m-1 выборку, в которых значения одного или более элементов не попадают в интервал
, и одну выборку, значения элементов которой попадают в этот интервал. Определяют число нейронов во входном слое каждой из P запоминающих искусственных нейронных сетей равным k, а в первом и втором слоях равным m.
1
m
Устанавливают начальные весовые коэффициенты синапсов нейронов каждой из запоминающих искусственных нейронных сетей равными нулю. Затем одновременно с обучением прогнозных искусственных нейронных сетей обучают P запоминающих искусственных нейронных сетей. Для каждой из них формируют m выходных векторов значений, которым ставят в соответствие m обучающих выборок, сформированных ранее для каждого из показателей, подают последовательно m обучающих выборок, на входы каждой из P запоминающих искусственных нейронных сетей, запоминают состояния нейронов для каждой из них. Каждый из m выходных векторов значений [y, …, y], каждой из P запоминающих нейронных сетей ставят в соответствие экспертным заключениям, сделанным на основе сохраненного ранее перечня нормативных значений для каждого из P показателей, определяющим текущее состояние компьютерной сети, по определенному показателю. Сохраняют полученное соотношение. После обучения переводят запоминающие нейронные сети в рабочий режим.
Задают уровень расхождения ΔP значений полученной в результате опроса выборки и значений сохраненных ранее образов в интервале ΔP=(10-15)%.
Через заданные промежутки времени Δt<<T проводят опрос значений показателей каждого из рабочих объектов компьютерной сети, запоминают полученные значения. После каждого опроса формируют P выборок исходных данных, каждая из которых содержит k значений одного показателя, полученных по одному от каждого из рабочих объектов компьютерной сети в течение последнего опроса. Подают полученные выборки на входы соответствующих запоминающих нейронных сетей, которые распознают и определяют степень расхождения значений поступивших выборок со значениями сохраненных ранее в запоминающих нейронных сетях образов, в случае если расхождение значений превышает предварительно заданный уровень ΔP, изменяют структуру соответствующей запоминающей искусственной нейронной сети, добавляют по одному нейрону в первый и второй слои, формируют необходимые связи с остальными нейронами запоминающей искусственной нейронной сети и повторяют процесс обучения для m+1 обучающих выборок, с учетом нового образа состояния компьютерной сети.
На основе сохраненного ранее перечня нормативных значений для данного показателя запрашивают для нового образа экспертное заключение, которое ставят в соответствие m+1 выходному вектору запоминающей нейронной сети, соответствующей рассматриваемому показателю, сохраняют полученное соотношение.
<mrow><mi>d</mi><mo>=</mo><mfrac><mrow><mn>0.1</mn><mi>T</mi></mrow><mrow><mi>Δ</mi><mi>t</mi><mi>I</mi></mrow></mfrac></mrow>
<mrow><mfrac bevelled="true"><mrow><mn>4</mn><mi>d</mi></mrow><mn>5</mn></mfrac></mrow>
<mrow><mfrac bevelled="true"><mi>d</mi><mn>5</mn></mfrac></mrow>
1
I
Запрашивают накопленные ранее для данного показателя массивы статистических данных за промежуток времени 0,1T, формируют глобальный массив статистических данных, добавляют в него полученные при последнем опросе значения показателя. Разбивают его на
обучающих выборок [x, …, x], где I - размер одной обучающей выборки. Разбивают d обучающих выборок на обучающее и тестовое множества размером
и
, соответственно, и осуществляют процесс переобучения прогнозной искусственной нейронной сети, соответствующей рассматриваемому показателю.
В случае, если расхождение значений полученной в результате опроса выборки и значений сохраненных ранее образов не превышает ΔP, запрашивают соответствующее выходному вектору этого образа экспертное заключение, на основе которого формируют последовательность управляющих команд к рабочим объектам компьютерной сети на приведение значений соответствующего показателя к нормативным.
1
I
1
I-1
I
Формируют, для каждого из k рабочих объектов компьютерной сети и для каждого из P его показателей, выборки [x, …, x] размером I, где x-x - накопленная ранее статистическая информация, x - последнее полученное для этого показателя значение. Последовательно передают их на соответствующие этим показателям входы прогнозных нейронных сетей для формирования прогноза изменения значений показателей через время Δt для каждого из k рабочих объектов компьютерной сети. Объединяют полученные в результате прогнозирования значения, принадлежащие одному показателю, в единую выборку, содержащую k элементов, по числу рабочих объектов компьютерной сети. Формируют такую выборку для каждого из P показателей, передают эти выборки на входы соответствующей каждому из показателей запоминающей нейронной сети. Запрашивают соответствующее выходным векторам каждой из выборок экспертное заключение, на основе которого формируют последовательность управляющих команд к рабочим объектам компьютерной сети на приведение значений соответствующего показателя к нормативным.
Новая совокупность существенных признаков, заключающаяся в использовании запоминающих нейронных сетей в качестве индикатора, определяющего необходимость переобучения прогнозных нейронных сетей в случае появления данных, существенно отличающихся от значений, на которых они обучались. Соответственно сформированный после переобучения прогноз будет иметь существенно меньшую погрешность, чем она была бы без переобучения.
Заявленное техническое решение поясняется чертежами, на которых:
на фиг.1 представлена блок-схема системы, реализующей предложенный способ;
на фиг.2 представлен алгоритм реализации способа;
на фиг.3 представлена схема прогнозной нейронной сети;
на фиг.4 представлена схема запоминающей нейронной сети;
на фиг.5 представлен разброс нормализованных значений обучающей выборки (по одному показателю);
на фиг.6 представлена диаграмма точности прогноза, в зависимости от способа его формирования (по одному показателю);
на фиг.7 представлена диаграмма точности прогнозов в зависимости от способа их формирования (по одному показателю).
Реализация заявляемого способа поясняется на структуре, показанной на фиг.1.
Блок 1 - k≤K рабочих объектов компьютерной сети, где k=1, 2, …, K, K - общее число объектов компьютерной сети.
1
р
Блок 2 - модуль опроса, необходимый для получения информации о текущих значениях контролируемых показателей рабочих объектов компьютерной сети, в строго определенные моменты времени. Передает получаемую для каждого из P показателей информацию на входы запоминающих нейронных сетей, соответствующих этим показателям блоков 4…4, а также сохраняет всю полученную информацию в блоке 5 - базе данных для хранения статистической информации.
1
p
Блок 3 - база данных, содержащая нормативные значения для контролируемых показателей, а также информацию о взаимосвязях выходных векторов значений запоминающих нейронных сетей и соответствующих им экспертных заключений, сделанных на основе сохраненного ранее перечня нормативных значений для каждого из P показателей, определяющих текущее состояние компьютерной сети по определенному показателю. Связан с субблоками 4-2 блоков 4…4, которым по запросу предоставляет информацию о нормативных значениях определенного показателя и об экспертных заключениях о текущем состоянии компьютерной сети, соответствующих полученному выходному вектору субблока 4-1 - запоминающей нейронной сети. При изменении структуры любой из запоминающих нейронных сетей в блоке 3 сохраняют информацию о новом выходном векторе и соответствующем ему экспертном заключении.
1
р
Совокупность блоков 4 до 4 имеет одинаковую структуру и выполняет одинаковые действия, но для разных показателей. Каждый из блоков включает в себя пять субблоков:
1. Субблок 4-1 - запоминающая искусственная нейронная сеть, реализованная в виде ассоциативной памяти. Позволяет определить степень близости совокупности значений, поступающих на ее входы, к одной из сохраненных ранее совокупностей (образу) и сформировать соответствующий этому образу вектор выходных значений. Полученный вектор передается на субблок 4-2 - модуль определения принадлежности.
2. Субблок 4-2 - модуль определения принадлежности полученного из субблока 4-1 вектора выходных значений. Формирует запрос в блок 3 на получение экспертного заключения, соответствующего полученному вектору выходных значений субблока 4-1. Если принадлежность установлена, разрешает передачу в модуль формирования исходных данных (субблок 4-3), полученных в результате последнего опроса k значений показателя. В случае, если полученное экспертное заключение требует оперативного вмешательства в работу объектов компьютерной сети, передает на блок 6 - управляющий модуль, информацию о необходимости управляющих воздействий на рабочие объекты компьютерной сети. В случае, если принадлежность установить не удалось, передает субблоку 4-4 - модулю переобучения, полученные в результате последнего опроса k значений показателя, формирует команды на изменение структуры запоминающей нейронной сети (субблок 4-1), ее повторное обучение, переобучение прогнозной нейронной сети (субблок 4-5), получение и сохранение экспертного заключения и соответствующего ему нового вектора выходных значений субблока 4-1.
3. Субблок 4-3 - модуль формирования исходных данных для прогнозной нейронной сети (субблок 4-5). При получении от субблока 4-2 k значений показателя, полученных в результате последнего опроса, запрашивает статистическую информацию из блока 5 - базы данных для хранения статистической информации, и формирует k выборок исходных данных для прогнозной нейронной сети (субблок 4-5), по одной для каждого из k рабочих объектов компьютерной сети.
4. Субблок 4-4 - модуль переобучения прогнозной нейронной сети (субблок 4-5) и изменения структуры и повторного обучения запоминающей нейронной сети (субблок 4-1). Формирует необходимые обучающие выборки и передает их на входы соответствующих нейронных сетей.
5. Субблок 4-5 - прогнозная искусственная нейронная сеть. На основе k выборок исходных данных, получаемых от субблока 4-3, формирует k прогнозов значений показателя через интервал времени Δt, по одному значению для каждого из k рабочих объектов компьютерной сети. Полученные значения передают на k входов запоминающей нейронной сети для обработки, последующего определения принадлежности результатов обработки в субблоке 4-2, и получения соответствующего им экспертного заключения.
Блок 5 - база данных для хранения статистической информации. Сохраняет все полученные в результате опросов значения показателей, выдает по запросу необходимую информацию.
Блок 6 - управляющий модуль, отвечающий за принятие решения о необходимости формирования управляющих команд, а также за их формирование и доставку до адресата.
Действия по управлению компьютерной сетью, алгоритм которых показан на фиг.2, заключаются в следующем.
В зависимости от решаемых в рамках компьютерной сети задач определяют перечень из P показателей (см. блок 1, фиг.2), совокупность значений которых позволяет однозначно принять верное управляющее решение. Устанавливают нормативные значения этих показателей (см. блок 2, фиг.2) и сохраняют их в базе данных (см. блок 3, фиг.2), предназначенной для их хранения.
Путем опроса всех объектов компьютерной сети (в соответствии с ее адресом и маской сети) определяют k≤K рабочих объектов компьютерной сети (см. блок 4, фиг.2), где k=1, 2, …, K, (K - общее число объектов компьютерной сети).
<mrow><mi>N</mi><mo>=</mo><mfrac><mi>T</mi><mrow><mi>Δ</mi><mi>t</mi></mrow></mfrac></mrow>
Путем опроса объектов компьютерной сети (см. блок 5, фиг.2), через равные Δt промежутки времени, за общий промежуток времени T>>Δt,
раз получают значения каждого из P выбранных показателей для каждого из k объектов компьютерной сети. Из этих значений формируют P массивов статистических данных первоначально отдельно для каждого из объектов сети (см. блок 6, фиг.2). Таким образом, общее число сформированных массивов M=k*P, где k=1, 2, …, K - число рабочих объектов компьютерной сети, P - число показателей для каждого из рабочих объектов. Полученные значения сохраняются в специальной базе данных (см. блок 7, фиг.2), предназначенной для хранения статистической информации.
По окончании промежутка времени T, после накопления достаточного объема статистических данных (см. блок 8, фиг.2), опрос объектов компьютерной сети завершают.
w
<mrow><mfrac><mi>D</mi><mrow><mn>1</mn><mo>+</mo><msub><mrow><mi>log</mi></mrow><mn>2</mn></msub><mi>D</mi></mrow></mfrac><mo>≤</mo><mo stretchy="false">(</mo><mi>D</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>I</mi><mo>+</mo><mn>2</mn><mo stretchy="false">)</mo><mo>+</mo><mn>1</mn></mrow>
<mrow><mi>L</mi><mo>=</mo><mfrac><mrow><msub><mi>L</mi><mi>w</mi></msub></mrow><mi>I</mi></mfrac></mrow>
Формируют структуры P прогнозных нейронных сетей (фиг.3), отдельно для каждого из P показателей (см. блок 9, фиг.2). Число синаптических связей L между нейронами определяется
, где D - число обучающих выборок, I - число нейронов во входном слое. Число нейронов в скрытых слоях определяется по формуле
.
Начальные весовые коэффициенты синапсов устанавливаются произвольно, в выбранном диапазоне, при помощи генератора случайных чисел (см. блок 10, фиг.2).
<mrow><mi>D</mi><mo>=</mo><mfrac><mrow><mi>N</mi><mi>k</mi></mrow><mi>I</mi></mfrac></mrow>
<mrow><mfrac bevelled="true"><mrow><mn>4</mn><mi>D</mi></mrow><mn>5</mn></mfrac></mrow>
<mrow><mfrac bevelled="true"><mi>D</mi><mn>5</mn></mfrac></mrow>
1
I
Объединяют массивы статистических данных, полученные от k рабочих объектов компьютерной сети и принадлежащие одинаковым показателям, в P глобальных массивов статистических данных, разбивают последовательно каждый из глобальных массивов статических данных на
обучающих выборок [x, …, x], где I - размер одной обучающей выборки (см. блок 12, фиг.2), для каждого показателя p, p=1…P, разбивают D полученных для каждого из показателей выборок на два подмножества: обучающее и тестовое, содержащих, соответственно,
и
элементов соответственно (см. блок 14, фиг.2).
<mrow><mi>N</mi><mo>=</mo><mfrac><mi>T</mi><mrow><mi>Δ</mi><mi>t</mi></mrow></mfrac></mrow>
<mrow><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>min</mi></mrow></msubsup></mrow>
<mrow><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><mrow><mo>[</mo><mrow><mn>0</mn><mo>,</mo><mn>92</mn><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>max</mi></mrow></msubsup><mo>;</mo><mtext> </mtext><mn>1</mn><mo>,</mo><mn>16</mn><msubsup><mrow><mover accent="true"><mi>x</mi><mo stretchy="true">¯</mo></mover></mrow><mi>p</mi><mrow><mi>min</mi></mrow></msubsup></mrow><mo>]</mo></mrow></mrow>
1
k
Для каждого из показателей формируют
обучающих выборок [x, …, x] (см. блок 11, фиг.2), каждая их которых содержит k значений одного показателя, полученных по одному от каждого из рабочих объектов компьютерной сети в течение одного опроса. Отдельно для каждого из показателей объединяют массивы статистических данных, полученные от k рабочих объектов компьютерной сети и принадлежащие одинаковым показателям, в P глобальных массивов статистических данных, вычисляют минимальное
и максимальное
значения для каждого из сформированных глобальных массивов статистических данных. Для каждого из показателей выбирают из N обучающих выборок m-1 выборку, в которых значения одного или более элементов не попадают в интервал
, и одну выборку, значения элементов которой попадают в этот интервал (см. блок 13, фиг.2).
Формируют структуры запоминающих искусственных нейронных сетей (фиг.4) по одной для каждого из P показателей (см. блок 5, фиг.2), определив число нейронов во входном слое каждой из P запоминающих искусственных нейронных сетей равным k, а в первом и втором слоях равным m.
Начальные весовые коэффициенты синапсов нейронов каждой из запоминающих искусственных нейронных сетей устанавливаются равными нулю (см. блок 17, фиг.2).
Процесс обучения прогнозных нейронных сетей осуществляется следующим образом (см. блок 16, фиг.2).
<mrow><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
1. Устанавливаются максимально допустимые для каждого показателя p, где p=1…P, значения ошибок
прогноза на каждом из выходов искусственных нейронных сетей, соответствующим этим показателям.
2. Последовательно на I входов каждой из прогнозных нейронных сетей подаются D обучающих выборок. Каждая совокупность D обучающих выборок соответствует определенному показателю, прогноз изменений значений которого через промежуток времени Δt формирует целевая прогнозная нейронная сеть.
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mstyle displaystyle="true"><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></mstyle><msup><mrow><mo stretchy="false">(</mo><msub><mi>y</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>−</mo><msub><mi>x</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo stretchy="false">)</mo></mrow><mn>2</mn></msup></mrow>
<mrow><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo>≤</mo><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><mi>Δ</mi><msubsup><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mo stretchy="false">(</mo><mi>q</mi><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mo>−</mo><mi>η</mi><mfrac><mrow><mo>∂</mo><mi>E</mi></mrow><mrow><mo>∂</mo><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow></mfrac></mrow>
jk
jk
3. После обработки очередной обучающей выборки, по формуле
, где y - реальное выходное состояние нейрона j выходного слоя нейронной сети при подаче на ее входы k-й обучающей выборки, x - требуемое выходное состояние этого нейрона (первое значение k+1 выборки), вычисляются значения на выходе каждой из прогнозных нейронных сетей, которые сравниваются с ранее установленными максимальными значениями ошибки
. Если для какой-либо прогнозной нейронной сети значение на выходе
, обучение такой сети завершается, в противном случае вычисляются смещения весовых коэффициентов нейронов по формуле
, где w - весовой коэффициент синаптической связи, соединяющей i-й нейрон слоя (q-1) с j-м нейроном слоя q, η - коэффициент скорости обучения 0<η<1. В соответствии с полученными значениями, пересчитываются веса синапсов и на входы подается очередная обучающая выборка.
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo>></mo><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
4. Если по истечении D циклов обучения на выходе какой-либо прогнозной нейронной сети
, то повторяют процесс опроса компьютерной сети и сбора статистической информации за промежуток времени 1,5Т, формируют глобальные массивы статистических данных и процесс обучения этой нейронной сети повторяют (см. блок 19, фиг.2).
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo><</mo><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
<mrow><msub><mi>E</mi><mi>p</mi></msub><mo><</mo><msubsup><mi>E</mi><mi>p</mi><mrow><mi>max</mi></mrow></msubsup></mrow>
5. В случае, если на выходе какой-либо прогнозной нейронной сети в процессе обучения получен результат
, то на входы такой сети подают последовательно выборки тестового множества. Если
для всех тестовых выборок, то прогнозную нейронную сеть переводят в рабочий режим, в противном случае повторяют п.4.
Процесс обучения запоминающих нейронных сетей осуществляется следующим образом (см. блок 18, фиг.2).
<mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mrow><msubsup><mi>x</mi><mi>i</mi><mi>j</mi></msubsup></mrow><mn>2</mn></mfrac></mrow>
1. Инициализация весовых коэффициентов первого слоя в соответствии с формулой
, i=1…k, j=1…m, где x - запоминаемые образы, i - компонент вектора x, j - номер образа, k - размерность вектора x, m - число запоминаемых образов.
<mrow><msubsup><mi>y</mi><mi>j</mi><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mstyle displaystyle="true"><mo>∑</mo><mrow><msubsup><mrow /><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>x</mi><mo>−</mo><mn>1</mn></mrow></msubsup><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>T</mi><mi>j</mi></msub></mrow></mstyle></mrow>
<mrow><mi>T</mi><mo>=</mo><mfrac><mi>I</mi><mn>2</mn></mfrac></mrow>
2. Выходные значения нейронов первого слоя
, где x - неизвестный образ,
- порог активационной функции.
<mrow><msubsup><mi>y</mi><mi>j</mi><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">(</mo><mi>p</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>=</mo><mi>f</mi><mrow><mo>[</mo><mrow><msubsup><mi>s</mi><mi>j</mi><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">(</mo><mi>p</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><mo>]</mo></mrow></mrow>
<mrow><msubsup><mi>s</mi><mi>j</mi><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">(</mo><mi>p</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>=</mo><msub><mi>y</mi><mi>j</mi></msub><mo stretchy="false">(</mo><mi>p</mi><mo stretchy="false">)</mo><mo>−</mo><mi>ε</mi><mstyle displaystyle="true"><mo>∑</mo><mrow><msubsup><mrow /><mi>k</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msubsup><msubsup><mi>y</mi><mi>k</mi><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">(</mo><mi>p</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
3. Выходные значения нейронов второго слоя определяются следующим образом
, j=1…m, где p - номер итерации,
, k≠j, j=1…m, f - пороговая активационная функция
F - порог активационной функции.
4. Если значения на выходах не изменились, обучение закончено, иначе действия по п.3 выполняются повторно.
По окончании обучения, запоминающие нейронные сети переводятся в рабочий режим.
Сохраняют значения каждого из m выходных векторов каждой из запоминающих нейронных сетей и соответствующий им образ состояния компьютерной сети по определенному показателю (совокупность из k значений одного показателя), в базе данных, содержащей нормативные значения для контролируемых показателей.
Каждому образу (совокупности из k значений одного показателя), в зависимости от установленных для этого показателя нормативных значений, человеком-экспертом выносится экспертное заключение (см. блок 20, фиг.2), определяющее необходимость и порядок формирования последовательностей управляющих команд к рабочим объектам компьютерной сети на приведение значений соответствующего показателя к нормативным.
Полученное экспертное заключение ставится в соответствие сохраненному ранее выходному вектору запоминающей нейронной сети и также сохраняется в базе данных. В дальнейшем на основании значений выходных векторов запоминающих нейронных сетей из базы данных извлекается необходимое экспертное заключение, и последовательность предписанных им действий выполняется управляющим модулем (см. блок 6, фиг.1).
Задают уровень расхождения ΔP значений полученной в результате опроса выборки и значений сохраненных ранее образов в интервале ΔP=(10-15)%.
Через промежутки времени, равные Δt, осуществляется опрос и получение значений P показателей для каждого из объектов компьютерной сети (см. блок 21, фиг.2). Данные сохраняются в базе для хранения статистических данных (см. блок 22, фиг.2). После каждого опроса формируют Р выборок исходных данных (см. блок 23, фиг.2), каждая из которых содержит k значений одного показателя, полученных по одному от каждого из рабочих объектов компьютерной сети в течение последнего опроса. Подают полученные выборки на входы соответствующих запоминающих нейронных сетей, которые распознают и определяют степень расхождения значений поступивших выборок со значениями сохраненных ранее в запоминающих нейронных сетях образов. В случае если расхождение значений превышает предварительно заданный уровень ΔP (см. блок 26, фиг.2), изменяют структуру соответствующей запоминающей искусственной нейронной сети (см. блок 25, фиг.2), добавляя по одному нейрону в первый и второй слои. Формируют необходимые связи с остальными нейронами запоминающей искусственной нейронной сети, обнуляют весовые коэффициенты всех синапсов и повторяют процесс обучения для m+1 обучающих выборок (см. блок 27, фиг.2), используя последнюю полученную выборку в качестве нового образа, определяющего состояние компьютерной сети по определенному показателю в дополнение к уже имеющимся.
На основании сохраненного ранее перечня нормативных значений для данного показателя запрашивают для нового образа экспертное заключение (см. блок 29, фиг.2), которое ставят в соответствие m+1 выходному вектору запоминающей нейронной сети, соответствующей рассматриваемому показателю, сохраняют полученное соотношение.
<mrow><mi>d</mi><mo>=</mo><mfrac><mrow><mn>0.1</mn><mi>T</mi></mrow><mrow><mi>Δ</mi><mi>t</mi><mi>I</mi></mrow></mfrac></mrow>
<mrow><mfrac bevelled="true"><mrow><mn>0.4</mn><mi>d</mi></mrow><mn>5</mn></mfrac></mrow>
<mrow><mfrac bevelled="true"><mrow><mn>0.1</mn><mi>d</mi></mrow><mn>5</mn></mfrac></mrow>
1
I
Запрашивают накопленные ранее для данного показателя массивы статистических данных за промежуток времени 0,1T (см. блок 31, фиг.2), формируют глобальный массив статистических данных, добавляют в него полученные при последнем опросе значения показателя. Разбивают его на
обучающих выборок [x, …, x] (см. блок 32, фиг.2), где I - размер одной обучающей выборки. Разбивают d обучающих выборок на обучающее и тестовое множества размером
и
соответственно (см. блок 33, фиг.2), и осуществляют процесс переобучения прогнозной искусственной нейронной сети (см. блок 34, фиг.2), соответствующей рассматриваемому показателю, аналогичный процессу обучения на D обучающих выборках (см. блок 36, фиг.2).
В случае, если расхождение значений полученной в результате опроса выборки и значений сохраненных ранее образов не превышает ΔP, (см. блок 28, фиг.2), запрашивают соответствующее выходному вектору этого образа экспертное заключение (см. блок 30, фиг.2), на основе которого формируют последовательность управляющих команд к рабочим объектам компьютерной сети на приведение значений соответствующего показателя к нормативным.
1
I
1
I-1
I
Формируют, для каждого из k рабочих объектов компьютерной сети и для каждого из P его показателей, выборки [x, …, x] (см. блок 35, фиг.2) размером I, где x - x - накопленная ранее статистическая информация, x - последнее полученное для этого показателя значение. Последовательно передают их на соответствующие этим показателям входы прогнозных нейронных сетей для формирования прогноза изменения значений показателей через время Δt для каждого из k рабочих объектов компьютерной сети (см. блок 37, фиг.2).
Объединяют полученные в результате прогнозирования значения, принадлежащие одному показателю, в единую выборку, содержащую k элементов, по числу рабочих объектов компьютерной сети. Формируют такую выборку для каждого из P показателей и передают эти выборки на входы соответствующей каждому из показателей запоминающей нейронной сети.
После обработки запрашивают соответствующее выходным векторам каждой из выборок экспертное заключение (см. блок 39, фиг.2), определяют, необходимо ли вмешательство в процесс функционирования рабочих объектов компьютерной сети (см. блок 38, фиг.2). Формируют последовательность управляющих команд (см. блок 40, фиг.2) к рабочим объектам компьютерной сети на приведение значений соответствующего показателя к нормативным.
Возможность повышения точности прогноза и, как результат, снижения времени простоя рабочих объектов компьютерной сети в заявленном способе показана статистикой (фиг.6) изменения точности прогноза одного из показателей в зависимости от способа формирования прогноза.
Из графика (фиг.5) видно, что разброс нормированных значений обучающей выборки показателя лежит в диапазоне значений [0,2; 0,5]. Прогнозная нейронная сеть без переобучения не способна сформировать корректный прогноз при поступлении на ее входы значений, существенно отличающихся от граничных значений обучающей выборки, что проиллюстрировано (фиг.6), где имеют место три случая выхода значений показателя за пределы диапазона [0,2; 0,5]. Во всех трех случаях имеет место существенное уменьшение точности прогноза (фиг.7). В двух случаях из трех соответствие прогнозируемых значений реальным оказалось менее 60%, т.е. прогнозная нейронная сеть оказалась не способна предсказать резкие изменения в значениях прогнозируемого показателя.
Прогнозная нейронная сеть с переобучением (т.е. с запоминающей нейронной сетью, способной определять принадлежность поступающих данных диапазону значений обучающей выборки), из трех рассмотренных случаев, имеет ошибку прогноза только в первом случае, до переобучения. В этом случае срабатывает алгоритм определения принадлежности данных, с последующим запуском системы переобучения. После переобучения ошибка прогноза, в критичных для прогнозной нейронной сети без переобучения местах, составляет менее 3%.
Таким образом, в заявленном способе и его реализации за счет использования связки запоминающая нейронная сеть - прогнозная нейронная сеть, реализована адаптивная к постоянно меняющимся условиям функционирования объектов компьютерной сети структура, формирующая с заданным уровнем точности прогноз изменений их показателей, на основании которого, при необходимости, выполняются управляющие воздействия на объекты вычислительной сети, позволяющие минимизировать время их простоя и повышающие эффективность функционирования компьютерной сети в целом.