Квантованные нейросетевые модели для процессоров общего назначения с ограниченными ресурсами тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Трусов Антон Всеволодович

  • Трусов Антон Всеволодович
  • кандидат науккандидат наук
  • 2025, «Московский физико-технический институт (национальный исследовательский университет)»
  • Специальность ВАК РФ00.00.00
  • Количество страниц 134
Трусов Антон Всеволодович. Квантованные нейросетевые модели для процессоров общего назначения с ограниченными ресурсами: дис. кандидат наук: 00.00.00 - Другие cпециальности. «Московский физико-технический институт (национальный исследовательский университет)». 2025. 134 с.

Оглавление диссертации кандидат наук Трусов Антон Всеволодович

Введение

Глава 1. Нейронные сети и их реализация на центральных процессорах

1.1. Искусственные нейронные сети и методы их обучения

1.2. Нейросетевые вычисления на процессоре общего назначения

1.2.1. Современные процессоры общего назначения

1.2.2. Алгоритмы матричного умножения

1.2.3. Алгоритмы дискретной свертки

1.3. Способы упрощения нейронных сетей

1.3.1. Равномерное квантование

1.3.2. Проблема обучения квантованных нейронных сетей

1.3.3. Практическое применение квантования нейронных сетей

1.4. Выводы по главе 1. Задачи диссертационного исследования

Глава 2. Малобитные нейронные сети

2.1. Матричное умножение в малобитных сетях

2.1.1. Микроядро 4-битного матричного умножения

2.1.2. Микроядра для бинарных и тернарных матриц

2.1.3. Теоретическое сравнение микроядер матричного умножения

2.1.4. Экспериментальное сравнение алгоритмов

матричного умножения

2.2. «Сомневающийся» алгоритм квантования для БНС

2.2.1. Блок «сомневающегося» квантования

2.2.2. «Сомневающийся» слой

2.2.3. Обучение сети с «сомневающимися слоями»

2.2.4. Точность обучения БНС с использованием блока «сомневающегося» квантования

2.3. Выводы по главе

Глава 3. 4.6-битное квантование

3.1. Схема 4.6-битного квантования

3.1.1. Способ квантования весов и активаций

3.1.2. Матричное умножение

Стр.

3.2. Нейронные сети с 4.6-битным квантованием

3.2.1. 4.6-битные слои: полносвязный и сверточный

3.2.2. Сеть из 4.6-битных слоев

3.2.3. Обучение 4.6-битной сети

3.3. 4.6-битные HardTanh-сети

3.3.1. Блоки с остаточными связями в 4.6-битных HardTanh-сетях

3.3.2. Инициализация параметров масштаба согласно математической модели слоя HardTanh-сети

3.4. Эксперименты

3.4.1. Оборудование и программное обеспечение

3.4.2. Производительность 4.6-битного матричного умножения

3.4.3. Классические сети при 4.6-битном квантовании

3.4.4. 4.6-битные HardTanh-сети

3.5. Выводы по главе

Глава 4. Комплекс программ для обучения малобитных нейронных

сетей и их исполнения на ЦП

4.1. Программа обучения и валидации

4.2. Программа исполнения нейронных сетей на ЦП

4.2.1. Исполнение сверточной нейронной сети

4.2.2. Алгоритм дискретной свертки p-im2col

4.2.3. Особенности реализации програмного модуля матричного умножения для квантованных нейронных сетей

4.3. Выводы по главе

Заключение

Список литературы

Список рисунков

Список таблиц

Приложение А. Свидетельство о государственной регистрации

программы для ЭВМ

Приложение Б. Акт о внедрении

Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК

Введение диссертации (часть автореферата) на тему «Квантованные нейросетевые модели для процессоров общего назначения с ограниченными ресурсами»

Введение

Область применения искусственных нейронных сетей постоянно расширяется, охватывая все более разнообразные и сложные задачи. Одновременно с этим возрастает и сложность самих нейросетевых моделей: увеличивается число параметров и объемы данных, необходимые для их обучения. Четверть века назад сверточные сети Яна Лекуна, содержащие десятки тысяч параметров, справлялись с задачей классификации рукописных цифр. Десять лет назад глубокие сверточные нейронные сети, содержащие десятки и сотни миллионов параметров, позволили добиться высокой точности в классификации произвольных изображений. Тогда же появились нейросетевые модели, успешно решающие задачи семантической сегментации и детекции объектов, а также показавшие первые успехи в генерации изображений. Современные нейронные сети позволяют решать многие сложные задачи в областях обработки изображений, анализа речи, автоматизации процессов, генерации текстов и многих других. Некоторые из современных нейронных сетей, в том числе большие языковые модели, содержат сотни миллиардов параметров.

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

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

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

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

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

Отказ от серверных вычислений означает невозможность использования специализированных нейросетевых ускорителей, таких как TPU (Tensor Processing Unit) или NPU (Neural Processing Unit), поскольку пользовательские устройства, как правило, ими не оснащены. При этом программы для исполнения нейронных сетей должны, с одной стороны, учитывать большое разнообразие конечных устройств, а с другой - максимально эффективно использовать их вычислительные ресурсы. Достижение такого баланса возможно при условии адаптации алгоритма вычисления нейронной сети к исполнению на центральном процессоре (ЦП), использующем известную архитектуру набора команд. Большинство современных мобильных устройств оснащены ЦП с архитектурой ARM, а в персональных компьютерах чаще

используется архитектура x86. Другие архитектуры, такие как MIPS и RISC-V, чаще встречаются во встраиваемых системах.

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

Существуют различные методы упрощения нейронных сетей, позволяющие уменьшить их объем и ускорить исполнение. Среди них можно выделить прореживание (англ. pruning), дистилляцию знаний (англ. knowledge distillation) и квантование (англ. quantization). Прореживание удаляет избыточные веса, нейроны, фильтры или другие элементы модели, что позволяет уменьшить ее размер и ускорить вычисления. Дистилляция знаний-это процесс, при котором компактная нейросетевая модель (ученик) обучается воспроизводить поведение более сложной и ресурсоемкой модели (учителя). Квантование заключается в уменьшении разрядности чисел, используемых для представления весов и активаций. Примером квантования может служить переход от 32-битных чисел с плавающей запятой к 8-битных целым. Важно отметить, что эти методы не противоречат друг другу и могут быть использованы совместно. Хотя упрощение нейронной сети может сопровождаться снижением точности, правильно подобранные параметры позволяют существенно повысить производительность при минимальных потерях в качестве. Указанные методы опираются на математический аппарат, разработанный как отечественными, так и зарубежными учеными, такими как А.И. Галушкин, А.В. Дворкович, Е.Е. Лимонова а также Y. LeCun, G. Hinton и M. Rastegari.

Для реализации высокопроизводительных алгоритмов на ЦП необходимо учитывать специфику этих вычислительных устройств. Важными особенностями современных ЦП являются иерархическая структура памяти и возможность параллельных вычислений на уровне данных благодаря векторным расширениям. В классических нейронных сетях наиболее вычислительно затратными операциями являются матричное умножение и дискретная свертка. Однако в экзотических архитектурах встречаются и более сложные операции, такие как преобразование Фурье и Хафа. Все эти операции необходимо вычислять быстро, точно и с соблюдением ограничений по объему

памяти. Методологической основой для таких вычислений служат работы отечественных и зарубежных исследователей, таких как В.Л. Арлазаров, В.В. Воеводин, В.Д. Бойков, В.Б. Смолов, Н.П. Вашкевич, В.В. Арлазаров, Д.П. Николаев а также V. Strassen, S. Vinograd, J. Dongarra, K. Goto и A. Anderson.

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

Часть результатов диссертации была получена в процессе выполнения работ по следующим научным грантам РФФИ:

1. 19-29-09092 - «Модели и методы компьютерного зрения в задачах обеспечения информационной безопасности для индустрии 4.0».

2. 19-29-09066 - «Методы анализа и обработки изображений для индексации видеоданных и их устойчивого поиска в режиме реального времени».

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

Для достижения данной цели были поставлены следующие задачи:

1. Разработать и экспериментально исследовать алгоритмы вычисления матричных операций в низкоразрядных (малобитных) нейронных сетях, т.е. сетях использующих квантование весов и активаций с разрядностью менее 8 бит.

2. Предложить и экспериментально исследовать методы обученияну нейронных сетей с низкой разрядностью квантования.

3. Разработать и экспериментально исследовать алгоритм вычисления дискретной свертки, требующий ограниченные объемы оперативной памяти.

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

Научная новизна:

1. Впервые предложены алгоритмы вычисления матричного умножения для 4-битных, тернарных и тернарно-бинарных матриц, оптимизированные для процессоров с векторным расширением ARM NEON.

2. Предложен и исследован новый метод обучения бинарных нейронных сетей, основанный на дифференцируемой аппроксимации с постепенным переходом к точному квантованию в процессе дообучения.

3. Предложена новая схема квантования, названная 4.6-битным квантованием. Данная схема использует знаковые целые числа для представления весов и активаций, попарные произведения которых помещаются в 8-битные регистры. Для нее разработан метод вычисления на ЦП, выполняющийся со скоростью 4-битного квантования. При этом схема имеет большее число уровней квантования, что обеспечивает более высокую точность.

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

5. Проведены оригинальные исследования скорости вычисления предложенных алгоритмов и точностных характеристик нейронных сетей, обученных предложенными методами.

6. Предложен новый алгоритм вычисления дискретной свертки в нейронных сетях с помощью матричного умножения, потребляющий ограниченный объем оперативной памяти.

Практическая значимость. Предложенный подход к обучению и вычислению квантованных сетей в целом, и 4.6-битных сетей в частности, позволяет добиться быстрой и точной работы нейронных сетей на ЦП конечных устройств. Это открывает новые перспективы для разработки высокопроизводительных нейросетевых приложений, способных работать на мобильных устройствах, несмотря на ограниченность доступных ресурсов.

Разработанный в рамках диссертации комплекс программ применяется при создании нейронных сетей в компании ООО «Смарт Энджинс Сервис», а алгоритмы быстрого вычисления квантованных сетей на ЦП внедрены в следующие программные продукты компании: «Smart ID Engine», «Smart Document Engine» и «Smart Code Engine».

Соответствие диссертации паспорту научной специальности. Данная диссертационная работа выполнена соответствии с формулой специальности 1.2.2 «Математическое моделирование, численные методы и комплексы программ» (технические науки). Работа соответствует следующим пунктам специальности: пункт 2. «Разработка, обоснование и тестирование эффективных вычислительных методов с применением современных компьютерных технологий», пункт 3. «Реализация эффективных численных методов и алгоритмов в виде комплексов проблемно-ориентированных программ для проведения вычислительного эксперимента», пункт 8. «Комплексные исследования научных и технических проблем с применением современной технологии математического моделирования и вычислительного эксперимента».

Методология и методы исследования. В диссертационной работы использовались методы линейной алгебры, математического анализа, нелинейной оптимизации математической статистики и оценки погрешностей:

- при анализе математической модели квантованной нейронной сети и ее дифференцируемых аппроксимаций применялись методы линейной алгебры и математического анализа;

- для разработки алгоритмов обучения нейронных сетей применялись методы нелинейной оптимизации;

- при проведении экспериментов и обработке результатов применялись методы математической статистики и оценки погрешностей.

Основные положения, выносимые на защиту:

1. Предложена схема 4.6-битного квантования, которая повышает точность соответствующих нейросетевых моделей по сравнению с 4-битными, до значений близких к среднему между 8-битными и 4-битными моделями, а также увеличивает скорость их исполнения на ЦП по сравнению с 8-битной на 15% - 40%.

2. Разработаны и экспериментально исследованы алгоритмы умножения матриц для быстрого исполнения нейронных сетей с низкой разрядностью квантования на ЦП. Представлены алгоритмы умножения 4.6-битных, 4-битных, тернарных и тернарно-бинарных матриц, оптимизированные для ЦП с архитектурой ARM, превосходящие по скорости работы существующие алгоритмы для 8-битного умножения в 1,8 - 2,6 раз и для вещественного умножения в 2,5 - 3,8 раз. Также предложен алгоритм умножения бинарных матриц для ЦП

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

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

4. Разработан алгоритм вычисления дискретной свертки в нейронных сетях, позволяющий снизить объем дополнительной оперативной памяти, по сравнению с известными алгоритмами, без потерь вычислительной эффективности.

5. Разработан комплекс программ для обучения и валидации низкоразрядных квантованных нейросетевых моделей, а также их вычислительно эффективного исполнения на ЦП.

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

Апробация работы. Основные результаты работы докладывались и обсуждались на следующих международных конференциях:

- 13th International Conference on Machine Vision (ICMV 2020), 2020, проводилась виртуально из-за пандемии коронавируса;

- 25th International Conference on Pattern Recognition (ICPR 2020), 2020, проводилась виртуально из-за пандемии коронавируса;

- 26th International Conference on Pattern Recognition (ICPR 2022), 2022, Монреаль, Канада;

- 16th International Conference on Machine Vision (ICMV 2023), 2023, Ереван, Армения;

а также на научном семинаре Лаборатории №11 института проблем передачи информации имени А.А. Харкевича РАН (Москва) в 2023 и 2024 годах.

Личный вклад. Автор самостоятельно получил и обосновал все основные результаты диссертационной работы. Постановка задач и обсуждение полученных результатов проводились совместно с научным руководителем. В [1, 2] автором предложены и экспериментально исследованы алгоритмы вычисления нейросетевой дискретной свертки, позволяющие сократить потребление оперативной памяти при сохранении высокой производительности. В [3, 4] автор представил вычислительно эффективные алгоритмы для умножения матриц, содержащих 4-битные, тернарные или бинарные значения на ЦП. В [5] автором выявлено положительное влияние «заморозки» параметров при поэтапном квантовании нейронной сети на ее точность. В [6] автор представил новый алгоритма обучения бинарных нейронных сетей, основанных на аппроксимации недифиренцируемой бинарной сети дифференцируемой сетью с вещественными параметрами и плавном переходе от аппроксимации к бинарной сети во время обучения. В [7] автор описал новую схему квантования нейронных сетей - 4.6-битное квантование, позволяющее более точно аппроксимировать вещественную нейронную сеть, чем 4-битное, и не ухудшающее вычислительную сложность. В той же работе автор предложил алгоритм обучения 4.6-битных нейронных сетей и провел экспериментальное исследование их точности и вычислительной эффективности. Теоретическое и практическое изучение 4.6-битных сетей с кусочно-линейными функциями активации типа HardTanh, наиболее интересными с точки зрения практического использования, представлено автором в работе [8] без соавторства. В [9] автор провел подробный обзор актуальных проблем в области обучения нейронных сетей.

Публикации. Основные результаты по теме диссертации изложены в 9 печатных изданиях, из которых 6 работ изданы в журналах, индексируемых Web of Science и Scopus, 3 — в сборниках трудов конференций. Зарегистрирована 1 программа для ЭВМ.

Объем и структура работы. Диссертация состоит из введения, 4 глав, заключения. Полный объём диссертации составляет 134 страницы, включая 25 рисунков и 13 таблиц. Список литературы содержит 103 наименования.

Глава 1. Нейронные сети и их реализация на центральных процессорах 1.1. Искусственные нейронные сети и методы их обучения

Идея искусственных нейронных сетей (ИНС) восходит к исследованиям биологических нейронов - клеток нервной системы человека и животных, отвечающих за передачу и обработку информации. Активное изучение этих клеток в первой половине XX века привело к созданию первых моделей нейрона в терминах электрических компонентов (конденсаторов, резисторов и источников напряжения). Среди них можно выделить модель Л. Лапика [10], описывающую возбуждение нейрона как зарядку и разрядку электрического конденсатора, и биофизическую модель Ходжкина-Хаксли [11], описывающую распространение потенциала действия в биологическом нейроне. Следующий важный этап - математическая формализация нейронной активности. В 1943 году У Мак-Каллок и У Питс предложили логико-алгебраическую модель искусственного нейрона и нейронной сети [12]. Их нейрон выполнял простые логические операции. Множество нейронов объединялось в сеть, способную реализовывать произвольные булевы функции. Это стало первой попыткой связать нейрофизиологию с вычислительными процессами.

В 1958 году Ф. Розенблатт предложил персептрон - другую модель искусственного нейрона, вдохновленную биологией, но оперирующую вещественными весами и линейными комбинациями сигналов [13]. В модели персептрона была введена ключевая для современных ИНС идея - слой. Слоем ИНС называют группу нейронов, преобразующих входной вектор в выходной, служащий входом для следующего слоя. Розенблатт также разработал алгоритм обучения на основе корректировки весов при ошибке классификации и реализовал свою модель в виде физического устройства «Марк-1», способного классифицировать изображения геометрических фигур и символов.

В 1980 году К. Фукусима представил модель неокогнитрона [14] -многослойной нейронной сети, построенной из повторяющихся двухслойных блоков. Эта архитектура предвосхитила сверточные нейронные сети, применяемые в анализе изображений.

Значительный прорыв произошел в 1986 году, когда Д. Румельхарт, Д. Хинтон и Р. Уильяме предложили алгоритм обратного распространения ошибки (англ. backpropagation) для обучения многослойных дифференцируемых персептронов [15]. Это позволило на практике обучать нейронные сети с несколькими слоями. Тем не менее, вычислительные ресурсы того времени ограничивали глубину и сложность сетей, доступных для обучения.

Первой практически значимой ИНС стала сверточная сеть Я. Лекуна, представленная в 1989 году [16]. Она оказалась лучшей на тот момент моделью машинного обучения, решающей задачу распознавания рукописных почтовых индексов на конвертах. В 1998 году была предложена улучшенная версия этой сети, известная как LeNet-5 [17], которая достигла выдающихся результатов в распознавании рукописных цифр и букв. Принципы, заложенные в архитектуре ИНС Лекуна, применяются в современных сверточных нейронных сетях.

Современный этап развития ИНС связан с резким ростом вычислительных мощностей, что позволило обучать глубокие ИНС с большим количеством параметров. Ключевым моментом стало появление в 2012 году модели AlexNet [18], представляющей собой глубокую сверточную нейронную сеть, которая впервые продемонстрировала значительное превосходство над классическими алгоритмами в задаче 1000-классовой классификации изображений из набора ImageNet. Этот успех дал импульс дальнейшему развитию глубоких ИНС, таких как VGG [19], Inception [20] и ResNet [21], а также развитию методов обучения нейронных сетей в целом.

В последующие годы важную роль стали играть модели, основанные на механизме внимания (англ. attention), в частности архитектура «трансформер» [22]. Такие модели показали высокую эффективность в задачах анализа последовательностей и легли в основу современных генеративных архитектур, включая большие языковые модели, такие как GPT [23]. Хотя трансформеры изначально были разработаны для обработки последовательностей, они нашли применение и в области анализа изображений. Архитектуры на основе Vision Transformer (ViT) [24], Swin Transformer [25] и их модификаций успешно используются в задачах классификации, сегментации и детекции объектов. Тем не менее, в прикладных задачах, в которых требуется исполнение сети на мобильных и встраиваемых устройствах, трансформеры оказываются слишком ресурсоемкими. В таких случаях предпочтение отдается компактным сверточным архитектурам, таким как MobileNet [26].

Рассмотрим подробнее устройство и основные компоненты сверточной нейронной сети. С математической точки зрения искусственная нейронная сеть представляет собой параметрическую композицию слоев. Каждый слой - это векторная параметрическая функция : ^ , где П£_1 и n —

размерности входа и выхода 1-го слоя, а 6 — его обучаемые параметры (например, веса и смещения). Вся сеть в этом случае определяется композицией отображений: F6 = /(l) о • • • о , где 6 = {6(1),..., 6 (L)} — множество всех параметров. Архитектура сети определяется числом слоев L, их типами и размерностями входов и выходов. Эти характеристики называются гиперпараметрами и фиксируются до начала обучения.

Входные векторы слоев нейронной сети принято называть сигналом или векторами активаций, а настраиваемые параметры 6 - весами слоя.

В некоторых случаях удобнее рассуждать о нейронной сети как о вычислительном графе, в узлах которого находятся операции (например, слои), а ребра соответствуют передаче данных. Такой подход используется в большинстве программных библиотек глубокого обучения, например, TensorFlow [27] или PyTorch [28]. Однако с математической точки зрения это лишь альтернативная форма записи композиции отображений.

Наиболее часто используемыми типами слоев в сверточных ИНС являются полносвязные и сверточные. Полносвязным называется слой, который реализует преобразование входного вектора x в выходной у согласно:

Уз = а ^^ Wij Xi + j , (1.1)

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

Вход сверточного слоя обычно интерпретируется как трехмерная карта признаков или изображение (I) - массив данных с размерностью H х W х Cin. Параметрами слоя является четырехмерное ядро (F) с размерностью Cin х Cout х Kh х Kw, и вектор смещений (b) с размерностью Cout. Ядро также иногда интерпретируется как набор из Cout фильтров, каждый из которых трехмерный.

Основной операцией в сверточном слое является дискретная свертка, которая вычисляет трехмеерный массив Я размера Иои^ х Wout х Сои1^ согласно:

Я(у,Х,Со)=^ • Р(Сг,Со, Аv, Аи), (1.2)

Д«=0 Ди=0 е,=0

где координаты в пространстве входного изображения (и и V) вычисляются как:

и = х • + А и • (Х, V = у • + Аv • (у, (1.3)

а размеры выходной карты признаков задаются выражениями:

Wout =

W - dx(Kw - 1)

Hout —

H - dy (Kh - 1)

sy

(1.4)

где sx,sy - шаги (англ. stride) по ширине и высоте, dx,dy - коэффициенты расширения (англ. dilation).

Выход сверточного слоя (Y) - это результат дискретной свертки, к которому поканалъно прибавлено смещение и поэлементно применена функция активации:

Y(y,x,Co) — ст(.R(y,x,Co) + bCo^J. (1.5)

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

Функцию активации а( ) иногда отделяют от полносвязного (1.1) и сверточного (1.5) слоев в отдельный слой, называемый слоем активации. Еще один часто используемый тип слоев - слой субдескритезации (англ. pooling), который применяется отдельно к каждому каналу карты признаков и вычисляет максимум или среднее значение в фиксированной окрестности. Большинство современных сверточных нейронных сетей, являются комбинацией описанный выше основных типов слоев.

Перейдем к вопросам обучения ИНС. Еще в конце XX века были получены важные теоретические результаты, заложившие основу для понимания аппроксимационных возможностей нейронных сетей. В 1989 году Дж. Цыбенко доказал, что двухслойный персептрон с сигмоидальной функцией активации в первом слое и линейной активацией во втором способен аппроксимировать любую непрерывную функцию на компакте с любой заданной точностью [29].

Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК

Список литературы диссертационного исследования кандидат наук Трусов Антон Всеволодович, 2025 год

Список литературы

1. Trusov A.V., Limonova E.E., Nikolaev D.P., Arlazarov V.V. p-im2col: Simple Yet Efficient Convolution Algorithm with Flexibly Controlled Memory Overhead // IEEE Access. — 2021. — Т. 9. — С. 168162-168184.

2. Trusov A.V., Limonova E.E., Usilin S.A. Almost Indirect 8-bit Convolution for QNNs // ICMV 2020. — Т. 11605. — 2021. — С. 1160507-1-1160507-9.

3. Trusov A.V., Limonova E.E., Slugin D.G., Nikolaev D.P., Arlazarov V.V. Fast Implementation of 4-bit Convolutional Neural Networks for Mobile Devices // International Conference on Pattern Recognition (ICPR) 2020. — 2021. — С. 9897-9903.

4. Trusov A.V., Limonova E.E., Nikolaev D.P., Arlazarov V.V. Fast matrix multiplication for binary and ternary CNNs on ARM CPU // International Conference on Pattern Recognition (ICPR) 2022. — 2022. — С. 3176-3182.

5. Sher A.V., Trusov A.V., Limonova E.E., Nikolaev D.P., Arlazarov V.V. Neuron-by-Neuron Quantization for Efficient Low-Bit QNN Training // Mathematics. — 2023. — Т. 11, № 9. — С. 2112-1-2112-17.

6. Trusov A.V., Putintsev D.N., Limonova E.E. Uncertainty-based quantization method for stable training of binary neural networks // Computer Optics. — 2024.

— Т. 48, № 4. — С. 573-581.

7. Trusov A.V., Limonova E.E., Nikolaev D.P., Arlazarov V.V. 4.6-bit Quantization for Fast and Accurate Neural Network Inference on CPUs // Mathematics. — 2024.

— Т. 12, № 5. — С. 651-1-651-16.

8. Trusov A.V. Training 4.6-Bit Convolutional Neural Networks with a HardTanh Activation Function // Pattern Recognit. Image Anal. — 2025. — Т. 35, № 1. — С. 44-64.

9. Trusov A.V., Limonova E.E., Arlazarov V.V. A decade of adversarial examples: a survey on the nature and understanding of neural network non-robustness // Computer Optics. — 2025. — Т. 49, № 2. — С. 222-252.

10. Lapicque L. Recherches quantitatives sur l'excitation electrique des nerfs // J. Physiol. — 1907. — Т. 9. — С. 620-635.

11. Hodgkin A.L., Huxley A.F. A quantitative description of membrane current and its application to conduction and excitation in nerve // The Journal of physiology. — 1952. — Т. 117, № 4. — С. 500.

12. McCulloch W.S., Pitts W. A logical calculus of the ideas immanent in nervous activity // The bulletin of mathematical biophysics. — 1943. — Т. 5. — С. 115-133.

13. Rosenblatt F. The perceptron: a probabilistic model for information storage and organization in the brain. // Psychological review. — 1958. — Т. 65, № 6. — С. 386.

14. Fukushima K. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position // Biological cybernetics. — 1980. — Т. 36, № 4. — С. 193-202.

15. Rumelhart D.E., Hinton G.E., Williams R.J.Learning representations by back-propagating errors // nature. — 1986. — Т. 323, № 6088. — С. 533-536.

16. LeCun Y., Boser B., Denker J.S., Henderson D., Howard R.E., Hubbard W., Jackel L.D. Backpropagation Applied to Handwritten Zip Code Recognition // Neural Computation. — 1989. — Т. 1, № 4. — С. 541-551.

17. LeCun Y., Bottou L., Bengio Y., Haffner P. Gradient-based learning applied to document recognition. — Т. 86, № 11. — С. 2278-2324.

18. Krizhevsky A., Sutskever I., Hinton G.E. ImageNet Classification with Deep Convolutional Neural Networks // Advances in Neural Information Processing Systems. — Т. 25. — 2012. — С. 1-9.

19. Simonyan K., Zisserman A. Very deep convolutional networks for large-scale image recognition. — 2014. — URL: https://arxiv.org/abs/1409.1556 (дата обращения: 24.07.2025).

20. Szegedy C., Liu W., Jia Y., Sermanet P., Reed S., Anguelov D., Erhan D., Vanhoucke V., Rabinovich A. Going Deeper With Convolutions // Proceedings of

the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2015. — C. 1-9.

21. He K., ZhangX., Ren S., Sun J. Deep Residual Learning for Image Recognition // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2016. — C. 770-778.

22. Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A.N., Kaiser L.u., Polosukhin I. Attention is All you Need // Advances in Neural Information Processing Systems. — T. 30. — 2017. — C. 1-11.

23. Brown T., Mann B., Ryder N., Subbiah M., Kaplan J.D., Dhariwal P., Neelakantan A., Shyam P., Sastry G., Askell A., Agarwal S., Herbert-Voss A., Krueger G., Henighan T., Child R., Ramesh A., Ziegler D., Wu J., Winter C., Hesse C., Chen M., Sigler E., Litwin M., Gray S., Chess B., Clark J., Berner C., McCandlish S., Radford A., Sutskever I., Amodei D. Language Models are Few-Shot Learners // Advances in Neural Information Processing Systems. — T. 33.

— 2020. — C. 1877-1901.

24. Dosovitskiy A., Beyer L., Kolesnikov A., Weissenborn D., Zhai X., Unterthiner T., Dehghani M., Minderer M., Heigold G., Gelly S. An image is worth 16x16 words: Transformers for image recognition at scale // International Conference on Learning Representations (ICLR). — 2021.

25. Liu Z., Lin Y., Cao Y., Hu H., Wei Y., Zhang Z., Lin S., Guo B. Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows // Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). — 2021. — C. 10012-10022.

26. Howard A., Sandler M., Chu G., Chen L.C., Chen B., Tan M., Wang W., Zhu Y., Pang R., Vasudevan V., Le Q.V., Adam H. Searching for MobileNetV3 // Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). — 2019. — C. 1314-1324.

27. AbadiM., BarhamP., Chen J., ChenZ., Davis A., Dean J., DevinM., Ghemawat S., Irving G., IsardM. TensorFlow: a system for Large-Scale machine learning // 12th USENIX symposium on operating systems design and implementation (OSDI16).

— 2016. — C. 265-283.

28. PaszkeA., Gross S., MassaF., LererA., Bradbury J., Chanan G., Killeen T., LinZ., Gimelshein N., AntigaL., Desmaison A., KopfA., YangE., DeVito Z., RaisonM., Tejani A., Chilamkurthy S., Steiner B., Fang L., Bai J., Chintala S. PyTorch: An Imperative Style, High-Performance Deep Learning Library // Advances in Neural Information Processing Systems. — T. 32. — 2019. — C. 1-12.

29. Cybenko G. Approximation by superpositions of a sigmoidal function //

Mathematics of control, signals and systems. — 1989. — T. 2, № 4. — C. 303-314.

30. Hornik K., Stinchcombe M., White H. Multilayer feedforward networks are universal approximators // Neural networks. — 1989. — T. 2, № 5. — C. 359-366.

31. LuZ., PuH., Wang F., Hu Z., Wang L. The Expressive Power of Neural Networks: A View from the Width // Advances in Neural Information Processing Systems. — T. 30. — 2017. — C. 1-9.

32. Duchi J., Hazan E., Singer Y. Adaptive subgradient methods for online learning and stochastic optimization. // Journal of machine learning research. — 2011. — T. 12, № 7.

33. Kingma D., Ba J. Adam: A Method for Stochastic Optimization // International Conference on Learning Representations (ICLR). — 2015.

34. Glorot X., Bengio Y. Understanding the difficulty of training deep feedforward neural networks // Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics. — T. 9 H3 Proceedings of Machine Learning Research. — 2010. — C. 249-256.

35. He K., Zhang X., Ren S., Sun J.Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification // Proceedings of the IEEE International Conference on Computer Vision (ICCV). — 2015.

36. Ioffe S., Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift // Proceedings of the 32nd International Conference on Machine Learning (ICML). — T. 37 H3 Proceedings of Machine Learning Research. — 2015. — C. 448-456.

37. Huang G., LiuZ., Maaten L., Weinberger K.Q. Densely Connected Convolutional Networks // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2017.

38. Ren P., Xiao Y., ChangX., Huang P.y., LiZ., ChenX., WangX. A Comprehensive Survey of Neural Architecture Search: Challenges and Solutions // ACM Computing Surveys. — 2021. — T. 54, № 4. — C. 1-34.

39. Zhang C., Xie Y., Bai H., Yu B., Li W, Gao Y. A survey on federated learning // Knowledge-Based Systems. — 2021. — T. 216, № 106775. — C. 1-11.

40. Hennessy J.L., Patterson D.A. Computer architecture: a quantitative approach. — Elsevier, 2011.

41. Gao W.R., Fang J.B., Huang C., Xu C.F., Wang Z. Wrbench: comparing cache architectures and coherency protocols on armv8 many-core systems // Journal of Computer Science and Technology. — 2023. — T. 38, № 6. — C. 1323-1338.

42. Dongarra J.J., Du Croz J., Hammarling S., DuffI.S. A set of level 3 basic linear algebra subprograms // ACM Transactions on Mathematical Software (TOMS). — 1990. — T. 16, № 1. — C. 1-17.

43. Goto K., Geijn R.A.V.D. Anatomy of high-performance matrix multiplication //

ACM Transactions on Mathematical Software (TOMS). — 2008. — T. 34, № 3. — C. 1-25.

44. Alaejos G., Castelló A., Martínez H., Alonso-Jordá P., Igual F.D., Quintana-Ortí E.S. Micro-kernels for portable and efficient matrix multiplication in deep learning // The Journal of Supercomputing. — 2023. — T. 79, № 7. — C. 8124-8147.

45. Blalock D., Guttag J.Multiplying matrices without multiplying // International Conference on Machine Learning / PMLR. — 2021. — C. 992-1004.

46. Limonova E.E., Alfonso D.M., Nikolaev D.P., Arlazarov V.V. Bipolar Morphological Neural Networks: Gate-Efficient Architecture for Computer Vision// IEEE Access. — 2021. — T. 9. — C. 97569-97581.

47. Chen H., Wang Y., Xu C., Shi B., Xu C., Tian Q., Xu C. AdderNet: Do we really need multiplications in deep learning? // Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (CVPR). — 2020. — С. 1468-1477.

48. Chellapilla K., Puri S., Simard P. High performance convolutional neural networks for document processing // Tenth international workshop on frontiers in handwriting recognition. — Suvisoft.

49. Anderson A., Vasudevan A., Keane C., Gregg D. High-Performance Low-Memory Lowering: GEMM-based Algorithms for DNN Convolution // 2020 IEEE 32nd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). — 2020. — С. 99-106.

50. Lu S., Chu J., Liu X.T. Im2win: Memory Efficient Convolution On SIMD Architectures // 2022 IEEE High Performance Extreme Computing Conference (HPEC). — 2022. — С. 1-7.

51. Dukhan M. Indirect deconvolution algorithm // 2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) / IEEE. — 2020. — С. 922-926.

52. LavinA., Gray S. Fast algorithms for convolutional neural networks // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2016. — С. 4013-4021.

53. Cheng H., Zhang M., Shi J.Q. A survey on deep neural network pruning: Taxonomy, comparison, analysis, and recommendations // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 2024.

54. Hinton G., Vinyals O., Dean J. Distilling the knowledge in a neural network. — 2015. — URL: https://arxiv.org/abs/1503.02531 (дата обращения: 24.07.2025).

55. Gou J., Yu B., Maybank S.J., Tao D. Knowledge distillation: A survey // International Journal of Computer Vision. — 2021. — Т. 129, № 6. — С. 1789-1819.

56. Gholami A., Kim S., Dong Z., Yao Z., Mahoney M.W., Keutzer K. A survey of quantization methods for efficient neural network inference // Low-power computer vision. — Chapman andHall/CRC, 2022. — С. 291-326.

57. Kuzmin A., Nagel M., Van Baalen M., Behboodi A., Blankevoort T. Pruning vs quantization: Which is better? // Advances in neural information processing systems. — 2023. — Т. 36. — С. 62414-62427.

58. gemmlowp: a small self-contained low-precision GEMM library. — 2015. — URL: https://github.com/google/gemmlowp (дата обращения: 24.07.2025).

59. Jacob B., Kligys S., Chen B., Zhu M., Tang M., Howard A., Adam H., Kalenichenko D. Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference // 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. — 2018. — С. 2704-2713.

60. Miyashita D., Lee E.H., Murmann B. Convolutional neural networks using logarithmic data representation. — 2016. — URL: https://arxiv.org/abs/1603. 01025 (дата обращения: 24.07.2025).

61. ZhangD., Yang J., Ye D., Hua G. Lq-nets: Learned quantization for highly accurate and compact deep neural networks // Proceedings of the European conference on computer vision (ECCV). — 2018. — С. 365-382.

62. Hubara I., Nahshan Y., Hanani Y., Banner R., Soudry D. Accurate Post Training Quantization With Small Calibration Sets // Proceedings of the 38th International Conference on Machine Learning (ICML). — Т. 139 из Proceedings of Machine Learning Research. — 2021. — С. 4466-4475.

63. Bengio Y., LéonardN., Courville A. Estimating or propagating gradients through stochastic neurons for conditional computation. — 2013. — URL: https://arxiv. org/abs/1308.3432 (дата обращения: 24.07.2025).

64. Yang J., ShenX., Xing J., Tian X., Li H., Deng B., Huang J., Hua X.s. Quantization Networks // The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2019. — С. 7308-7316.

65. Gong R., Liu X., Jiang S., Li T., Hu P., Lin J., Yu F., Yan J.Differentiable soft quantization: Bridging full-precision and low-bit neural networks // Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). — 2019. — С. 4852-4861.

66. Rastegari M., Ordonez V., Redmon J., Farhadi A. Xnor-net: Imagenet classification using binary convolutional neural networks // European conference on computer vision / Springer. — 2016. — С. 525-542.

67. Yuan C., Agaian S.S. A comprehensive review of binary neural network // Artificial Intelligence Review. — 2023. — Т. 56, № 11. — С. 12949-13013.

68. Zhou Y., Redkar S., HuangX. Deep learning binary neural network on an FPGA // 2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS) / IEEE. — 2017. — С. 281-284.

69. Zhang J., Pan Y., Yao T., Zhao H., Mei T. dabnn: A super fast inference framework for binary neural networks on arm devices // Proceedings of the 27th ACM international conference on multimedia. — 2019. — С. 2272-2275.

70. Liu Z., Wu B., Luo W, Yang X., Liu W, Cheng K.T. Bi-real net: Enhancing the performance of 1-bit cnns with improved representational capability and advanced training algorithm // Proceedings of the European conference on computer vision (ECCV). — 2018. — С. 722-737.

71. Qin H., Gong R., Liu X., Shen M., Wei Z., Yu F., Song J. Forward and backward information retention for accurate binary neural networks // Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. — 2020. — С. 2250-2259.

72. Hubara I., Courbariaux M., Soudry D., El-Yaniv R., Bengio Y. Binarized neural networks // Advances in neural information processing systems. — 2016. — Т. 29.

73. DarabiS., Belbahri M., Courbariaux M., Nia V.P. Regularizedy network training.

— 2018. — URL: https://arxiv.org/abs/1812.11800 (дата обращения: 24.07.2025).

74. Tang W., Hua G., Wang L. How to train a compact binary neural network with high accuracy? // Proceedings of the AAAI conference on artificial intelligence.

— Т. 31. — 2017.

75. Liu Z., Shen Z., Li S., Helwegen K., Huang D., Cheng K.T. How do adam and training strategies help bnns optimization // International conference on machine learning / PMLR. — 2021. — С. 6936-6946.

76. LahoudF., Achanta R., Marquez-Neila P., SüsstrunkS. Self-binarizing networks. — 2019. — URL: https://arxiv.org/abs/1902.00730 (дата обращения: 24.07.2025).

77. XNNPACK. — 2020. — URL: https://github.com/google/XNNPACK (дата обращения: 24.07.2025).

78. Alemdar H., Leroy V., Prost-Boucle A., Petrot F. Ternary neural networks for resource-efficient AI applications // 2017 international joint conference on neural networks (IJCNN) / IEEE. — 2017. — С. 2547-2554.

79. Frantar E., Ashkboos S., Hoefler T., Alistarh D. Gptq: Accurate post-training quantization for generative pre-trained transformers // International Conference on Learning Representations (ICLR). — 2023.

80. llama.cpp. — 2023. — URL: https://github.com/ggml-org/llama.cpp (дата обращения: 24.07.2025).

81. Zhuang B., Shen C., Tan M., Liu L., Reid I. Towards effective low-bitwidth convolutional neural networks // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2018. — С. 7920-7928.

82. Liang S., Yin S., Liu L., Luk W., Wei S. FP-BNN: Binarized neural network on FPGA // Neurocomputing. — 2018. — Т. 275. — С. 1072-1086.

83. Yu S., Li Z., Chen P.Y., Wu H., Gao B., Wang D., Wu W., Qian H. Binary neural network with 16 Mb RRAM macro chip for classification and online training // 2016 IEEE International Electron Devices Meeting (IEDM) / IEEE. — 2016. — С. 16.2.1-16.2.4.

84. Limonova E.E., Neyman-Zade M.I.O., Arlazarov V.L. Special aspects of matrix operation implementations for low-precision neural network model on the Elbrus platform // Bulletin of the South Ural State University. Ser. Mathematical Modelling, Programming & Computer Software. — 2020. — Т. 13, № 1. — С. 118-128.

85. Banner R., Nahshan Y., Soudry D. Post training 4-bit quantization of convolutional networks for rapid-deployment // Advances in Neural Information Processing Systems. — Т. 32. — 2019. — С. 1-9.

86. Choukroun Y., Kravchik E., Yang F., Kisilev P. Low-bit Quantization of Neural Networks for Efficient Inference. //ICCV Workshops. — 2019. — С. 3009-3018.

87. Xu Z., Lin M., Liu J., Chen J., Shao L., Gao Y., Tian Y., Ji R. ReCU: Reviving the Dead Weights in Binary Neural Networks // Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). — 2021. — С. 5198-5208.

88. Wan D., Shen F., Liu L., Zhu F., Qin J., Shao L., Shen H.T. Tbn: Convolutional neural network with ternary inputs and binary weights // Proceedings of the European Conference on Computer Vision (ECCV). — 2018. — С. 315-332.

89. Moss D.J., Nurvitadhi E., Sim J., Mishra A., Marr D., Subhaschandra S., Leong P.H. High performance binary neural networks on the Xeon+ FPGA platform //2017 27th International Conference on Field Programmable Logic and Applications (FPL) / IEEE. — 2017. — С. 1-4.

90. Deng L., Jiao P., Pei J., Wu Z., Li G. GXNOR-Net: Training deep neural networks with ternary weights and activations without full-precision memory under a unified discretization framework // Neural Networks. — 2018. — Т. 100. — С. 49-58.

91. Bethge J., Yang H., Bornstein M., Meinel C. Back to simplicity: How to train accurate bnns from scratch? — 2019. — URL: https://arxiv.org/abs/1906.08637 (дата обращения: 24.07.2025).

92. Hinton G.E., Srivastava N., Krizhevsky A., Sutskever I., Salakhutdinov R.R. Improving neural networks by preventing co-adaptation of feature detectors. — 2012. — URL: https://arxiv.org/abs/1207.0580 (дата обращения: 24.07.2025).

93. Krizhevsky A. Learning multiple layers of features from tiny images. — 2009. — URL: https://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf.

94. Huffman D.A. A method for the construction of minimum-redundancy codes // Proceedings of the IRE. — 1952. — Т. 40, № 9. — С. 1098-1101.

95. Huang Z., Shao W., Wang X., Lin L., Luo P. Rethinking the Pruning Criteria for Convolutional Neural Network // Advances in Neural Information Processing Systems. — Т. 34. — 2021. — С. 16305-16318.

96. Ronneberger O., Fischer P., Brox T. U-net: Convolutional networks for biomedical image segmentation // Medical Image Computing and Computer-Assisted Intervention-MICCAI 2015: 18th International Conference, Munich, Germany, October 5-9, 2015, Proceedings, Part III 18 / Springer. — 2015. — С. 234-241.

97. Fischer H. A history of the central limit theorem: from classical to modern probability theory. — Springer, 2011. — Т. 4.

98. Buda M., Saha A., Mazurowski M.A. Association of genomic subtypes of lower-grade gliomas with shape features automatically extracted by a deep learning algorithm // Computers in Biology and Medicine. — 2019. — Т. 109. — С. 218-225.

99. LoshchilovI., Hutter F. Decoupled weight decay regularization. — 2017. — URL: https://arxiv.org/abs/1711.05101 (дата обращения: 24.07.2025).

100. Deng J., Dong W, Socher R., Li L.J., Li K., Fei-Fei L. Imagenet: A large-scale hierarchical image database // 2009 IEEE conference on computer vision and pattern recognition / IEEE. — 2009. — С. 248-255.

101. Clark K., Vendt B., Smith K., Freymann J., Kirby J., Koppel P., Moore S., Phillips S., Maffitt D., Pringle M. The Cancer Imaging Archive (TCIA): maintaining and operating a public information repository // Journal of digital imaging. — 2013. — Т. 26. — С. 1045-1057.

102. Eigen. — 2006. — URL: https://eigen.tuxfamily.org/ (дата обращения: 24.07.2025).

103. Трусов А.В. Программа для быстрых нейросетевых вычислений на центральных процессорах «NNAlgebra»: свидетельство о государственной регистрации программ для ЭВМ № 2024691267, опубл. 20.12.2024 по заявке № 2024690402 от 12.12.2024. — 2024.

Список рисунков

1.1 Декомпозиция матричного умножения в системах с иерархической памятью ...................................23

1.2 Применение микроядер матричного умножения............24

1.3 Представление дискретной свертки в виде матричного умножения

с помощью т2со1-преобразования.....................25

1.4 Структура квантованного слоя нейронной сети на этапе обучения . . 31

1.5 Структура квантованного слоя нейронной сети на этапе исполнения . 32

2.1 Упаковка значений в 4-битных микроядрах матричного умножения

для ЦП с архитектурой ARMv7-A (слева) и ARMv8-A (справа).....41

2.2 Микроядро 4-битного умножения для ARMv8-A............42

2.3 Микроядро бинарного умножения для ARMv8-A............45

2.4 Половина микроядра тернарного умножения для ARMv8-A......46

3.1 Разбиение внутреннего цикла в 4.6-битных микроядрах........61

3.2 Упаковка значений в 4.6-битном микроядре матричного умножения

для ЦП с архитектурой х86_64.......................64

3.3 Микроядро 4.6-битного умножения для процессора х86_64

с расширением SSE4 ............................66

3.4 Три способа квантования блока с остаточными соединениями: ResBlockA (слева), ResBlockB (по центру), ResBlockC (справа).....80

3.5 Зависимость иБ^) от а для различных значений а..........83

3.6 Зависимость 6(а, а) от а для различных значений а..........85

3.7 Зависимость относительного значения градиента весов от

параметра а при фиксированном а = 1 ..................87

3.8 Распределение квантованных значений весов в 4.6-битной сети

= 23)...............................96

3.9 Распространение сигнала (левый рисунок) и градиентов (правый рисунок) в сетях ResNet-20A и ResNet-20C................99

3.10 Распространение сигнала (левый рисунок) и градиентов (правый рисунок) в сети ResNet-20B.........................99

3.11 Средние графики точности в процессе обучения при разных стратегиях инициализации следующих сетей: LeNet5 (левый-верхний), ResNet20A (правый-верхний), ResNet20B (левый-нижний) и ResNet20C (правый-нижний).............101

4.1 Схема программного комплекса обучения малобитной ИНС.....108

4.2 Схема программы исполнения ИНС...................109

4.3 Схема процедуры вычисления сверточного слоя ............ 111

4.4 Схема алгоритма р-т2со1.........................113

4.5 Схема работы программного модуля матричного умножения.....114

Список таблиц

1 Возможные значения входов и весов в БНС, ТНС и ТБНС.......43

2 Сравнение главных микроядер матричного умножения ................48

3 Относительное ускорение алгоритмов матричного умножения .... 50

4 Точность классификации CIFAR-10 для различных блоков квантования ..................................................................55

5 Среднее время (нс) на одну операцию умножения при использовании различных типов данных в алгоритмах матричного умножения .................................. 90

6 Среднее ускорение алгоритмов матричного умножения (А по сравнению с Б) на процессоре ARM .................... 90

7 Среднее ускорение алгоритмов матричного умножения (А по сравнению с Б) на процессоре x86 ..................... 91

8 Архитектура LeNet-подобных нейронных сетей............92

9 Сравнение точности 4.6-битных LeNet-подобных нейронных сетей с параметрами (Nx, Nw) с соответствующими 4-битными, 8-битными и вещественными сетями в задаче 10-классовой классификации на CIFAR-10...................................93

10 Сравнение точности 4.6-битных нейронных сетей ResNet-18 и ResNet-34 с параметрами (Nx, Nw) с соответствующими 4-битными, 8-битными и вещественными сетями в задаче 1000-классовой классификации на ImageNet...............95

11 Метрики качества сегментации для сетей архитектуры U-Net на изображениях из набора TCIA при различном квантовании ....... 95

12 Среднее время распознавания одного изображения с помощью нейронной сети (в мс) ............................ 97

13 Результаты обучения квантованных сетей при различных сочетаниях стратегий инициализации и алгоритмов квантования . . . .103

Приложение А

Свидетельство о государственной регистрации программы для ЭВМ

Программа для быстрых нейросетевых вычислений на центральных

процессорах «NNAlgebra»

Программа предназначена для вычисления произведений набора произвольных матриц на заданную матрицу с построчным прибавлением произвольного вектора к результату и возможностью квантования результата. Область применения программы включает системы машинного обучения, в том числе вычисление нейронных сетей. Программа отличается наличием аппаратно оптимизированного кода для процессоров архитектур х86, х86 64, ARM с векторными расширениями SSE4, AVX2, NEON. Другие отличительные особенности: предварительное выделение памяти для промежуточных вычислений и упаковка заданной матрицы в формат, минимизирующий время доступа в память. Программа выполняется в два этапа: инициализация - ввод параметров умножения и заданной матрицы в формате 32-битных вещественных, 8- или 4.6-битных квантованных чисел и вычисление - ввод набора матриц и векторов и вывод результатов.

Тип ЭВМ: IBM PC-совмест. ПК на базе процессора Intel х86_64 с расширением SSE4.2 или AVX2, ARMv7-A, ARMv8-A или ARMv9-A;

ОС: Linux, Windows, MacOS, iOS, Android.

Язык программирования: С++, Assembler

Объем программы для ЭВМ: 488 КБ

Приложение Б

Акт о внедрении

Акт об использовании результатов диссертационной работы в программных продуктах ООО «Смарт Энджинс Сервис».

smart engines

ООО Смарт Энджинс Сервис 117312, город Москва, ОГРН: 1167746085297 пр-кт 60-Летия Октября, д 9

ИНН 7723328449

Т: +7 (495) 649-82-60 Е- office@smar1engines ru https://smarteng¡nes,ru

16.06.2025 № 033

На №

от

АКТ

об использовании (внедрении) результатов диссертационной работы

Трусова Антона Всеволодовича «Квантованные нейросетевые

модели для процессоров общего назначения с ограниченными ресурсами» в ООО «Смарт Энджинс Сервис»

Предложенная схема 4,6-битного квантования и алгоритмы быстрого вычисления 4,6-битных нейронных сетей на центральных процессорах позволили существенно повысить скорость детекции и распознавания текста и других структурных объектов на изображениях документов. Результаты диссертации Трусова Антона Всеволодовича внедрены в программы для ЭВМ «Smart ID Engine» (свидетельство о государственной регистрации программы для ЭВМ № 2020616758 от 22.06.2020), «Smart Document Engine» (свидетельство о государственной регистрации программы для ЭВМ № 2020616760 от 22.06.2020) и «Smart Code Engine» (свидетельство о государственной регистрации программы для ЭВМ № 2020616759 от 22.06.2020).

Данные программы используются в

• ФНС РФ, МВД РФ, НСПК «МИР», государственных информационных системах Федерального дорожного агентства «Росавтодор», Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации (паспортно-визовая система ГС Мир).

• информационных системах крупных российских и зарубежных финансовых организаций, таких как ПАО Банк ВТБ. АО «Почта Банк», АО «Т-Банк», АО «АльфаСтрахование», АО «АЛЬФА-БАНК», ПАО Банк «ФК Открытие», АО «Газпромбанк», Евразийский банк развития, PJSC Emirates NBD Bank;

• сотовых операторов ПАО «МТС», «МегаФон», «ВымпелКом» (торговая марка «Билайн»);

• в составе автоматизированной системы паспортного контроля «Сапсан», предназначенной для осуществления автоматического паспортного контроля пассажиров, следующих через государственную границу Российской Федерации;

• системах автоматизации продажи билетов ОАО «РЖД», а также авиакомпаний (Turkish Airlines, Croa

Исполнительный директор _J_

С.А. Усилии

Стр. 1 11

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