МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ И ВЫЧИСЛЕНИЯ
УДК 004.032.26
© А. А. Айзикович, А. Ю. Усынин
[email protected], [email protected]
ПРИМЕНЕНИЕ ПЕРСЕПТРОНА В ЦИФРОВОЙ ФИЛЬТРАЦИИ СИГНАЛОВ1
Ключевые слова: нейронные сети, персептрон, цифровая фильтрация сигналов, адаптивная фильтрация.
Abstract. The algorithm of use of the perceptron is resulted in an adaptive filtration of signals.
Рассмотрим применение нейронной сети к задаче распознавания сигналов — задаче фильтрации.
Пусть непрерывный зашумленный входной сигнал f (t) задан на отрезке [a, b] и такой, что fmin = 0, fmax = A, из которого требуется выделить полезный сигнал. Проведем дискретиза-
b — a A
цию ti = а Н--------г, квантование jj = — j и введем вектор
x = (xi ,...,Xn ) , такой, что xk (ti) = 5kj, если f (ti) € [fj, fj+i], где 5kj — символ Кронекера ( §kk = 1, $kj = 0 при k = j ). Таким же образом введем векторы y = (yi,..., yN) и d = (di,..., dN) ,
хРабота выполнена при поддержке гранта по программе «Студенты, аспиранты и молодые ученые — малому наукоемкому бизнесу «Ползуновские гранты» (2005).
определяемые соответственно выходным и образцовым сигналами. После проведенной формализации исходную задачу можно рассматривать как задачу, определенную на нейронных сетях.
Рассмотрим применение модели МакКаллока-Питса к данной задаче — простого персептрона с N нейронами [1].
Пусть Wij — весовые коэффициенты входов сумматора, на которые поступают входные сигналы Xj , а Wio — пороговое значение, поступающее с поляризатора. Нелинейная функция активации персептрона представляет собой дискретную функцию ступенчатого типа — функцию Хевисайда, вследствие чего выходной сигнал нейрона может принимать только два значения — 0 или 1 в соответствии с правилом
, л _ { 1,щ ^ 0,
Уі(щ) \ 0,щ < 0,
где
N
Щ — ^ ^ wij xj j=0
выходной сигнал сумматора, Хо — 1.
Обучение персептрона требует наличие учителя и состоит в подборе весов Wij таким образом, чтобы выходной сигнал у і был наиболее близок к заданному значению (1і . Обучение персептрона будем производить с помощью правила персептрона:
Wij(г) — Wij(г -1) + Xj(г)((іі{г) - уі(ь)),
где г — текущий момент времени. Таким образом, на каждом шаге будем пересчитывать весовые коэффициенты Wij , что позволит учитывать особенности изменения поведения сигнала.
Такое адаптивное обучение требует 2N2 + 5N + 2 сложений и N2 + 3N + 2 умножений. Так как в решаемой задаче Xj Є {0,1} , то можно модифицировать алгоритм следующим образом:
Що — ^о + w0j, uj — wj0 + wjj,
'ш1о(г) = 'ш1о(г - 1) + бг(г) - у г(г),
'Шц (г) = 'Шг^ (г - 1) + 6г (г) - Уг (г).
Модифицированный алгоритм требует 4Ы + 6 сложений.
Исходный сигнал
Зашумленный сигнал
Отфильтрованный сигнал Рис. 1: Пример работы программы
Описанный алгоритм реализован в среде разработки Delphi 6 и существенно отличается от рассмотренного в [2]. На рис. 1 представлен пример работы программы — фильтрация сигнала пер-септроном с N =100 нейронами. В качестве исходного сигнала взят сигнал sin t с адаптивно добавленной случайной помехой со значениями из промежутка [-0, 2; 0, 2] . Видно, что на начальном этапе, когда только начат процесс обучения, фильтрации, как и следовало ожидать, еще нет.
Таким образом, показана возможность применения нейронных сетей к адаптивной фильтрации сигналов. Реализованные алгоритмы используют однослойную сеть с изменяемым числом нейронов типа персептрон. Обучение сети возможно в произвольные моменты времени. Проведенное упрощение правила персептрона, основанное на специфике задачи, позволило значительно уменьшить арифметические затраты.
* * *
1. Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2004. 344 с.
2. Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6. М.: ДИАЛОГ-МИФИ, 2002. 496 с.