Научная статья на тему 'ИСПОЛЬЗОВАНИЕ БЛОЧНОГО ПСЕВДООБРАЩЕНИЯ В ПОСЛЕДОВАТЕЛЬНОЙ ОБРАБОТКЕ ДАННЫХ'

ИСПОЛЬЗОВАНИЕ БЛОЧНОГО ПСЕВДООБРАЩЕНИЯ В ПОСЛЕДОВАТЕЛЬНОЙ ОБРАБОТКЕ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
76
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЛОЧНОЕ ПСЕВДООБРАЩЕНИЕ / ОБРАБОТКА ДАННЫХ / АЛГОРИТМ ГРЕВИЛЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Трофимов Е.П.

Предложен алгоритм последовательной обработки данных на основе блочного псевдообращения матриц полного столбцового ранга. Показывается, что формула блочного псевдообращения, лежащая в основе алгоритма, является обобщением одного шага алгоритма Гревиля псевдообращения в невырожденном случае и потому может быть использована для обобщения метода нахождения весов нейросетевой функции LSHDI (linear solutions to higher dimensional interlayer networks), основанного на алгоритме Гревиля. Представленный алгоритм на каждом этапе использует найденные на предыдущих этапах псевдообратные к блокам матрицы и, следовательно, позволяет сократить вычисления не только за счет работы с матрицами меньшего размера, но и за счет повторного использования уже найденной информации. Приводятся примеры применения алгоритма для восстановления искаженных работой фильтра (шума) одномерных сигналов и двумерных сигналов (изображений). Рассматриваются случаи, когда фильтр является статическим, но на практике встречаются ситуации, когда матрица фильтра меняется с течением времени. Описанный алгоритм позволяет непосредственно в процессе получения входного сигнала перестраивать псевдообратную матрицу с учетом изменения одного или нескольких блоков матрицы фильтра, и потому алгоритм может быть использован и в случае зависящих от времени параметров фильтра (шума). Кроме того, как показывают вычислительные эксперименты, формула блочного псевдообращения, на которой основан описываемый алгоритм, хорошо работает и в случае плохо обусловленных матриц, что часто встречается на практике

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Трофимов Е.П.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING BLOCK PSEUDOREVERSION IN SEQUENTIAL DATA PROCESSING

The paper proposes an algorithm for sequential data processing based on block pseudoinverse of full column rank matrixes. It is shown that the block pseudoinverse formula underlying the algorithm is a generalization of one step of the Greville’s pseudoinverse algorithm in the nonsingular case and can also be used as a generalization for finding weights of neural network function in the LSHDI algorithm (linear solutions to higher dimensional interlayer networks). The presented algorithm uses the pseudoinversed matrixes found at each step, and therefore allows one to reduce the computations not only by working with matrixes of smaller size but also by reusing the already found information. Examples of application of the algorithm for signal and image reconstruction are given. The article deals with cases where noise is static but the algorithm is similarly well suited to dynamically changing noises, allowing one to process input data in blocks on the fly, depending on changes. The block pseudoreverse formula, on which the described algorithm is based, works well in the case of ill-conditioned matrixes, which is often encountered in practice

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ БЛОЧНОГО ПСЕВДООБРАЩЕНИЯ В ПОСЛЕДОВАТЕЛЬНОЙ ОБРАБОТКЕ ДАННЫХ»

DOI 10.36622/VSTU.2021.17.6.009 УДК 519.71

ИСПОЛЬЗОВАНИЕ БЛОЧНОГО ПСЕВДООБРАЩЕНИЯ В ПОСЛЕДОВАТЕЛЬНОЙ

ОБРАБОТКЕ ДАННЫХ

Е.П. Трофимов

Липецкий государственный технический университет, г. Липецк, Россия

Аннотация: предложен алгоритм последовательной обработки данных на основе блочного псевдообращения матриц полного столбцового ранга. Показывается, что формула блочного псевдообращения, лежащая в основе алгоритма, является обобщением одного шага алгоритма Гревиля псевдообращения в невырожденном случае и потому может быть использована для обобщения метода нахождения весов нейросетевой функции LSHDI (linear solutions to higher dimensional interlayer networks), основанного на алгоритме Гревиля. Представленный алгоритм на каждом этапе использует найденные на предыдущих этапах псевдообратные к блокам матрицы и, следовательно, позволяет сократить вычисления не только за счет работы с матрицами меньшего размера, но и за счет повторного использования уже найденной информации. Приводятся примеры применения алгоритма для восстановления искаженных работой фильтра (шума) одномерных сигналов и двумерных сигналов (изображений). Рассматриваются случаи, когда фильтр является статическим, но на практике встречаются ситуации, когда матрица фильтра меняется с течением времени. Описанный алгоритм позволяет непосредственно в процессе получения входного сигнала перестраивать псевдообратную матрицу с учетом изменения одного или нескольких блоков матрицы фильтра, и потому алгоритм может быть использован и в случае зависящих от времени параметров фильтра (шума). Кроме того, как показывают вычислительные эксперименты, формула блочного псевдообращения, на которой основан описываемый алгоритм, хорошо работает и в случае плохо обусловленных матриц, что часто встречается на практике

Ключевые слова: блочное псевдообращение, обработка данных, алгоритм Гревиля

Введение

Задача обработки данных нередко сводится к решению переопределенной системы линейных алгебраических уравнений [1-5]. В общем случае для переопределенных систем в качестве решения берется минимальный по норме вектор, дающий оптимальное в смысле наименьших квадратов решение, называемое псевдорешением [6-8]. Часто псевдорешение находится методом псевдообращения матриц, однако такой метод не всегда является оптимальным.

В большинстве случаев принимается, что входные данные известны в полном объеме, однако на практике возникают ситуации, когда данные поступают с некоторой задержкой или их обработка происходит последовательно. В такой ситуации к исходной матрице системы поэтапно добавляются столбцы, и для нахождения псевдорешения требуется пересчёт полученной матрицы на каждом этапе. В данном случае нахождение псевдообратной матрицы методом сингулярного разложения не будет оптимальным, так как операция псевдообращения имеет третий порядок сложности 0(п3) и при больших п. При поступлении очередного блока данных нам уже известна псевдообратная

© Трофимов Е.П., 2021

матрица к блоку на предыдущем этапе, поэтому предлагается использовать формулу блочного псевдообращения, полученного в [9,14]:

Е Н£Н2 -1

.Н-^ Hi Е

Несмотря на то, что в формуле также используется псевдообращение матриц, оно затрагивает только блоки исходной матрицы, что позволяет сократить количество вычислений. Кроме того, формула применима для обработки сигнала, поступающего с разных источников, то есть позволяет находить псевдообратную матрицу при добавлении нескольких блоков.

В частном случае предлагаемый алгоритм является одним шагом алгоритма Гревиля (или одним шагом алгоритма Качмажа [15-16]) и может быть применен для обучения нейронных сетей [3] или для решения задачи идентификации окрестностных систем с предысторией [12].

Постановка задачи

Пусть У - входной сигнал, а X - исходный сигнал. X, У могут быть как векторными, так и матричными величинами. Пусть также входной сигнал получается путем воздействия каких-либо помех на исходный сигнал по следующей формуле:

Y = НХ, (1)

\Хг]

[х2\ [у2\

где Н - матрица, например, в случае одномерного электрического сигнала Н будет наборов векторов, составленных из значений импульсной характеристики источника за определенный период времени. Далее предположим, что входящий сигнал к нам поступает порционно. На первом этапе мы получили часть входящего вектора Уг и части матрицы преобразования исходного вектора Нг:

Нг Хг = Уг.

На следующем этапе мы принимаем вторую часть сигнала, получим уравнение

[Нг Н2] И так далее для п этапов:

[Н1 Я2 ... Нп]

Предположим, что матрица [Нг Н2 ... Нп] имеет полный столбцовый ранг. Ставится задача частичного восстановления исходного вектора [XIХ2 ... Х^]7 при поступлении /-го блока данных Я;, если известны . Алго-

ритм решения данной задачи опишем в следующем разделе.

Описание алгоритма

На первом этапе имеем: Н1Х1 = У1, откуда Хг = Я1 + У1 На втором этапе

откуда исходный вектор

Хг Уг

ХП-

■х1 Уг Хг

= ш и Ш

[Нг Н2]

Чтобы найти [Нг Н2 лой (1) [9]:

Е Н2Нг

= [Нг Н2]-

Уг

воспользуемся форму-

[Нг Н2]+ =

НгН2

Нг1

Я,+

(2)

\ХА Е Н^Н2

[х2\ .Н2 Нг Е

(3)

тогда восстановленный сигнал находится по формуле:

При поступлении дальнейших частей сигнала формула (2) используется рекуррентно (матрица [Нг Н2] будет первым блоком для матрицы [Нг Н2 ■ Н3] и так далее). В случае, если требуется добавить сразу несколько блоков, когда, например, сигнал поступает с разных источников, то формула (2) приобретет вид:

[Нг ... Н„]+ =

я- [Нг . ■ Н„] -1 Нг

н1 - -Н1

Хг

X

N-1

Я+

-Н1

[Нг

Ни]

-1

Я+

-Нй

Уг

Нахождение псевдообратной матрицы по формуле (2) имеет такой же порядок сложности, как и нахождение с помощью сингулярного разложения или формулы псевдообращения матрицы полного столбцового ранга А+ = (АтА)~гАт [6-8,13]. Однако мы знаем псевдообратную матрицу для блока Нг, и за счет разбиения на блоки (понижения размерности мат-

7 ,

риц) мы получаем оценку сложности в 0(-пл).

Предлагаемый алгоритм работает в случае, если матрица имеет полный столбцовый ранг и число строк больше или равно числу столбцов (в обратном случае формула легко транспонируется), однако в задачах восстановления сигнала данное требование почти всегда выполняется. Кроме того, вычислительные эксперименты показывают, что алгоритм хорошо справляется даже с плохо обусловленными матрицами. Также алгоритм подходит для случая, когда шум не является статическим. В этом случае мы имеем возможность пересчитывать псевдообратную матрицу при изменении какой-либо зашумленной части.

Пример применения алгоритма для восстановления сигнала

В одномерном случае искомый сигнал х(Ь) определяется интегральным уравнением свёртки [1-2]

У(0 = 1,оЛ(С-т)х(т)йт , (4) где - импульсная характеристика филь-

тра, у(£) - выходной сигнал. Переходя к интегральной сумме

у(1) = Т1к0-1Тк(1-кТ)х(кТ), (5) где Т - шаг интервала, К - количество интервалов, к - номер интервала. Обозначим Н(Ь) = Тк(Ь — кТ) и X = х(кТ), получим

уа) = 1К0~1н(1)х.

Обозначая Я = Н(Нг Н2 ... Нк), получим систему линейных уравнений

Y = НХ. (6)

Тогда исходный сигнал восстанавливается по формуле

X = Н^. (7)

Матрица Н имеет вид:

0 0 0

¡4 = Ло 0 0

Ь(к-1) ^(К-2)

где ^ = Ь(г) - значение импульсной характеристики в момент времени г.

Приведем пример. Пусть исходный сигнал задается как sin(3í + 5) + sin(8í), Ь = [1,24]. А импульсная характеристика =

^р-г/лс

яс е

где R и С - параметры цепи.

10 15 20 0 5 10 15 20

а) исходный сигнал б) импульсная характеристика

Рис. 1. Графики исходного сигнала и импульсной характеристики

Тогда график входящего сигнала: 1.

0 5 10 15 20

Рис. 2. График входящего сигнала

Входящий сигнал будем принимать в 4 этапа: ^ = [1,4], Ь2 = (4,8], ¿3 = (8,20], С4 = (20,24]. Восстановление на первом этапе сводится к нахождению псевдообратной для блока Н± = [Л4(4) Л3(3) Л2(2) ^(1)].

При получении первой части сигнала ^ = [1,4] находим часть восстановленного вектора как х1 = ^(Цу^

Рис. 3. Восстановленный на первом этапе сигнал

При поступлении второй части сигнала у2 вектор исходного сигнала [х^ х^]т восстанавливается по формуле

Н = [ Е

Ч+/ Е

И

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

График восстановленного сигнала [х^ х£]т 2

Рис. 4. Восстановленный на втором этапе сигнал

На третьем этапе мы знаем Я^ = [Ь2 + . Тогда третью часть исходного сигнала найдем по формуле

=

1_Х31

я2+ь3

Е

-1 гУл

У2

-Уз-

-1

-2

О 5 10 15 20 Рис. 5. Восстановленный на третьем этапе сигнал

При получении последней части сигнала мы находим псевдообратную матрицу к полной матрице Н, следовательно, получаем полностью восстановленный сигнал:

Рис. 6. Полностью восстановленный на четвертом этапе сигнал

Видно, что восстановленный сигнал полностью идентичен первоначальному. Очевидно, что эффективность данного алгоритма зависит от размерности блоков, обусловленности матрицы и наиболее эффективен при больших (широких) блоках.

Сведение к алгоритму Гревиля и применение к обучению нейросетей

В работе [3] представлен алгоритм LSHDI (linear solutions to higher dimensional interlayer networks), который используется для нахождения весовых коэффициентов многослойного перцептрона [10]. Рассматриваемая нейросеть задается как

Уп,

где £ - время или индекс ряда, £ И1х1 -входные данные, £ Ямх1 - выходной слой,

(2)

уп,{ - линейная сумма весов мЛ у для М слоев, п

- выход слоя / - индекс входящего вектора, д

- функция активации. Тогда задачу настройки весов можно выразить следующим образом. Дан набор из к выходов скрытых слоев

j,t = g\Ywffxiit I,

4 = 1

которые можно представить в виде матрицы А = [а-г ... ак], обозначая за Ш матрицу весов, У выходные значения запишем:

WA = Y ^ W = YA+.

В алгоритме LSHDI используется формула Гревиля:

At-^E - акЬ1)

ьтк

= УкА+к = [Ук.1 ук] = Щ-1 + (Ук — Щ-1ак)Ь%, где Ьк = (а[Так) гТак и Т = ( Ак_1 Ак_1т)+.

Однако можно показать, что формула Гре-виля в случае полного столбцового ранга является частным случаем формулы (2). Чтобы это показать, нужно в явном виде расписать обратную матрицу

[нп_1 = ^Ч 1(Л2,6 -

\.ппнп_1 е столбцы) с помощью формулы окаймленной матрицы [8]:

Я"1 =

Е +

Hn-ih-nh-nH-n-i

а

h-n^n-1

где а = 1 — h'^Hn_1H^[_1hn. Умножив полу-

ченную матрицу на

h+ ILn

и упрощая, получим

H-i = ^-¿Е — hnr)j,

где т = -^-(Е — ЯП_1ЯГ^"_1). Полученная формула является одним шагом алгоритма Гревиля в невырожденном случае [11].

Восстановление изображений

Восстановление изображений происходит аналогично восстановлению сигналов, с той лишь разницей, что в уравнении (10) X и Y -матрицы.

Для примера рассмотрим изображение размером 512^512:

Рис. 7. Исходное изображение

Пусть на исходное изображение воздействует матрица шума Я512Х512 (см. рис. 8) с нормально распределенными элементами, то есть Y = НХ.

Рис. 8. Матрица шума

Под воздействием шума исходное изображение примет вид:

Рис. 9. Зашумленное изображение

Пусть теперь на обработку поступает первый блок данных размером 512^280, по которому с помощью формулы (5) мы можем получить частично восстановленную область изображения размером 280^280 (рис. 10).

Рис. 10. Восстановление по первому блоку данных изображение

Предположим, что на втором шаге поступает блок размером 512x120, позволяющий получить больше информации об исходном изоб-

ражении. Восстановленный блок изображения будет иметь размер (280+120)х(280+120).

Рис. 11. Восстановление по двум блокам

На третьем шаге поступает последний блок данных размером 512x120. В результате работы алгоритма общий размер всех блоков составит 512x512, и мы получим полностью восстановленное изображение (рис. 12).

Рис. 12. Восстановленное изображение

Выводы

В статье предложен алгоритм последовательной обработки данных, основанный на полученной ранее автором формуле блочного псевдообращения матриц полного столбцового ранга. В случае, когда обработка данных сводится к решению систем линейных уравнений и происходит последовательно, с добавлением очередных блоков данных, предложенный алгоритм во многих случаях обладает вычислительными преимуществами по сравнению с аналогами. Кроме того, алгоритм хорошо справляется со случаем плохо обусловленных матриц, что часто встречается на практике. Алгоритм может быть использован в задачах параметрической идентификации для уточнения модели при поступлении новых данных или в случае добавления в ранее построенные окрестностные модели новых узлов.

Литература

1. Самойленко М.В. Матрично-итерационный метод решения системы линейных уравнений и его применение в томографическом сканировании пространства с использованием радиолокационной станции // Научно-технический вестник информационных технологий, механики и оптики. 2018. Т. 18. № 3. С. 437-446.

2. Самойленко М.В. Восстановление сигнала на входе фильтра по выходному сигналу и импульсной характеристике // DSPA: Вопросы применения цифровой обработки сигналов. 2017. Т. 7. № 2. С. 194-198.

3. Tapson J., A. van Schaik. Learning the pseudoinverse solution to network weights // Neural Networks. 2013. Volume 45. P. 94-100

4. Efficient Signal Reconstruction for a Broad Range of Applications/ А. Abolfazl, А. Jees, N. Azade, N.Z. Saravanan Thirumuruganathan, D. Gautam, S. Divesh// SIGMOD Rec. 2019. №48. 1. P. 42-49.

5. Shmyrin A.M., Mishachev N.M. and Trofimov E.P. Neighborhood Systems Priority Identification and Randomized Kaczmarz Algorithm// International Russian Automation Conference (RusAutoCon). 2018. pp. 1-4. DOI: 10.1109/RUSAUT0C0N.2018.8501772.

6. Алберт А. Псевдоинверсия, регрессия и рекуррентное оценивание. М.: Наука, 1977. 224 с.

7. Вержбицкий В.М. Вычислительная линейная алгебра. М.: Высш. шк., 2009. 351 c.

8. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры // Физматггиз. 1963. 132 с.

9. Трофимов Е.П. О псевдообращении блочных матриц полного ранга // Системы управления и информационные технологии. 2020. №2(80). С. 24-27

10. Bishop C.M. Neural networks for pattern recognition // Oxford: Oxford University Press. 2008. 482 p.

11. Трофимов Е.П. О количестве арифметических действий в алгоритме Гревиля // Вестник Липецкого государственного технического университета. 2020. № 1 (42). С. 27-31.

12. Шмырин А.М., Мишачёв Н.М., Трофимов Е.П. Коррекция линейной окрестностной модели с учетом новых данных // Вестник российских университетов. Математика. 2015. №20.5. С. 1544-1546.

13. Melzer T. SVD and its Application to Generalized // Eigenvalue Problems. 2004. №1.3. Р. 1-16

14. Shmyrin A.M., Mishachev N.M., Trofimov E.P. A Note on Heuristic Analog of Cline's Formula // Global Journal of Pure and Applied Mathematics. 2016. № 12.4. Р. 3401—3405

15. Kaczmarz S. Approximate solution of system of linear equations // Internar J. Control. 1993. V. 57. N 6. p.1271.

Поступила 21.10.2021; принята к публикации 15.12.2021 Информация об авторах

Трофимов Евгений Павлович - аспирант кафедры высшей математики, Липецкий государственный технический университет (398055, Россия, г. Липецк, ул. Московская, д. 30), e-mail: trofimovep@list.ru

USING BLOCK PSEUDOREVERSION IN SEQUENTIAL DATA PROCESSING

E.P. Trofimov Lipetsk State Technical University, Lipetsk, Russia

Abstract: the paper proposes an algorithm for sequential data processing based on block pseudoinverse of full column rank matrixes. It is shown that the block pseudoinverse formula underlying the algorithm is a generalization of one step of the Greville's pseudoinverse algorithm in the nonsingular case and can also be used as a generalization for finding weights of neural network function in the LSHDI algorithm (linear solutions to higher dimensional interlayer networks). The presented algorithm uses the pseudoinversed matrixes found at each step, and therefore allows one to reduce the computations not only by working with matrixes of smaller size but also by reusing the already found information. Examples of application of the algorithm for signal and image reconstruction are given. The article deals with cases where noise is static but the algorithm is similarly well suited to dynamically changing noises, allowing one to process input data in blocks on the fly, depending on changes. The block pseudoreverse formula, on which the described algorithm is based, works well in the case of ill-conditioned matrixes, which is often encountered in practice

Key words: block pseudoreverse, data processing, Greville's algorithm

References

1. Samoylenko M.V. "Matrix-iterative method for solving a system of linear equations and its application in tomographic space scanning using radar station", Scientific and Technical Bulletin of Information Technologies, Mechanics and Optics (Nauchno-tekhnicheskiy vestnik informatsionnykh tekhnologiy, mekhaniki i optiki), 2018, vol. 18, no. 3, pp. 437-446.

2. Samoylenko M.V. "Signal reconstruction at the filter input by the output signal and impulse response", DSPA: Problems of Digital Signal Processing Applications (DSPA: Voprosy primeneniya tsifrovoy obrabotki signalov), 2017, vol. 7, no. 2, pp. 194-198.

3. Tapson J., Van Schaik A. "Learning the pseudoinverse solution to network weights", Neural Networks, 2013, vol. 45, pp. 94-100.

4. Abolfazl A., Jees A., Azade N., Saravanan T., Nan Z., Gautam D., Divesh S. "Efficient signal reconstruction for a broad range of applications", SIGMOD Rec., March 2019, no. 48.1, pp. 42-49.

5. Shmyrin A. M., Mishachev N. M., Trofimov E.P. "Neighborhood systems priority identification and randomized Kaczmarz algorithm", Int. Russian Automation Conf. (RusAutoCon), Sochi, Russia, 2018, pp. 1-4.

6. Albert A. "Pseudoinversion, regression, and recurrence estimation" ("Psevdoinversiya, regressiya i rekurrentnoe otsenivanie"), Moscow: Nauka, 1977, 224 p.

7. Verzhbitskiy V.M. "Computational linear algebra" ("Vychislitel'naya lineynaya algebra"), Moscow: Vysshaya shkola, 2009, 351 p.

8. Faddeev D.K., Faddeeva V.N. "Computational methods of linear algebra" ("Vychislitel'nye metody lineynoy algebry"), Fizmatggiz, 1963, 132 p.

9. Trofimov E.P. "On pseudo-inversion of block matrices of full rank", Control Systems and Information Technologies (Sis-temy upravleniya i informatsionnye tekhnologii), 2020, no. 2(80), pp. 24-27.

10. Bishop C.M. "Neural networks for pattern recognition", Oxford University Press, 2008.

11. Trofimov E.P. "On the number of arithmetic actions in Greville's algorithm", Bulletin of Lipetsk State Technical University (Vestnik Lipetskogo gosudarstvennogo tekhnicheskogo universiteta), 2020, 1 (42), pp. 27-31.

12. Shmyrin A.M., Mishachev N.M., Trofimov E.P. "Correction of a linear neighborhood model with new data", Bulletin of Russian Universities. Mathematics (Vestnik rossiyskikh universitetov. Matematika), 2015, no. 20.5, pp. 1544-1546.

13. Melzer T. "SVD and its application to generalized", Eigenvalue Problems, 2004, no. 1.3, pp. 1-16.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

14. Shmyrin A.M., Mishachev N.M., Trofimov E.P. "A note on heuristic analog of Cline's formula", Global J.l of Pure and Applied Mathematics, 2016, no. 12.4, pp. 3401-3405.

15. Kaczmarz S. "Approximate solution of system of linear equations", Int. J. Control, 1993, vol. 57, no. 6, pp. 1271.

Submitted 21.10.2021; revised 15.12.2021 Information about the author

Evgeniy P. Trofimov, graduate student, Lipetsk State Technical University (30 Moskovskaya str., Lipetsk 398055, Russia), e-mail: trofimovep@list.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.