DOI 10.25987/УБТи.2020Л6Л.008 УДК 004.032.2
ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ НЕЙРОСЕТЕВОГО КОДИРОВАНИЯ
И ДЕКОДИРОВАНИЯ
А.В. Башкиров, Д.А. Пухов, И.В. Свиридова, М.В. Хорошайлова
Воронежский государственный технический университет, г. Воронеж, Россия
Аннотация: предложен прямой кодер искусственной нейронной сети, который принимает в качестве своей основной структуры самоорганизующуюся карту (БОМ) нейронной сети. Для этого кодера построена прямая нейронная сеть в соответствии с размером исходных битов и битов кодового слова. Выбрано правильное распределение вычислительных наборов и инициализированы наборы значений согласно алгоритму. Проверена уникальность наборов кодовых слов до нахождения совпадения. В процессе декодирования в качестве нейросетевого декодера используется многослойная сеть персептрона (МЬР^. Для этого строится MLPN в соответствии с размером исходных битов и битов кодового слова. Затем обучаем MLPN наборам кодовых слов, генерируемых прямой нейронной сетью. Далее мы не останавливаем тренировочный процесс до тех пор, пока общая ошибка не станет минимальной. Наконец, мы принимаем и декодируем наборы кодовых слов. Фактические тесты моделирования показывают, что возможно как кодирование, так и декодирование нейронной сети. Причем лучшая производительность достигается при условии правильной прямой структуры нейронной сети и степени выхода узла X. Наборы кодовых слов, генерируемые кодировщиком нейронной сети, не могут быть декодированы традиционными математическими методами, что имеет хорошие перспективы для обеспечения безопасности связи
Ключевые слова: прямая нейронная сеть, самоорганизующаяся карта (БОМ), нейронная сеть, многослойная персептронная сеть (MLPN), кодирование, значения
Введение
Кодирование и декодирование используются для повышения надежности передачи информации в процессе связи, и определенный алгоритм принят как отношение битов источника к битам проверки. Например, код низкой плотности проверки на четность (LDPC) является типичным линейным блочным кодом [1 -3]. А контрольная матрица (генерирующая матрица) - это полная взаимосвязь между исходными битами и битами кодового слова.
Каждый контрольный бит создается несколькими конкретными исходными битами и соответствующим контрольным выражением (в соответствии с контрольной матрицей). В процессе декодирования, если биты кодового слова не могут соответствовать выражению проверки, то ошибка может быть найдена и исправлена.
В настоящее время нейронная сеть в целом используется в качестве нового метода декодирования традиционных кодов, таких как коды свертки, коды продуктов Turbo, LDPC. Существует, по крайней мере, два типа нейросетевых декодеров:
- нейронная сеть, принятая в качестве ос-
© Башкиров А.В., Пухов Д.А., Свиридова И.В., Хорошайлова М.В., 2020
новной архитектуры в декодере;
- нейронная сеть, принятая в качестве вспомогательной роли в декодере.
MLPN является типичной нейронной сетью, которая обычно принимается для решения задач построения нейросетевого декодера. Таким образом, декодер должен быть надлежащим образом подготовлен с помощью кодового слова, которое задается заранее.
Нейронная сеть Хопфилда используется для совместного выравнивания и декодирования информации, передаваемой по высокодисперсному каналу Рэлея с замиранием из-за многолучевого распространения.
На основе неконтролируемой рекуррентной нейронной сети (RNN) оптимизация для существующего метода декодирования исследована. На основе нейронных сетей с радиальной базисной функцией предложена схема извлечения внешней информации и соответствующий алгоритм декодирования.
В [4] нейронной сетью предлагается линейный декодер блочного кода, который легко реализовать в реальном времени и выполнять параллельные вычисления для высокоскоростной реализации. Однако значения и функции активации нейронной сети должны быть изменены при работе с недвоичным полем Галуа, чтобы обнаруживать и исправлять множественные биты ошибок.
Подход мягкого декодирования SOM (самоорганизующаяся карта) на основе надежного VQ (векторного квантования) представлен в [5], который подходит для беспроводной связи. В [6] предложен новый сверточный декодер, основанный на нейронной сети, который имеет лучшую производительность, чем традиционный метод турбодекодирования. Новый общий декодер нейронной сети представлен в форме симметричной самоорганизующейся карты (SSOM) в [7], которая может одновременно выполнять наклон и декодирование независимо от каких-либо правил кодирования.
Кодирование нейронной сети, принятое для кодирования исходных битов источника, является новым методом выражения взаимосвязи между битами источника и битами кодо-
вого слова. Изучение нейросетевого кодирования находится на начальной стадии.
Основная идея кодирования нейронной сети. Организация работы обычного кодера
Основным отличием обычного кодера от нейросетевого кодера является механизм генерации наборов кодовых слов. На рис. 1 показана архитектура традиционного кодера и декодера. В традиционном кодере N битов исходного кода используются для генерации N+K битов кодового слова через генерацию матрицы, которая включает в себя K битов проверки избыточности. Таким образом, N+K битов кодового слова могут быть проверены контрольной матрицей в процессе декодирования.
Рис. 1. Архитектура традиционного кодера и декодера
Естественно, генерирующая матрица является ядром обычного кодера. Вообще говоря, обычный кодер принимает несколько исходных битов для вычисления соответствующего контрольного бита в соответствии с генерирующей матрицей (или контрольной матрицей). Например, LDPC-коды строятся с использованием разреженного двудольного графа (рис. 2), который является другой формой проверочной матрицы. Каждый контрольный бит рассчитывается по определенному биту. Например, на рис. 2 проверочный бит N5 рассчитывается по выражению: N5 = В1 0 В2 © В3 © В4 .
Режим проверки
Рис. 2. Двухсторонний граф ЫЭРС-кода
Существует несколько характеристик кодеров:
- биты кодового слова генерируются конкретными формулами или правилами;
- биты кодового слова имеют отношение к исходным битам;
- разные правила генерации битов кодового слова означают разный тип кода.
Организация работы нейросетевого декодера (НСД)
В НСД наборы кодовых слов создаются путем генерации нейронной сети. На рис. 3
показана архитектура нейросетевых кодера и декодера. Есть некоторые отличия по сравнению с обычным кодером:
- биты кодового слова генерируются с помощью нейронной сети (или прямой нейронной сети), а не генерацией матрицы или конкретных формул;
- тип кода определяется путем создания нейронной сети и собственных наборов значений.
Рис. 3. Архитектура нейросетевого кодера и декодера
В НСД прямая нейронная сеть используется для преобразования N исходных битов в N+K битов кодового слова, которые имеют аналогичную функцию с генерацией матрицы в традиционном кодере. Прямая нейронная сеть, также называемая генерирующей нейронной сетью, имеет некоторое отличие от нормальной нейронной сети, такой как MLPN, SOM и т. д.
На рис. 4 показан способ создания наборов кодовых слов прямой нейронной сетью. И архитектура кодера похожа на нейронную сеть SOM. Однако с традиционной нейронной сетью SOM все по-другому:
- генерирующая нейронная сеть имеет только прямой процесс. Другими словами, генерирующая нейронная сеть имеет не конкуренцию, а процесс обучения;
- прямая нейронная сеть не полностью подключена. Другими словами, любой выходной узел связан с входными узлами части через значения, а не всю модель соединения. Это еще одно отличие от традиционной SOM нейронной сети;
- диапазон множества значений должен находиться в определенном интервале в прямой нейронной сети, которая стремится гарантировать результат выходного узла в пределах разрешенной области;
- структура выходного узла отличается от традиционной нейронной сети SOM.
На рис. 5 предельный OJ определяется связным с ним w1J и соответствующим М;. А фактический результат определяется решающей функцией. FT - пороговое значение весовых множеств решающей функции, которое рассчитывается по формуле (2).
= = ¡ = 1,2...Ы + К. (1)
N входных углов
ГТ-Ёнтшк исходные
N -г К.выходных узлов
ГТ-К -разрядное кодовой слово
-К
Рис. 4. Архитектура прямого нейросетевого кодера
Рис. 5. Структура выходного узла
N N+К FT = I I Т ¿=1 . =1
М *
ц
г ■
(2)
Однако диапазон значений должен быть в определенном интервале в соответствии с формулой (3):
ц>т =
ц>.. <м>т,
1 N N+К
+ К ) ¿5 .1=1 Би
в . =
ц * 0
ц = 0
(3)
(4)
где А - средняя степень выходного узла в прямой нейронной сети, представляющая собой среднее число множества значений, связанных с выходными узлами. Вообще говоря, А определяется выражением (5). Когда А равно N + К, прямая нейронная сеть полностью связана с наборами значений. Другими словами, любой выходной узел имеет связь со всеми входными узлами.
Однако это не очень хороший вариант в таких обстоятельствах.
к = ф / N + R ), (5)
^ - степень входного узла, обычно в пределах [2-6], которая представляет количество связанных выходных узлов. Большее ^ означает больше отношений для ответа на отдельный входной узел, что приводит к большой сложности вычислений в процессе кодирования.
Этапы проектирования нейросетевого декодера
Кодер нейронной сети может быть реализован следующим образом:
1. Построить нейронную сеть в соответствии с А, размером исходных битов и битов кодового слова.
2. Инициализировать наборы значений с группой случайных чисел.
3. Принимать исходные биты и вычислять биты кодового слова в соответствии с (1) - (5).
4. Перейти к шагу (3), принять следующие исходные биты.
Проверить уникальность наборов кодовых слов.
На шаге (1) алгоритм построения прямой нейронной сети можно описать с использованием алгоритма, приведенного на рис. 6.
Рис. 6. Алгоритм построения прямой нейронной сети
В алгоритме рис. 6 используются следующие обозначения:
- ^ - степень входного узла _/. -А; - степень выходного узла г.
- значения, которые используются для умножения соответствующего на этапе
инициализации. Значение по умолчанию равно нулю.
На рис. 7 представлен алгоритм проверки уникальности.
Рис. 7. Алгоритм проверки уникальности кодовых слов
В алгоритме на рис. 7 приняты следующие обозначения:
- т - скорость обучения, которая предназначена для усиления воздействия конкретного входного бита за счет увеличения связанных наборов весов;
- р - скорость подавления, которая предназначена для уменьшения воздействия связанного выходного бита за счет уменьшения связанных наборов весов. Вообще говоря, скорость обучения т намного больше, чем скорость подавления р.
Архитектура нейросетевого декодера
Кодовое слово, генерируемое НСД, не может быть декодировано обычным способом по некоторым причинам. Во-первых, взаимосвязь между исходными битами и битами ко-
дового слова не может быть описана с помощью генерирующей матрицы или выражения. Во-вторых, сгенерированное правилом кодовое слово НСД не может быть выражено обычным математическим способом. Наконец, прямая нейронная сеть в кодере является черным ящиком, который записывает правила кодирования. Однако наборы значений, структура и алгоритм прямой нейронной сети - это целый черный ящик.
Следовательно, использование нейронной сети в качестве декодера является возможным способом декодирования наборов кодовых слов, генерируемых НСД. Существует типичный метод для достижения функции кодирования: MLPN.
На рис. 8 показана архитектура декодера MLPN. Таким образом, декодер имеет два этапа работы: этап обучения и этап декодирования. На этапе обучения MLPN обучается группой наборов выборок кодовых слов, которые составлены из исходных битов источника и соответствующих битов кодового слова, сгенерированных прямой нейронной сетью. На этапе декодирования обученный MLPN принимает биты кодового слова и вычисляет конечный выходной результат.
В нейросетевом декодере есть два этапа работы: этап обучения и этап декодирования. Этап обучения - это процесс обучения из наборов обучающих выборок, которые состоят из битов кодового слова и исходных битов. Основные этапы работы заключаются в следующем:
- генерация обучающих наборов кодовых слов из кодера (прямая нейронная сеть);
- построение MLPN в соответствии с размером учебных наборов;
- обучение MLPN с определенным алгоритмом до сходимости.
После этапа обучения, MLPN может быть принят в качестве декодера для декодирования битов кодового слова. И MLPN является обычным декодером на этапе декодирования, состоящего из следующих шагов:
- принять биты кодового слова и вычислить результат слой за слоем;
- экспортировать результаты работы декодера (выходной слой MLP);
- перейти к шагу (1) и применить следующие биты кодового слова.
Рис. 8. Архитектура МЬРК-декодера
0.2 -
0.18 -
0.16 -
0.14 -
в 0.12 -
Е 0.1 -
11 0.08 -
0.06 -
0.04 -
0.02 -
0 -
■ШШШШ ■Бжюав
■5Г\Ш:1с1В
Рис. 9. Сравнение BER при различных X
Заключение
Сравнение ВЕЯ различных X. Из рис. 9 можно сделать выводы:
- ВЕЯ уменьшается, когда отношение сигнал-шум увеличивается.
- ВЕЯ колеблется при изменении X.
Лучший ВЕЯ может быть получен путем
выбора правильного X в том же SNR. С другой стороны, высокая X означает более сложные вычисления. В таком состоянии в системе потребуется больше ресурсов. В общем случае, собственное X порождается выражением (6).
Существует возможность сбоя проверки уникальности. Любые N исходных битов име-
ют не только соответствующие N+K битов кодового слова. Есть два фактора, которые необходимо учитывать, чтобы избежать сбоя проверки уникальности:
- структура нейронной сети не подходит для текущих наборов кодовых слов;
- наборы значений должны быть изменены, чтобы соответствовать наборам кодовых слов.
Что касается второго пункта, то алгоритм проверки уникальности является решением проверки. Уникальность гарантируется модификацией весовых значений нейронной сети. С другой стороны, будущие исследования могут быть сосредоточены на модификации структу-
ры нейронной сети, чтобы гарантировать уникальность кодера.
Кодирование нейронной сети - это кодирование канала, которое имеет функцию безопасности. Все правило кодирования - это сама нейронная сеть и ее весовые коэффициенты.
Кодирование и декодирование можно спроектировать с использованием нейронной сети. Конкретное правило кодирования и декодирования хранится во всей нейронной сети распределенным способом. Кроме того, параллельный режим обработки информации нейронной сети значительно повысит надежность и скорость, что имеет определенные перспективы в будущем применении.
Литература
1. Хорошайлова М.В. Архитектура канального кодирования на основе ПЛИС для 5G беспроводной сети с использованием высокоуровневого синтеза // Вестник
Поступила 25.12.2019; ]
Воронежского государственного технического университета. 2018. Т. 14. № 2. С. 99-105.
2. Башкиров А.В., Хорошайлова М.В., Белецкая С.Ю. Использование стохастического вычисления для реализации недвоичного LDPC-декодера на ПЛИС // Вестник Воронежского государственного технического университета. 2016. Т. 12. № 5. С. 70-73.
3. Khoroshaylova M.V. LDPC-code and decoding al-gorithms//Антропоцентрические науки: инновационный взгляд на образование и развитие личности: материалы II-й междунар. науч.-практ. конф. В 2-х частях; под ред. Э.П. Комаровой. Воронеж, 2015. С. 227-228.
4. Hadi A.S. Linear block code decoder using neural network// Proceedings of the International Joint Conference on Neural Networks. 2008. Pp. 1111-1114.
5. Leung C.S., Chan H., Mow W.H. Soft-decoding SOM for VQ over wireless channels// Neural Processing Letters. 2006. Vol. 24. № 2. Рр. 179-192.
6. Berber S.M., Kecman V. Convolutional decoders based on artificial neural networks// IEEE International Joint Conference on Neural Networks - Proceedings. 2004. Vol. 2. Pp. 1551-1556.
7. Xiao W., Ai Y. The Design and Implementation of General Symmetrical Self-Organizing Map Decoder// The Open Cybernetics & Systemics Journal. 2015. Vol. 9. Pp. 1307-1310.
к публикации 13.02.2020
Информация об авторах
Башкиров Алексей Викторович - д-р техн. наук, доцент, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: [email protected], ORCID: http://orcid.org/0000-0003-0939-722X Пухов Дмитрий Анатольевич - студент, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: [email protected], ORCID: https://orcid.org/0000-0002-6818-2715 Свиридова Ирина Владимировна - старший преподаватель, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: [email protected], ORCID: https://orcid.org/ 0000-0001-52790807
Хорошайлова Марина Владимировна - канд. техн. наук, старший преподаватель, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: [email protected], ORCID: https://orcid.org/0000-0001-9167-9538
DESIGN AND IMPLEMENTATION OF NEURAL NETWORK ENCODING
AND DECODING
A.V. Bashkirov, D.A. Pukhov, I.V. Sviridova, M.V. Khoroshailova Voronezh State Technical University, Voronezh, Russia
Abstract: the work proposes a direct encoder of an artificial neural network, which takes a self-organizing map (SOM) of a neural network as its main structure. For this encoder, a direct neural network is constructed in accordance with the size of the source bits and bits of the codeword. The correct distribution of computational sets was selected and the sets of values were initialized in accordance with the algorithm. Checked the uniqueness of sets of code words until a match is found. In the process of de-coding, a multilayer perceptron network (MLPN) is used as a neural network decoder. For this, the MLPN is constructed in accordance with the size of the source bits and bits of the codeword. Then we train MLPNs for sets of codewords generated by a direct neural network. Further, we do not stop the training process until the total error becomes minimal. Finally, we receive and decode sets of codewords. Actual simulation tests show that both coding and decoding of a neural network are possible. Moreover, the best performance is achieved provided the correct direct structure of the neural network and the degree of node output X. First of all, the codeword sets generated by the neural network encoder cannot be decoded by traditional mathematical methods, which has good prospects for ensuring communication security
Key words: direct neural network, self-organizing map (SOM), neural network, multi-layer perceptron network (MLPN), coding, values
References
1. Khoroshaylova M.V. "Architecture of FPGA based channel coding for 5G wireless network using high-level synthesis", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2018, vol. 14, no. 2, pp. 99-105.
2. Bashkirov A.V., Khoroshaylova M.V., Beletskaya S.Yu. "Use of stochastic computation for realization of non-binary LDPC-decoder on FPGA", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2016, vol. 12, no 5, pp. 70-73.
3. Khoroshaylova M.V. "LDPC code and decoding algorithms", Anthropocentric sciences: an innovative look at education and personal development. Materials of the 2nd international scientific-practical conference (Antropotsentricheskie nauki: inno-vatsionnyy vzglyad na obrazovaniye i razvitie lichnosti: materialy Il-oy mezhdunar. nauch.-prakt. konf.), 2015, pp. 227-228.
4. Hadi A.S. "Linear block code decoder using neural network", Proceedings of the International Joint Conference on Neural Networks, 2008, pp. 1111-1114.
5. Leung C.S., Chan H., Mow W.H. "Soft-decoding SOM for VQ over wireless channels", Neural Processing Letters, 2006, vol. 24, no. 2, pp. 179-192.
6. Berber S.M., Kecman V. "Convolutional decoders based on artificial neural networks", IEEE International Joint Conference on Neural Networks - Proceedings, 2004, vol. 2, pp.1551-1556.
7. Xiao W., Ai Y. "The design and implementation of general symmetrical self-organizing map decoder", The Open Cybernetics & Systemics Journal, 2015, vol. 9, pp.1307-1310.
Submitted 25.12.2019; revised 13.02.2020
Information about the authors
Aleksey V. Bashkirov, Dr. Sc. (Technical), Assistant Professor, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: [email protected], ORCID http://orcid.org/0000-0003-0939-722X
Dmitriy A. Pukhov, student, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: [email protected], ORCID: https://orcid.org/0000-0002-6818-2715
Irina V. Sviridova, Assistant Professor, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: [email protected], ORCID: https://orcid.org/ 0000-0001-5279-0807
Marina V. Khoroshaylova, Cand. Sc. (Technical), Assistant Professor, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: [email protected], tel. 8-910-732-66-13, ORCID http://orcid.org/0000-0001-9167-9538