№ 3 (51) 2014
Ю. Н. Лавренков, аспирант Калужского филиала МГТУ им. Н. Э. Баумана, georglawr@yandex.ru Л. Г. Комарцова, докт. техн. наук, профессор Калужского филиала МГТУ им. Н. Э. Баумана,
lkomartsova@yandex.ru
Анализ характеристик канала передачи информации на основе нейронной сети
В статье приводится описание гибридного алгоритма настройки параметров нейронной сети, построенной на основе сигма-пи нейронов . Ядро алгоритма обучения составляет комбинация алгоритмов случайного поиска с применением эвристических алгоритмов . Рассмотрен процесс управления эвристическим алгоритмом на основе осциллирующей нейронной сети . Применение комплексного подхода обучения для нейронных сетей, построенных на основе сигма-пи нейронов, позволяет выполнить их обучение за время, необходимое для настройки нейронной сети на решение прикладной задачи . Рассмотрена возможность использования сигма-пи сети для оценки параметров безопасности канала передачи информации на основе анализа спектра отраженного зондирующего сигнала . Для формирования обучающей и тестовой выборки сети приводится описание разработанного устройства для анализа проводных линий связи .
Ключевые слова: сигма-пи нейронная сеть, генетический алгоритм, эвристический алгоритм обучения нейронной сети, передача информации, быстрое преобразование Фурье .
введение
Для обеспечения работоспособности локальных вычислительных сетей применяется множество алгоритмов, основное назначение которых — организовать быструю и безопасную передачу цифровой информации по сетям связи [1]. К таким алгоритмам относятся методы построения маршрутов в сетях связи, реализация технологий коммутации для повышения пропускной способности сети с целью поддержания работы высокопроизводительных приложений. Исходные данные для работы приведенных алгоритмов содержатся в информации о среде передачи, в которой будет организовываться обмен информацией [2]. Для оперативного изменения поведения алгоритмов, обеспечивающих бесперебойную работу всей сети, необходим способ постоянного информирования вычислительной системы о каналах связи, имеющихся в наличии и доступных для использования. Для кабельных линий таким способом служит их
зондирование и последующее оценивание. Полученные данные могут быть использованы для построения безопасных маршрутов, надежность которых характеризуется состоянием их кабельных линий. Для анализа канала применяется метод импульсной реф-лектометрии с применением дорогостоящих приборов для получения осциллограммы сигнала, отраженного от различных неоднород-ностей кабеля. Сложности возникают и при интерпретации полученных результатов.
В статье предлагается использовать для анализа канала передачи информации аппарат нейросетевых технологий в совокупности с методами получения информации о канале связи на основе оценки изменения спектра зондирующего сигнала.
Гибридный алгоритм обучения нейронной сети
Как инструмент интеллектуального анализа данных используется сигма-пи нейронная сеть [3]. Выбор обоснован тем, что ука-
занная сеть сочетает в себе положительные качества многослойных нейронных сетей (персептронов) и радиально-базисных нейронных сетей. На рисунке 1 приведена схема сигма-пи сети, где — сигмоидаль-ные функции активации; ф(^) — радиально-базисные функции активации; a, Ь, w — векторы настраиваемых весовых коэффициентов. Количество входов зависит от принципов формирования обучающей выборки (рассмотрено ниже). Нейросетевой эксперт обучается по принципу «победитель забирает все» [4]. Количество решений, которое может принимать нейронная сеть (НС), соответствует числу нейронов в выходном слое. Каждый выходной нейрон сети сопоставляется со степенью надежности и безопасности анализируемого канала. После принятия сетью решения производится поиск нейрона с максимальным значением выходного сигнала («нейрон-победитель»), и система выдает решение, соответствующее найденному нейрону. При этом способе функционирования сети требуется продолжительное время обучения и настройки, но выдаваемые решения проще интерпретировать.
Как видно из структурного графа сигма-пи сети, для настройки данной системы тре-
буется оптимизация большого количества параметров: групп весов для сигмоидальных и радиально-базисных частей нейронов, параметров функций активации, весовых коэффициентов выходного слоя. Обучение рассматриваемой сети можно осуществить путем задания целевой функции в виде [5]:
е а)=1 е 2а) = л-(в (о - у а»2, (1)
где б^) — вектор ожидаемых значений; у^) — вектор полученных значений; t — время работы системы.
Далее получаем систему дифференциальных уравнений, описывающих процедуру настройки весов [3]. Посредством сигма-пи сети принимается решение, от которого зависит дальнейшее функционирование сложного комплекса алгоритмов, и ее структура может значительно варьироваться в зависимости от решаемой задачи. При большой размерности входного пространства вычисление коэффициентов коррекции настраиваемых параметров на основе градиентных методов может занимать значительное время. В работе предлагается выполнить обучение сигма-пи сети на основе комбинации
Рис. 1. Структурный граф сигма-пи сети
№ 3 (51) 2014
алгоритмов случайного поиска, применяемых в определенном порядке и для настройки конкретных параметров сети. Алгоритм обучения сигма-пи сети выглядит следующим образом.
1. Первый этап обучения начинается с инициализации настраиваемых параметров случайными значениями из интервала (0, 1).
2. Сигма-пи сеть обладает сложной внутренней структурой, поэтому алгоритм обучения разобьем на следующие этапы: настройка весовых коэффициентов а и Ь (см. рис. 1), адаптация весов выходного слоя м, после настройки параметров весов выполняется оптимизация параметров функций активации.
Первый этап оптимизации. Начинается с установки всех параметров, кроме весовых коэффициентов а и Ь. Из всех значений весовых коэффициентов а и Ь составляется два вектора, которые подвергаются оптимизации с целью минимизации критерия ошибки Е (1). Для адаптации данных параметров применялся алгоритм оптимизации с парными пробами [6], который в процессе своей работы генерирует два вектора а(к) ± цг(к) и Ь(к) ± цг(к) , где г(к) — случайный вектор, определяющий направление поиска, к — номер итерации, ц — коэффициент, определяющий скорость работы алгоритма. После вычисления проб рабочий шаг алгоритма делается в направлении наименьшего значения полученной ошибки:
а(к +1) = а(к) - пг (к^дп(Е (а(к) + цг (к)) -
- Е (а(к) -цг (к))),
Ь(к +1) = Ь(к) - пг (к)^дп(Е (Ь(к) + цг (к)) -
- Е (Ь(к) -цг (к))),
где п — коэффициент скорости обучения; sign() — функция взятия знака.
Особенностью алгоритма является стремление к поиску нового решения даже в том случае, когда приемлемое решение найдено. Это свойство необходимо при обучении нейронной сети сложной архитектуры, так как при попадании в локальный минимум алгоритм не остановится.
Второй этап оптимизации. Производится настройка весовых коэффициентов выходного слоя с помощью алгоритма пересчета параметров при неудачном шаге [7]. Из всех значений весовых коэффициентов м формируется вектор, параметры которого далее оптимизируются. Алгоритм начинает работу с продвижения в случайном направлении. Шаг возврата при неудачной пробе не производится, вместо этого алгоритм делает новую попытку найти приемлемое направление поиска, но при этом устраняет последствия неудачной предыдущей попытки:
w (к+1)=w (к)+
+ Г пг (к), если Е (к+1) < Е (к)
+ [-Пг(к-1)+пг(к), если Е(к+1) >Е{к) ( )
К основным преимуществам алгоритма относится его высокое быстродействие.
В качестве сигмоидальных и радиально-базисных функций активации были выбраны следующие:
1 1
уМ = ^; Ф(х) = (X-4 +о2)2, (4)
1 + е
где с — центр радиально-базисной функции, ст — параметр ширины; у — параметр крутизны сигмоидальной функции.
Необходимо оптимизировать три параметра каждого сигма-пи нейрона: у, с, ст. Из параметров одного типа формируется вектор для оптимизации и выполняется настройка НС с помощью алгоритма наилучшей пробы [7]. Этот алгоритм базируется на многократно получаемой случайной выборке. Из исходного вектора параметров генерируется h случайных векторов для каждого оптимизируемого параметра:
с + пг 1(к),с + пг 2(к),...,с + пгЛ (к); о + пг 1(к), о + пг 2(к),...,о + пгЛ (к); (5) у + пг 1(к), у+пг 2(к),..., у + пгЛ (к).
После выполнения расчета ошибки обучения принимается то решение, которое характеризуется наименьшей ошибкой.
№ 3 (51) 2014
Выполняя данную последовательность этапов, проводим обучение сети до получения заданной минимальной ошибки.
Для ускорения процедуры обучения авторами были разработаны два эвристических алгоритма. Выбор алгоритма производится случайным образом с равной вероятностью через каждые 50 итераций (на одной итерации предъявляются все примеры обучающей выборки). Алгоритм настройки рассмотренной НС базируется на вычислении оптимального соотношения внутренних параметров нейронной сети, а именно весовых коэффициентов и параметров функций активации путем подачи на вход сети некоторого входного вектора и фиксации полученного значения. Значение измеренной ошибки, вызванной несоответствием ожидаемых и фактически получаемых выходных сигналов, поступает на вход алгоритма обучения. Формирование нового решения в разработанном алгоритме обучения предусматривает сужение поискового пространства и формирование наилучшей для данной задачи комбинации параметров. Для перемещения в другую точку пространства рассмотрим модель перехода метода поиска в разные части поискового пространства.
Основа алгоритма оптимизации — механизм перемещения в пространстве до-
пустимых значений переменных, основанный на построении жестко фиксированного «скелета», образуемого совокупностью базовых узлов с фиксированными связями-переходами и набором точек, находящихся вблизи предварительно выделенных центров кластеров поискового пространства (поисковый граф) [8]. Работу алгоритма можно представить следующим образом.
1. Процесс построения графа начинается с задания количества базовых узлов. Каждый узел может иметь определенное количество связей (количество связей и их топология генерируются случайно) с другими компонентами «скелета». Основное правило при построении переходов между узлами — наличие только одной связи между смежными узлами (инцидентны одному ребру графа [9]) — два узла не могут иметь два перехода между собой. Пример построения базового «скелета» приведен на рис. 2, где показано, что узлы 3, 5, 6 не имеют свободных связей, для остальных вершин необходимо дополнить структуру данного графа дополнительными элементами.
2. После формирования «скелета» из минимального количества узлов алгоритм продолжает работу путем добавления дополнительных узлов, пока у всех узлов не исчерпается запас «пустых» связей (см. рис. 2).
№ 3 (51) 2014
3. Выполняется раскраска графа с помощью алгоритма последовательного раскрашивания [9]. После выполнения данной процедуры каждая вершина графа будет иметь определенный цвет (маркировку): две смежные вершины не могут иметь одинаковый цвет. Один из возможных результатов работы алгоритма приведен на рис. 3.
4. В каждом узле графа необходимо поместить некоторое множество допустимых предполагаемых решений, структура которых соответствует возможному варианту конфигурации сигма-пи сети. Узлы с разными цветами должны содержать решения, максимально отличающиеся по внутренней структуре. В качестве такой меры близости решений в данной работе использовалось евклидово расстояние [10]:
р(*У) = JX(X - у,:
(6)
где х, у — векторы данных; п — размерность вектора.
Для наполнения вершин графа данными в соответствии с ограничениями, накладываемыми на интервалы значений входных переменных, производится генерация некоторого множества предполагаемых решений (МПР), равномерно распределенных в поисковом пространстве. Множество сгенерированных решений необходимо разбить на группы — кластеры. Для этого был применен алгоритм «Пульсар» [11], модифици-
рованный с целью повышения его эффективности.
а. Перед началом работы алгоритма устанавливаются значения ряда констант, определяющих развитие процесса кластеризации. Необходимо задать гтп и гтах — минимальный и максимальный радиусы кластеров:
'min _ 0,25 ' Rmax, 'max _ 0,95 ' Rmax
(7)
где Нтах — расстояние от центра кластера до максимально отдаленного от центра С элемента МПР.
Компоненты центра кластера находятся как среднее всех элементов МПР:
1 N
C' = NX 9>,
(8)
где N — общее число предполагаемых решений в МПР, i = 1, .., к, к — размерность вектора предполагаемого решения, д^ — '¡-я компонента /-го предполагаемого решения.
Определяем минимальное птп и макси-
мальное n„
количество элементов в кла-
Рис. 3. Граф после раскраски
стере. Так как в каждом узле предполагается размещать по 100 возможных решений, то nmjn и nmax вычисляем по формулам
nmm = clr • 100; nmax = 0,35 • c' • 100, (9)
где clr¡ — количество узлов, раскрашенных в j-й цвет, поскольку количество кластеров равно количеству цветов, присутствующих в раскрашенном графе.
В процессе работы алгоритма радиус кластера будет меняться, причем как в большую, так и в меньшую сторону. Если поменялся знак приращения радиуса, то считается, что поменялась фаза колебаний радиуса. Величина ^max задает допустимое число изменений фаз колебаний радиуса (в данной работе M-max = 10). Адаптация радиуса кластера зависит от величины в — порога, регулирующего данное изменение (в работе в= 0,05Rmax).
Следующим подготовительным этапом является определение центров предпола-
83
№ 3 (51) 2014
гаемых кластеров. Для равномерного размещения кластеров по всему объему поискового пространства сформируем разрешенную для размещения область
0,4Ятах < Rperm < 0,6R
(10)
где Нрегт — допустимый радиус нахождения центра кластера. На рисунке 4 дано пояснение для случая, когда вектор решений имеют размерность, равную 3 (поиск решений с большей размерностью проводится аналогично). Внешняя сфера имеет радиус Ятах. Две другие сферы имеют радиусы 0,6 Ятах и 0,4 Ятах. Допустимое пространство для размещения центров кластеров расположено между двумя этими сферами.
После случайного выбора координат центра первого кластера определяется точка пространства, максимально удаленная от центра сформированного кластера, но лежащая в пределах допустимой области, которая принимается за центр второго кластера. Аналогичным способом определяются координаты центров всех предполагаемых кластеров.
Ь. Начало процесса кластеризации. Выбираются центр первого кластера, гЛ и ц (Л — номер шага):
Г = гтп + Гпах, Цо =Ц1 = 1. (11)
с. Выбирается множество элементов, удаленных от центра кластера не более чем на гЛ.
б. Обновляются координаты центра, компоненты которого находятся как средние по всем элементам, определенным на текущем шаге.
е. Корректируется радиус кластера. Если число выделенных элементов не превосходит птпп, то радиус находится по формуле
rh +1 = min(r„ , Гтах ) Мл
(12)
Если число элементов больше птах, то радиус находится по формуле
ГЛ+1 = тах(Г| ^ , Гт!п ) . (13)
Мл
f. Если фаза колебаний радиуса поменялась, то увеличивается на 1.
д. Если центр и радиус не изменились или > цтах, переходим к формированию нового кластера, в противном случае переходим к шагу с.
По завершении процедуры кластеризации каждому из цветов вершины графа соответствует кластер. Примеры, попавшие в кластер, используются для размещения их данных в одноцветных узлах графа. В результате в каждом узле графа, имеющем определенный цвет, концентрируются дан-
Рис. 4. Выбор центров кластеров и пример определения первых двух кластеров
№ 3 (51) 2014
ные из разных областей поискового пространства.
5. После формирования информационного базиса оптимизационного процесса выполняется процедура оптимизации сигма-пи сети, которая начинается со случайного выбора начального узла. Выбирается один из переходов, связывающий текущий узел с остальными узлами графа, и осуществляется переход к следующему узлу. Для процесса оптимизации необходимо знать полную историю перехода — узел, из которого был совершен переход (вершина А), и узел, в котором закончился переход (вершина В). В узле А выбираем одно решение из имеющихся вариантов предполагаемых комбинаций, аналогичный выбор осуществляем для узла В.
Вычисляем евклидово расстояние между выбранными решениями Св!.
Формируется некоторое множество вариантов организации сигма-пи сети путем выбора точек поискового пространства относительно центра А, находящихся в пределах радиуса Св!. Если полученные решения не удовлетворяют ограничениям, накладываемым на значения входных переменных, то данный вариант системы не принимается. В результате таких переходов между узлами производится генерация предполагаемых решений, используемых для настройки нейронной сети.
Второй эвристический алгоритм для перемещения начала поиска в другую точку пространства базируется на процедуре изменения состояния следующей геометрической модели.
1. В трехмерном пространстве выполняется построение группы сфер (в данной задаче 24 сферы), центры которых расположены в точках, задаваемых случайным образом. Координаты центра по оси абсцисс и ординат могут быть выбраны произвольно из заданного интервала, а значение координаты по оси аппликат полагается равным нулю. В данной работе используются интервал (-17,19) для координаты х и интервал (-18,18) для координаты у. Сфе-
ры в пространстве расположены так, что их оси вращения параллельны оси аппликат.
2. Строятся графики функций двух переменных:
F1(x, у) = (cos(a х + (1-а) • у ))2; F2( х, у) = ^(2 + (1 - р) • х - р • у).
(14)
Построение необходимо выполнить таким образом, чтобы все построенные сферы оказались между двумя поверхностями этих двух функций:
F1(х,у) = (cos(aх + (1-а)• у))2 -10; F2( х, у) = 10 + ^(2 + (1-р) • х-р- у).
(15)
После преобразования уравнений (14) в (15) поверхность функции F1 будет находиться на уровне г = -10, а поверхность функции F2 — на уровне г = +10. Параметры а и р определяют поведение функции, и для поддержания процесса оптимизации необходимо постоянное изменение заданных значений. В качестве алгоритма, изменяющего значения данных параметров, применим нейросетевой осциллятор (будет рассмотрен ниже). Таким образом, в процессе перемещения точки начала поиска в другую точку пространства производится изменение этих параметров, чем достигается управляемость процесса поиска предполагаемых решений.
3. В каждой сфере на уровне большого круга, размещенного перпендикулярно оси аппликат, выделяется 9 точек: (хс, ус), (хс + г, ус), (хс - г, ус), (хс, ус + Г), (хс, ус - г), (хс + г/2, ус), (хс - г/2, ус), (хс, ус + г/2), (хс, ус- г/2), где хс — значение координаты центра по оси абсцисс, а ус — значение координаты центра по оси ординат, г — радиус сферы.
4. На верхнюю полусферу каждой сферы «оказывает влияние» функция F2, а на нижнюю — F1. Степень данного влияния для каждой сферы с координатами центра в точке (хс, ус) оценивается следующим образом:
85
Infl_Fг = F, (хс, ус) + F, (хс + г, ус) +
+ F2 (хс - ^ Ус) + F2 (xc, Ус + г) + Х Ус - г) +
+ F2 (Хс + г/2, Ус) + F2 (Хс - г/2, Ус) + + Fг (Хс, Ус + г/2) + F2 (Хс, Ус - г/2).
= F1 (Хс, Ус) + F1 (Хс + г, Ус) +
+ ^ (Хс - ^ Ус) + F1 (Хc, Ус + г) + F1 Х Ус - г) + + F, (Хс + г/2, Ус) + F, (Хс - г/2, Ус) +
+ ^ (Хс, Ус + г/2) + ^ (Хс, Ус - г/2).
Величина Infl_F2 характеризует степень влияния функции F2 на верхнюю полусферу каждой сферы, Infl_F1 — степень влияния F1 на нижнюю полусферу каждой сферы.
5. На основании полученных оценок сил взаимодействия сферы и двух поверхностей функций осуществляется поворот каждой сферы на определенный угол относительно оси абсцисс. Угол поворота вычисляется следующим образом:
^ п abs(Infl _ F + Infi _ F2) 0 — — •-
2 mx
(16)
где mx — максимальное значение функции abs(Infl _ F1 + Infi _ F2) при установленных параметрах а и ß. Для вычисления этого значения после определения параметров функций Infl_F2 и Infl_F1 необходимо провести исследование данных функций на заданных интервалах по оси абсцисс и ординат с целью выявления максимального значения модуля их суммы.
6. Поворот каждой сферы возможен
на угол п радиан. Переход к новым точкам
в поисковом пространстве требует замены значения угла поворота сферы в радианах
из промежутка [0, 2 ] числом из промежутка
[0, 255]. Это число находится как целая часть частного от деления величины угла в радиа-п 1
нах на число---= 0,006135923.
2 256
7. Результат работы алгоритма представлен 24 значениями, которые представляются 24 байтами и характеризуют текущее состояние построенной геометрической модели. После нормализации все 24 числа будут
лежать в интервале от 0 до 1. Случайным образом выбираем 24 параметра сигма-пи сети и заменяем сгенерированными. Если требуются более радикальные изменения, то необходимо увеличить количество сфер в модели.
В приведенном выше алгоритме параметры а и b регулярно модифицируются с целью изменения ориентации сфер в пространстве. Формирование последовательности значений данных коэффициентов осуществлялось на основе нейрона Хопфилда [12] (рис. 5), который способен генерировать «информационный шум». Этот тип нейрона относится к динамическим нейронам, поведение которых определяется их предыдущими состояниями. Нейрон Хопфилда описывается рекуррентным уравнением
х (k +1) = w,x( (k) + 9), (17)
i=1
где k — отсчеты моментов времени; х — входные сигналы; w — весовые коэффициенты; ^ — функция активации нейрона; 8 — порог нейронного элемента.
Нейрон Хопфилда в цепи обратной связи имеет элемент задержки, реализующий операцию сдвига назад во времени:
z ^х (k+1) = х (k).
На основе рекуррентного нейрона производится построение нейронной сети — осциллятора, которая состоит из четырех модифицированных нейронных элементов. Особое внимание уделяется возможности организации колебательного режима работы. Структурная схема сконструированной нейронной сети — осциллятора показана на рис. 6. На рисунке блоки sin, asin, cos, acos выполняют соответствующие тригонометрические операции над входными переменными, mod — деление по модулю, Z~1 — задержка сигнала на один такт работы осциллятора, hypot — вычисляет квадратный корень из суммы квадратов своих аргументов (эквивалент процедуры вычисления гипотенузы в прямоугольном треугольнике).
№ 3 (51) 2014
X 1(к)
Хп (к)
(к)
Рис. 5. Нейрон Хопфилда
Выходной сигнал системы имеет сложный характер (рис. 8), поэтому при его преобразовании в бинарную последовательность задается определенное значение порога. Если значение сигнала на текущем такте работы системы выше порогового уровня — это «логическая единица», в противном случае — «логический нуль». В качестве порогового значения берется среднее значение 10 предыдущих отсчетов. Структурная схема формирования порогового значения представлена на рис. 7.
Процесс функционирования осциллятора определяется начальными состояниями весовых коэффициентов. Рассмотрим пример работы осциллятора с весовыми коэффициентами, приведенными в табл. 1.
Выходной сигнал осциллятора показан на рис. 8. Отсчет времени проводится в так-
тах работы системы. Такт работы осциллятора занимает время, необходимое для генерации нового состояния. Выходной сигнал показывает, что детерминированная система (система, внутреннее состояние которой изменяется по детерминированным правилам) ведет себя сложным образом. Даже если состояния осциллятора определяются предыдущими выходными значениями, небольшие случайные изменения весов во время настройки системы делают невозможным предсказание состояний системы на длительный интервал времени (стохастическая система).
Рассмотрим сигнал, приведенный на рис. 9, на интервале времени от 2700 до 2800 тактов. Полученную зависимость необходимо преобразовать в бинарную последовательность. Сложная форма сигна-
Таблица 1
Значения весовых коэффициентов для нейросетевого осциллятора
0
Порядковый номер нейрона »1 »2 »3 »4 »5 »6 »7 »8
1 0,0009 -0,14 0,78 -0,55 0,98 0,37 0,88 0,47
2 0,26 0,0009 0,78 -0,55 -0,68 0,37 -0,88 —
3 0,0009 -0,14 0,78 -0,55 0,98 0,37 0,88 0,47
4 0,26 0,0009 0,78 -0,55 -0,68 0,37 -0,88 —
87
Рис. 6. Нейронная сеть — осциллятор
№ 3 (51) 2014
Сигнал
Рис. 7. Структурная схема формирования сигнала порогового значения
ла не позволяет задать фиксированное значение порога так, чтобы считать логической единицей случай, когда значение сигнала превышает порог, а логическим нулем — случай, когда выходной сигнал ниже заданного порогового уровня. В осцилляторе значение порога формируется на основе среднего значения десяти предыдущих отсчетов сигнала. Значения сигнала порога системы показаны на рис. 10 и 11.
В результате преобразования получаем бинарную последовательность. Из полученного набора нулей и единиц в дальнейшем формируются бинарные 32-разрядные векторы, из которых после нормализации получают значения, находящиеся в интервале от 0 до 1, используемые для управления процессом оптимизации (рис. 12).
Оценка эффективности разработанного алгоритма оптимизации проводилась на ос-
Отсчет времени (в тактах работы системы) Рис. 8. Выходной сигнал осциллятора
89
№ 3 (51) 2014
Отечем времени (в тактах работы системы)
Рис. 9. Выходной сигнал осциллятора на ограниченном интервале
Отсчет времени {в тактах работы системы)
Рис. 10. Изменение порога системы во времени
Отечег времени (в тактах работы системы) Рис. 11. Значение порога системы на ограниченном интервале времени
Рис. 12. Выходной бинарный сигнал осциллятора на ограниченном интервале
90
№ 3 (51) 2014
нове сравнения результатов работы в одинаковых экспериментальных условиях с генетическим алгоритмом оптимизации [3], структура хромосомы которого определяла возможные параметры сигма-пи сети. Такой способ представления хромосомы позволяет использовать стандартные генетические операторы и операторы мутации для поиска нужного решения.
Альтернативный алгоритм настройки сигма-пи сети на основе генетического алгоритма (ГА) выглядит следующим образом.
1. Задать обучающую и тестовую выборки. Обучающая выборка может быть получена на основе проведения исследования системы.
2. Определить количество сигма-пи нейронов в сети.
3. Задать функцию фитнесса (функцию приспособленности) в виде
Fit = 1X(d - У,)2, (18)
2 i=1
где P — число примеров в обучающей выборке; dj — желаемая величина выхода; yt — реальное значение выхода.
4. Используя метод бинарного кодирования, сгенерировать начальную популяцию хромосом в соответствии с архитектурой сигма-пи сети, установив ограничения на возможные значения входных переменных.
5. Случайным образом выбрать пары хромосом для последовательного применения к ним генетических операторов.
6. Сформировать генотип потомков. Для этого с заданной вероятностью произвести применение генетических операторов к популяции.
7. Вычислить функцию фитнесса всех хромосом.
a. Все параметры функций принадлежности, закодированные в соответствующих генах хромосом, подставить в нейронную сеть.
b. Для каждой хромосомы вычислить ошибку обучения.
8. Применить к полученной популяции оператор селекции.
9. Применить операторы мутации.
10. Определить количество хромосом, необходимых для формирования новой популяции.
11. Если выполненных генераций достаточно, то перейти к пункту 12, в противном случае перейти к пункту 5.
12. Конец.
Сравнение разработанного алгоритма оптимизации на основе модели переходов в пространстве состояний, базирующейся на двух описанных эвристиках, и генетического алгоритма проводилось на основе анализа возможностей этих алгоритмов уменьшить ошибку обучения НС на величину, равную 50%. Тестирование алгоритмов осуществлялось на одной и той же нейронной сети, но при этом производилось увеличение количества входных переменных путем задания дополнительных компонентов сети. На рисунке 13 приводится зависимость, из которой видно, как изменяются относительные затраты времени, необходимые для улучшения первоначального решения на 50% (уменьшения ошибки настраиваемой модели в два раза). На рисунке 13 ось абсцисс представляет собой отсчет количества переменных, участвующих в оптимизации, а ось ординат — время в относительных единицах. Относительный отсчет времени вводится для устранения зависимости алгоритма от конкретной вычислительной платформы [13]. В качестве значения времени, принимаемого за единицу, выбирается максимальное время работы одного из оптимизационных алгоритмов. При увеличении числа переменных увеличивается длина хромосом ГА, что приводит к усложнению операторов мутации, скрещивания и селекции. В результате решения данной задачи алгоритм оптимизации сигма-пи сети, основанный на комбинации алгоритмов случайного поиска с эвристиками для получения новых решений, показал эффективность большую, чем ГА.
Рассмотрим применение данной нейронной сети для решения задачи оценки пара-
№ 3 (51) 2014
ГА -----СПсЭ
О 10 2Û 30 4D SO
Количество arm ротируемых параметров
Рис. 13. Сравнение ГА и случайного поиска с эвристиками (СПсЭ)
метров безопасности канала передачи информации.
Проведение анализа канала передачи информации и формирование обучающей выборки
Для анализа состояния кабельных линий связи чаще всего применяют рефлектометр — прибор, функционирующий по тем же принципам, что и радар [2, 14]. Рефлектометр, подключенный к исследуемому кабелю, посылает последовательность импульсов в кабель связи и получает отраженный сигнал (импульс отражается от различных неоднородностей канала связи, скруток, несанкционированных подключений). По отраженному сигналу можно оценить состояние кабельной системы в целом. Существенным недостатком данного метода является высокая стоимость устройств такого типа. В качестве основного механизма для анализа канала связи предлагается использовать рассмотренную выше нейросетевую структуру в совокупности с разработанной схемой анализа канала передачи (рис. 14).
Основной проблемой является формирование обучающей выборки для данной структуры таким образом, чтобы в дальнейшем она могла взять на себя функции по анализу состояния канала связи. Для
формирования числовых последовательностей, характеризующих состояние канала связи, авторами предлагается следующий алгоритм. Электрическая схема, реализующая данный метод, располагается на противоположном конце канала передачи информации, в то время как генератор зондирующих импульсов располагается перед входом в канал.
1. В качестве зондирующего импульса используется единичный импульс от моностабильного генератора, выполненного на микросхеме интегрального таймера NE555. Посредством изменения параметров внешних компонентов генератора — емкости и сопротивления — задается необходимый период отправки сигнала. Применение моностабильного генератора позволит регулировать следование импульсов как в ручном, так и в автоматическом режиме (например, с помощью микроконтроллера ATmega8A), что необходимо на начальных этапах настройки данной системы. Импульс в канал подается через блок ограничителя амплитуды (компаратор LM339 в совокупности с микросхемой CD4053BE — мультиплексором сигналов) для обеспечения безопасности самой системы (будет рассмотрено ниже).
2. Сгенерированный прямоугольный импульс поступает в канал передачи через коммутатор сигналов (микросхема CD4053BE).
№ 3 (51) 2014
со ^ к N х 0) О з- Ев ~ с
^ ф о 3 ¡ш
* ¡5 & X
А ЦАП (ДР73С
Е ^ О
<
о: со СО X со ю
и ш о г£
со 1—
Е ™
О со (
Рис. 14. Структурная схема анализа канала передачи информации
После прохождения через канал связи сигнал попадает в аналогичное коммутирующее устройство, где определяются его характеристики и обеспечивается его «отражение» обратно в канал. Для осуществления функции управления его амплитуда стабилизируется до напряжения 5 В с помощью блока согласования амплитуд (выполнен на компараторе LM339). Затем сигнал поступает
на вход цифровой линии задержки (ЦЛЗ). ЦЛЗ выполнена на семи 8-разрядных сдвиговых регистрах 74НС595. Регистры данного типа легко соединить последовательно для увеличения разрядности. Регистр применяется как элемент задержки зондирующего сигнала. Кроме входа данных регистр 74НС595 обладает входами для тактовых импульсов, осуществляющих сдвиг данных,
93
№ 3 (51) 2014
и входом для «защелкивания» данных (отображения внутреннего состояния регистра на линии вывода).
Путем настройки частоты следования тактовых импульсов для этих входов (блок формирования управляющих сигналов, выполненный на счетчике HEF4520BP) можно управлять передачей сигнала по линии задержки, выполненной на регистрах. Для этой цели применялся интегральный таймер NE555, работающий в режиме астабильного генератора. Изменение параметров таймера приводит к изменению характеристик линии задержки, что позволяет настроить систему на заданную частоту анализа канала связи.
3. Сгенерированный зондирующий импульс поступает на линию задержки, представленную набором регистров. С первого информационного разряда первого регистра (ПИРПР) положительный импульс поступает на вход инвертора и2. Выход инвертора соединен с затвором полевого транзистора Q1 (IRF4905), который управляет светодио-дом оптопары ОРС1 (4Ш5). Поступление положительного импульса приводит к увеличению проводимости фототранзистора оптопары, коллектор которого соединен с выходом коммутатора сигнала, а эмиттер с анодом конденсатора емкостью 22 мкФ. Пока значение сигнала на ПИРПР остается положительным, идет накопление энергии пришедшего импульса. При этом часть энергии будет потеряна в линии связи за счет затухания сигнала и частичного его отражения от различных неоднородностей.
4. На следующем этапе работы устройства необходимо вернуть энергию пришедшего импульса обратно. Это удобно для анализа линии связи, так как устраняется необходимость в генерации зондирующих импульсов на одной стороне канала передачи и измерениях — на другой. Чтобы исключить возможность фальсификации возвращенного импульса (что может произойти при попытке злоумышленника скрыть несанкционированные манипуляции с каналом передачи информации), создается простейший колебательный контур из уже заряженного
конденсатора и катушки индуктивности L1 вместо простого разряда конденсатора в линию связи и формирования прямоугольного импульса. После того как зондирующий сигнал пройдет через линию задержки, на последнем информационном разряде последнего сдвигового регистра будет сформирован положительный импульс, который через инвертор и1 (HEF4049BP) подается на вход второго моностабильного генератора, формирующего импульс заданной длительности. Продолжительность импульса выбирается достаточной для завершения всех переходных процессов при замыкании заряженного конденсатора на катушку индуктивности L1 с помощью электромагнитного реле RL1 (HK23F — DC5V — SHG). Импульс на катушку реле подается не от генератора, а через инвертор (74НС14) сигнал поступает на затвор полевого транзистора Q2 (IRF4905), исток которого соединен с положительным полюсом источника питания, а сток — с выводом катушки реле.
5. Возвращенный сигнал имеет вид, показанный на рис. 15. На ось абсцисс нанесены временные отметки в тысячных долях секунды, а ось ординат — амплитуда сигнала в вольтах. В момент времени 5,158 с. начинается разряд конденсатора через катушку индуктивности. Переходный процесс завершится к моменту времени 5,164 с. По завершении процедуры быстрого преобразования Фурье (БПФ) над отсчетами данного сигнала (см. рис. 16) формируется обучающая выборка для нейронной сети.
При проверке состояния канала передачи информации в автоматическом режиме необходимо обеспечить последовательное повторение пунктов 1-5 данного алгоритма. Необходимо заметить, что генератор зондирующих импульсов расположен на одной стороне анализируемого канала передачи, а устройство «отражения» сигнала — на другой. Это дает возможность осуществить атаку на всю проверяющую систему типа «человек посередине» [15]. Данный тип вредоносного воздействия основан на имитации злоумышленником «отражен-
№ 3 (51) 2014
ного» сигнала путем подключения непосредственно к линии связи на отрезке между генератором зондирующих импульсов и «отражателем» сигналов, что позволяет скрыть следы манипуляций с каналом передачи. Для устранения этой проблемы необходимо изменять периодичность и амплитуду импульсов сигналов запуска поступающих на моностабильный генератор зондирующих импульсов [16]. Генерацию управляющих импульсов осуществлял конвертер напряжения в частоту (AD654JNZ), частоту колебаний данного генератора формируют три внешних фактора: емкость, сопротивление и входное напряжение. Емкость была фиксирована — 6800 пФ. Сопротивление изменялось с помощью двух цифровых потенциометров DS1804 (каждый на 10 кОм). Управление входным напряжением осуществлялось с помощью цифро-аналогового преобразователя (ЦАП) AD7302. Таким образом, изменяя два параметра во времени, можно регулировать частоту управляющих импульсов. Сигналы с конвертера поступают на дифференцирующую цепочку (конденсатор и резистор) для укорачивания сигнала. Данная процедура необходима для устранения возможности генерации более одного колебания генератором зондирующих импульсов от одного управляющего импульса [17].
Амплитуда импульса зондирующего сигнала с помощью компаратора LM339 ограничивалась. При превышении значения напряжения амплитуды сигнала заданного уровня компаратор устанавливал напряжение сигнала равным заданному максимуму. Формирование значения напряжения для ограничения верхней границы амплитуды импульса осуществлялось ЦАП AD7302. ЦАП и цифровой потенциометр (ЦП) имеют цифровой интерфейс: для управления значениями напряжения и сопротивления необходимо по одному байту данных. При использовании двух ЦАП и одного ЦП необходимо 3 байта данных. Для получения управляющих байтов применялось 3 банка памяти на основе микросхемы CMOS SRAM UT62256C (32 768 х 8 битов). Чтобы про-
цесс анализа состояния канала связи был непредсказуем и при анализе развивался по случайному направлению, перед процедурой запуска зондирования необходимо инициализировать память. В основу данного процесса положен механизм самоанализа канала связи. Для этого память инициализируется фиксированными значениями, например от генератора случайных чисел. После этого начинается процесс предварительного зондирования канала. При возвращении сигнала производится не анализ спектра, а вычисляется среднее значение амплитуды вернувшегося сигнала (вычисления осуществляются с помощью АЦП микроконтроллера АТтеда32). Затем выполняется операция исключающего ИЛИ между соответствующими управляющими байтами памяти и значением амплитуды вернувшегося сигнала. В работе применялось 50 таких генераций, в результате чего память инициализировалась уникальными для данного канала значениями. После данного процесса работу активизировал алгоритм анализа канала связи.
В качестве тестового канала связи применялся кабель типа BW7711 длиной 21 м. Спектр возращенного сигнала показан на рис. 16. После выполнения подключения на расстоянии 9 м от генератора зондирующих импульсов параллельного отвода длиной 8 м произошло изменение спектра сигнала (рис. 17). Полученные данные позволяют сформировать обучающую и тестовую выборки для нейронной сети [12].
Для анализа состояния канала передачи производится оценка 1400 значений спектра сигнала (см. рис. 16 и 17). Поскольку входной вектор такой размерности приводит к значительному усложнению архитектуры нейросетевого эксперта, анализирующего вектор входного сигнала, перед подачей на вход сети вектор необходимо сжать [15]. Для обеспечения безопасной работы всей системы был разработан алгоритм сжатия данных с переменными параметрами, определяемыми характеристикой анализируемого канала. В качестве основного базового компонента алгоритма сжа-
№ 3 (51) 2014
Рис. 15. Осциллограмма «отраженного» сигнала
тия данных применялся модифицированный нейрон N — адалина [4] (см. рис. 18). В данном нейроне блок sin выполняет преобразование: sin(n-x)• sin(n-y), блок cos — cos(n- x) • cos(n- y), блок tanh — tanh x • tanh y.
На основе представленного нейросете-вого элемента строится алгоритм нейросе-тевого сжатия данных. Входной слой имеет размерность, равную размерности сжимаемого вектора (1400). Каждый информационный вход имеет по три отвода для соединения с нейронами. Так как базовая структура имеет два входа, то первый слой состоит из 2100 элементов. Последующие слои обладают только одним информационным выводом, и если предыдущий слой содержит нечетное количество элементов, то значение сигнала с последнего вывода игнорируется. С учетом всего этого выполняется построение всей нейросетевой структуры для сжатия данных. Полученная сеть будет иметь 7 слоев с размерностями 1400, 2100, 1050, 524, 262, 130, 64, 32.
Таким образом, вектор исходных данных преобразуется в вектор из 32 значений. Такая высокая степень сжатия не ухудшает эффективность работы нейронной сети: ал-
горитм сжатия должен быть чувствительным к малейшим изменениям в первоначальной структуре данных, чтобы нейросетевой эксперт мог адекватно реагировать на изменения, происходящие в среде передачи.
Для проверки способности данной ней-росетевой структуры адекватно реагировать на изменения в исходном векторе производился анализ реакции системы на изменение значения на величину сотой доли в одной компоненте данных (всего 1400). Эксперименты показали, что такие незначительные изменения входного вектора приводят к изменениям в среднем трех компонентов 32-разрядного выходного вектора. Это позволяет нейросетевому эксперту адекватно реагировать даже на малейшие изменения векторов, характеризующих канал передачи информации.
Основным вопросом остается вопрос начального формирования структуры сети сжатия: весовых коэффициентов и топологии связей между слоями. Весовые коэффициенты выбраны с целью обеспечить уникальность процесса преобразования для каждого канала связи, начальные значения выбраны из трех модулей памяти CMOS SRAM. Всего в нейросетевой структуре для сжатия
96
№ 3 (51) 2014
Рис. 16. Результат выполнения ДПФ для сигнала с эталонного канала связи
Рис. 17. Результат выполнения ДПФ для сигнала с тестового канала связи
97
№ 3 (51) 2014
-y
Рис. 18. Базовая нейросетевая структура алгоритма сжатия данных
данных применяются 4162 нейронных элемента, каждый содержит по 6 весовых коэффициентов. В результате 24 972 значения определяются путем образования комбинации, включающей три байта из каждого модуля памяти, и последующей нормализации. Адресом каждого байта в модуле памяти служит порядковый номер весового коэффициента в нейросетевой структуре. Топология связей настраивается с помощью генетического алгоритма, обеспечивающего максимум степени чувствительности ней-росетевого алгоритма сжатия к изменению входных данных.
Приведенная схема формирования исходных данных для нейросетевого эксперта используется для формирования обучающей и тестовой выборок. В результате сигма-пи сеть будет обладать 32 входами, а количество выходов будет соответствовать степени доверия данному каналу передачи (в данной работе применялось 10 уровней доверия).
Заключение
В работе исследован комбинированный алгоритм обучения сигма-пи нейронной се-
ти на основе комплекса алгоритмов случайного поиска. В алгоритме применяются эвристики на основе организации графовой модели переходов и модели изменения состояния геометрической системы. Управление развитием процесса оптимизации осуществляется с помощью нейросете-вого осциллятора.
Выявленное увеличение эффективности обучения сигма-пи нейронной сети, составившее в среднем 35% по сравнению с генетическим алгоритмом, доказывает преимущество гибридных стратегий обучения перед стандартными эволюционными алгоритмами обучения нейронных сетей.
Эксперименты с изменением физической среды передачи информации, в качестве которой в экспериментах применялся кабель BW7711, показали, что разработанная система позволяет оперативно снижать уровень доверия к каналу передачи информации в случае подключения отводов, попыток изменения длины кабеля и замыкания отдельных жил.
Результаты работы позволяют заключить, что сигма-пи сеть может быть использована для оценки параметров физической среды передачи, а полученные на ее основе данные
98
№ 3 (51) 2014
могут применяться в алгоритмах, для работы которых необходима информация подобного типа, в частности алгоритмах маршрутизации, коммутации и обнаружения вторжений.
Список литературы
1. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 4-е издание. СПб.: Питер, 2011. — 944 с.
2. Бигелоу С. Сети: поиск неисправностей, поддержка и восстановление: Пер. с англ. СПб.: БХВ — Петербург, 2005. — 1200 с.
3. Бодянский Е. В, Руденко О. Г. Искусственные нейронные сети: архитектуры, обучение, применения. Харьков: ТЕЛЕТЕХ, 2004. — 369 с.
4. Осовский С. Нейронные сети для обработки информации / Пер. с польского И. Д. Рудинского. М.: Финансы и статистика, 2002. — 344 с.
5. Ежов А. А., Шумский С. А. Нейрокомпьютинг и его применение в экономике и бизнесе. М.: МИФИ, 1998. — 224 с.
6. Назаров А. В, Лоскутов А. И. Нейросетевые алгоритмы прогнозирования и оптимизации систем. СПб.: Наука и Техника, 2003. — 384 с.
7. Паклин Н. Б., Орешков В. И. Бизнес-аналитика: от данных к знаниям: Учебное пособие. 2-е изд., испр. СПб.: Питер, 2013. — 704 с.
8. РастригинЛ. А. Адаптация сложных систем. Рига: Зинатне, 1981. — 375 с.
9. Новиков Ф. А. Дискретная математика для программистов: Учебник для вузов. 3-е изд. Спб.: Питер, 2009. — 384 с.
10. Комарцова Л. Г, Максимов А. В. Нейрокомпьютеры: Учебное пособие для вузов. 2-е изд., пе-рераб. и доп. М.: Изд-во МГТУ им. Н. Э. Баумана, 2004. — 400 с.
11. Мандель И. Д. Кластерный анализ. М.: Финансы и статистика. 1988. — 176 с.
12. Хайкин С. Нейронные сети: полный курс, 2-е издание.: Пер. с англ. М.: Издательский дом «Вильямс», 2008. — 1104 с.
13. Комашинский В. И, Смирнов Д. А. Нейронные сети и их применение в системах управления и связи. М.: Горячая линия — Телеком, 2003. — 94 с.
14. Олифер В. Г., Олифер Н. А. Сетевые операционные системы: Учебник для вузов. 2-е изд. Спб.: Питер, 2008. — 669 с.
15. Лачин В. И. Электроника: учеб. пособие / В. И. Лачин, Н. С. Савелов. 7-е изд. Ростов н/Д: Феникс, 2009. — 703 с.
16. Червяков Н. И, Евдокимов А. А, Галушкин А. И, Лавриненко И. Н., Лавриненко А. В. Применение искусственных нейронных сетей и системы остаточных классов в криптографии. М.:ФИЗ-МАТЛИТ, 2012. — 280 с.
17. Хоровиц П., Хилл У. Искусство схемотехники: Пер. с англ. 7-е изд. М.: Мир, БИНОМ, 2011. — 704 с.
Yu. Lavrenkov, Post-graduate student, Kaluga Branch of the Bauman Moscow State Technical University, georglawr@yandex.ru
L. Komartsova, Dr of Technique, Professor, Kaluga Branch of the Bauman Moscow State Technical University, lkomartsova@yandex.ru
Analysis of the data transmission channel characteristics using neural network
The article describes a hybrid algorithm of neural network settings using sigma-pi neurons concept. Core of the learning algorithm is a combination of random search algorithms and heuristic algorithms. The process of heuristic algorithm control based on an oscillating neural network is considered. An integrated approach to neural networks training based on sigma-pi neurons allows them to perform training for the time required to adjust the neural network to problems solving. The possibility of using sigma-pi network to estimate the parameters of data transmission channel security based on the analysis of the reflected signal-probing spectrum is discussed. To form the training and test sample network a wireline analysing device was developed.
Keywords: sigma-pi neural network, genetic algorithm, heuristic algorithm neural network training, communication, fast Fourier transform.