Формирование слоев нейронной сети для решения задачи классификации дорожных знаков
В.А. Евсина, В.А. Евсин, С.Н. Широбокова, В.А. Жжонов, Южно-Российский государственный политехнический университет (НПИ) имени
М.И. Платова», г. Новочеркасск
Аннотация: В данной статье рассматривается вопрос формирования и связи слоев в задаче классификации изображений знаков дорожного движения, а также вычисления весов на соответствующих слоях нейронной сети. Авторами приводится описание биологической структуры нейронов головного мозга, и их сопоставления с искусственными нейронными сетями. Представлена концептуальная модель искусственного нейрона и нейронной сети с описанием структурных элементов. Приведена матричная структура весов нейронной сети. Описан процесс преобразования RGB-изображения дорожного знака во входной слой нейронной сети. Для каждого скрытого слоя представлено соответствующее описание. Кроме того, приведено описание слоев свертки и максимального пула, а также пояснение необходимости применения данного типа слоев в сверточной нейронной сети. Так же авторами описан алгоритм формирования сверточной нейронной сети для классификации дорожных знаков. Приведены примеры работы данной нейронной сети.
Ключевые слова: сверточные нейронные сети, классификация, deep learning, big data, математическое моделирование, информатика.
Искусственные нейронные сети (далее ИНС) образованы по аналогии с нейронными сетями человека. Человеческий мозг состоит из нейронов, аксонов - отростков нейронов и дендритов - отростков аксонов, которые связаны с аксонами других нейронов [1]. Аксоны и дендриты образуют связи, которые называются синапсами. Нейрон посылают по аксону нервные импульсы, имеющие электрическую природу. Каждый нейрон находится в активном или пассивном состоянии. Состояние определяется частотой подачи импульсов - для активного состояния частота увеличивается. Активация нейронов зависит от сигналов, посылаемых от дендритов других нейронов. При этом сигналы могут быть как положительные - сигналы нейронов предыдущего уровня усиливаются, так и отрицательные - сигналы нейронов предыдущего уровня подавляются. Концептуальная модель нейрона состоит из нейрона как вычислительной единицы. Концептуальная модель нейрона представлена на рис. 1.
Рис. 1. - Концептуальная модель нейрона На рис. 1 представлены структурные элементы:
1) и0(п).ит(п) - входные сигналы;
2) . м'т — веса входных сигналов;
т
3) у= ^ (п)] — сумматор входных сигналов;
к=1
4) ф(у) ~ функция активации сумматора входных сигналов.
Концептуальная модель нейронной сети, согласно представленному в [2,3] описанию, приведена на рис. 2.
Рис. 2. - Концептуальная модель нейронной сети
На рис. 2 — входные сигналы, m - число скрытых слоев, N, — число
нейронов в слое /. Число нейронов NHei[p0li0B, представленных на рис. 2,
может быть записано NH^poHoe = N0 + ^™ N ™ N. Веса W1, расположенные
между входным и первым слоем, могут быть записаны в виде следующей матрицы
"W[1]n ...
W[1] = .........
W[1] W[1]
W нг\ ... W ni n
где Wтг] - значение /-го j-го веса в момент инициализации, i=1,nh j=1,nx.
Для определения принадлежности знака дорожного движения к одному из классов дорожных знаков используется аппарат сверточных нейронных сетей (далее СНС). СНС обладают устойчивостью к поворотам, затемнениям, частичным перекрытиям изображений и другим искажениям, что является неотъемлемой частью при определении знаков дорожного движения. СНС представляет собой упорядоченный набор слоёв, преобразующий представление изображения дорожного знака в другое представление для оценки принадлежности знака дорожного движения к определенному классу. Сверточные нейронные сети представляют собой многослойную нейронную сеть, включающую следующие слои:
- входной слой представляет собой изображение, состоящее из RGB-каналов, высоты и ширины подаваемого на вход изображения. Для каждого пикселя входные данные варьируются в диапазоне от нуля до единицы,
используя формулу f (с, min, max) = ° min , где f - функция нормализации, с
max - min
- значение цвета для определенного пикселя, в диапазоне от 0 до 255, min -минимальное значение определенного пикселя - 0, max - максимальное значение определенного пикселя - 255;
- слой свертки и максимального пула, которые определяют признаки изображения [4,5].
Сверточный слой является основным строительным блоком СНС. Он представляет собой инструмент для определения свойств изображения, данный слой на входе принимает тензор, который может быть трехмерным. Размерность тензора зависит от количества цветовых каналов. Для изображения в оттенках серого используется один цветовой канал, для цветного изображения - три цветовых ЯОБ-канала. Этот слой представляет собой фрагмент сети, который преобразовывает вход в выходной тензор. Процесс преобразования изображения сверточным слоем представлен на рис. 3.
В СНС слои свертки и максимального пула укладываются ярусами, один над другим. Слой максимального пула используется после слоя свертки для уменьшения пространственного размера, выбирая ядро размера п*п, определяется максимальное значение из заданной матрицы, результат записывается в новую таблицу. Это уменьшает количество параметров, что влечет за собой уменьшение количества необходимых вычислений, кроме того, это позволяет избежать проблему заучивания изображений моделью
Входное изображение
Выходной тензор
Рис. 3. - Преобразование изображения сверточным слоем
нейронной сети. Слой максимального пула не имеет заучиваемых весов, и рассматривается, как простая операция, связанная со слоем свертки.
Слой максимального пула обозначается как Pool и с указанием номера слоя в последовательности слоев. Данный слой можно описать представленной в [6] формулой:
zl = f (V * selection( zl ) + kl ), где zl - выход слоя l, kl, V - коэффициенты сдвига слоя l, selection -операция выборки локальных максимальных значений.
Последовательность свертки и максимального пула формирует карту признаков, которая используется полносвязным слоем. Процесс записи последовательности слоев свертки и максимального пула представлен на рис. 4.
Convl
[> P0011 и-^
Рис. 4. - Последовательность слоев свертки и максимального пула.
В качестве функции активации сверточных слоев используется активационная функция relu, которая позволяет получить неотрицательное значение на выходе нейрона, что важно при классификации изображений дорожных знаков. Общая формула данной функции имеет описанную в [7,8] следующую форму:
f (z ) = max(0, z ),
где z - выходное значение нейрона.
В задаче классификации изображений активационная функция softmax является необходимым компонентом нейронной сети. Softmax преобразовывает w-мерный вектор вещественных значений в другой n-мерный вектор, элементы которого изменяются в интервале от 0 до 1, суммарное значение которых равно 1. Функция softmax имеет следующую форму:
Ф \ =
ezi
K
S eZk k=1
где г - выходное значение г -го нейрона, К - число классов данной модели (в рассматриваемой модели классификации представлено 46 класса). Векторная функция Бв/Шах а(г) = [<г(7) ;а(7)2 7^], кроме того, а(г). < 1 ,
так как знаменатель всегда больше, чем числитель. Укрупненная структура метода обучения модели классификации дорожных знаков представлена на рис. 5.
Внесение данных
по обучению нейронной сети
Формирование модели обучения с последобатель-ными слоями нейронов
X
Обучение модели
Сохранение файла с обученной моделью
7=^
I Конец I
Формирование модели обучения с последовательными
слоями нейронов
+ ~
Слой свертки
I
Слой максимального пула
Слой свертки
I
Активационная функция relu
Слой максимального пула
Слой свертки
Активационная функция relu
Слой максимального пула
Активационная функция relu
Слой максимального пула
Слой преобразования 2D данных в Ш данные
Активационная функция relu
I
Слой отключения 10% нейронов
I
Полносвязный слой с 46 нейронами
Активационная функция softmax
rs
I Конец I
Рис. 5. - Блок-схема метода обучения нейронной сети для классификации
дорожных знаков На рисунке 5 представлены следующие основные элементы:
М Инженерный вестник Дона, №12 (2022) ivdon.rU/ra/magazine/arcliive/nl2y2022/8112
- слой свертки: позволяет определять признаки на изображении с ядром свертки 3х3;
- слой отключения 10% нейронов необходим для предотвращения появления ошибки заучивания изображений путем установки случайным 10% нейронов выходного значения, равного нулю;
- слой максимального пула: данный слой используется для уменьшения размерности тензора. Для демонстрации работы СНС используется набор искаженных изображений знаков дорожного движения со знаками, верно определенными нейронной сетью. Набор изображений представлен на рис. 6.
Определение частично Определение засвеченного Определение повернутого
перекрытого изображения изображения знака
Рис. 6. - Тестовые изображения работы нейронной сети
В результате была сформирована и протестирована сверточная нейронная сеть для классификации изображений дорожных знаков. Сформированный модуль включен в решение по определению дорожных объектов, подробнее с другими модулями можно ознакомиться в [9,10].
Литература
1. Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. СПб.: Питер, 2018. 480 с.
2. Хайкин С. Нейронные сети. Полный курс. 2 изд. М.: Издательский дом "Вильямс", 2006. 1104 с.
3. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая линия - Телеком, 2006. 383 с.
4. Sapra D., Pimentel A.D. Designing convolutional neural networks with constrained evolutionary piecemeal training // Appl Intell 52, 2022. DOI: doi.org/10.1007/s 10489-021 -02679-7
5. Cao D., Chen Z., Gao L. An improved object detection algorithm based on multi-scaled and deformable convolutional neural networks // Hum. Cent. Comput. Inf. Sci, 2020. DOI: doi.org/10.1186/s13673-020-00219-9
6. Аггарвал, Ч. Нейронные сети и глубокое обучение. М.: Диалектика, 2020. 752 c.
7. Микеллучи, У. Прикладное глубокое обучение. Подход к пониманию глубоких нейронных сетей на основе метода кейсов. СПб.: БХВПетербург, 2020. 368 c.
8. Аксенов С.В., Новосельцев В.Б. Организация и использование нейронных сетей. Томск: Изд-во НТЛ, 2006. 128 с.
9. Евсина В.А., Широбокова С.Н., Жжонов В. А., Евсин В.А. Моделирование и реализация процесса определения дорожных объектов с применением аппарата сверточных сетей RetinaNet // Инженерный вестник Дона, 2022, №7. URL: ivdon.ru/ru/magazine/archive/n7y2022/7786.
10. Евсина В.А., Широбокова С.Н., Воробьев С.П., Евсин В.А. Моделирование и реализация модуля определения дорожного покрытия для автоматического управления транспортным средством с использованием нейронной сети U-NET // Инженерный вестник Дона, 2022, №1. URL: ivdon.ru/ru/magazine/archive/n 1 y2022/7424.
References
1. Nikolenko S., Kadurin A., Arhangel'skaya E. Glubokoe obuchenie [Deep learning]. SPb.: Piter, 2018. 480p.
2. Hajkin S. Nejronnye seti. Polnyj kurs. [Neural networks. A Comprehensive Foundation]. 2 vol. M.: Williams Publishing House, 2006. 1104p.
3. Rutkovskaja D., Pilin'skij M., Rutkovskij L. Nejronnye seti, geneticheskie algoritmy i nechetkie sistemy. [Neural networks, genetic algorithms and fuzzy systems] M.: Gorjachaja linija. Telekom, 2006. 383 p.
4. Sapra D., Pimentel A.D. Designing convolutional neural networks with constrained evolutionary piecemeal training, Appl Intell 52, 2022. DOI: doi.org/10.1007/s 10489-021 -02679-7
5. Cao D., Chen Z., Gao L. An improved object detection algorithm based on multi-scaled and deformable convolutional neural networks, Hum. Cent. Comput. Inf. Sci, 2020. DOI: doi.org/10.1186/s13673-020-00219-9
6. Aggarval, CH. Nejronnye seti i glubokoe obuchenie [Neural networks and deep learning]. M.: Dialektika, 2020. 752p.
7. Mikelluchi, U. Prikladnoe glubokoe obuchenie. Podhod k ponimaniyu glubokih nejronnyh setej na osnove metoda kejsov [Applied deep learning. An approach to understanding deep neural networks based on the case method]. SPb.: BHV-Peterburg, 2020. 368p.
8. Aksenov S.V., Novosel'cev V.B. Organizaciya i ispol'zovanie nejronnyh setej [Organization and use of neural networks]. Tomsk: Izd-vo NTL, 2006. 128p.
9. Evsina V.A., SHirobokova S.N., Zhzhonov V.A., Evsin V.A. Inzhenernyj vestnik Dona, 2022, №7. URL: ivdon.ru/ru/magazine/archive/n7y2022/7786.
10. Evsina V.A., Shirobokova S.N., Vorob'ev S.P., Evsin V.A. Inzhenernyj vestnik Dona, 2022, №1. URL: ivdon.ru/ru/magazine/archive/n1y2022/7424.