Ускорение, сжатие и усовершенствование нейросетевых алгоритмов классификации и распознавания объектов на изображении и в видеопотоке. тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Пономарёв Евгений Сергеевич

  • Пономарёв Евгений Сергеевич
  • кандидат науккандидат наук
  • 2023, ФГАОУ ВО «Национальный исследовательский университет «Высшая школа экономики»
  • Специальность ВАК РФ00.00.00
  • Количество страниц 101
Пономарёв Евгений Сергеевич. Ускорение, сжатие и усовершенствование нейросетевых алгоритмов классификации и распознавания объектов на изображении и в видеопотоке.: дис. кандидат наук: 00.00.00 - Другие cпециальности. ФГАОУ ВО «Национальный исследовательский университет «Высшая школа экономики». 2023. 101 с.

Оглавление диссертации кандидат наук Пономарёв Евгений Сергеевич

Введение

Глава 1 Автоматизированное многоступенчатое сжатие

о о Л Л

неиросетевых моделей

1.1 Введение

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

1.3 Алгоритм сжатия

1.4 Сжатие слоев в деталях

1.4.1 Первичное сжатие слоя нейросетевой модели с использованием представления тензора его весов в формате Тискег-2

1.4.2 Дальнейшее сжатие слоя, представленного в формате Тискег-2

1.5 Автоматический выбор рангов тензорного разложения в

формате Тискег-2

1.5.1 Выбор рангов на основе байесовского подхода

1.5.2 Выбор рангов для заданной степени сжатия

1.6 Первичное сжатие слоя нейросетевой модели с использованием представления тензора его весов в СР-формате

1.6.1 Дальнейшее сжатие слоя, представленного СР-формате

1.6.2 Выбор рангов для разложения в СР-формате

1.7 Сжатие при помощи сингулярного разложения

1.8 Эксперименты

1.8.1 Задача обнаружения объектов на изображении

1.8.2 Задача классификации изображений

1.8.3 Сравнение итеративного подхода с одностадийным

1.9 Обзор альтернативных методов сжатия нейросетевых моделей . . 33 1.9.1 Эффективность сжатия разных слоев нейросетевых

моделей из семейств УСС и

1.10 Выводы к главе

Стр.

Глава 2 Малоранговое представление нейросетевых моделей

2.1 Введение

2.2 Ключевые алгоритмы

2.2.1 Алгоритм поиска подматрицы максимального объема (MaxVol) и понятие матрицы выбора строк

2.2.2 Вычисление вложений малой размерности

2.3 Метод построения сетей меньшего порядка

2.3.1 Многослойная полносвязная нейросетевая модель

2.3.2 Свёрточная нейросетевая модель

2.3.3 «Остаточные» свёрточные нейросетевые модели (Residual Networks)

2.3.4 Ошибка аппроксимации

2.4 Эксперименты

2.4.1 Сингулярные числа

2.4.2 Ускорение полносвязных сетей

2.4.3 Ускорение свёрточных сетей

2.4.4 Сравнение с другими методами

2.5 Обзор литературы

2.6 Обсуждение метода

2.7 Выводы к главе

Глава 3 Инструмент для создания моделей предсказания

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

3.1 Инструмент оценки и исследования времени инференса LETI

3.1.1 Параметризация нейросетевой модели

3.1.2 Генерация набора данных времени исполнения нейросетевых моделей

3.2 Экспериментальные результаты

3.2.1 Обсуждение выбора реализации и развертывания на мобильных устройствах

3.2.2 Набор данных TensorFlow Lite

3.3 Оценка времени исполнения нейросетевой модели

Стр.

3.3.1 Метод использования таблицы поиска на мобильных

CPU и GPU

3.3.2 Линейные модели на основе числа FLOP

3.3.3 Методы градиентного бустинга

3.3.4 Графовые свёрточные нейросетевые модели

3.3.5 Численные результаты для предлагаемых методов

3.4 Обсуждение способов оценки времени исполнения нейросетевых моделей

3.5 Выводы к главе

Заключение

Список сокращений и условных обозначений

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

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

Введение

Алгоритмы, основанные на нейросетевых моделях, эффективны для широкого спектра задач компьютерного зрения, включая классификацию изображений, сегментацию и обнаружение объектов. Они имеют большой потенциал применения и уже используются во многих областях жизни. Однако, существует ряд факторов, препятствующих их внедрению, особенно в приложения, исполняемые на мобильных платформах. Одними из основных проблем являются ограничения на быстродействие и количество памяти используемых устройств, что существенным образом сужает их выбор. Данная работа нацелена на внесение вклада в решение этих задач при помощи создания методов ускорения и сжатия нейросетевых моделей, и создания системы оценки времени инференса их реализаций на заданном устройстве. Многие научные группы решают схожие проблемы, применяя различные методы, так, сжатием и ускорением нейронных сетей занимаются исследовательские группы крупнейших мировых компаний, таких как OpenAI, NVIDA, Google, Huawei, Samsung, а также многие российские и мировые учёные. Существует множество подходов к данной задаче, включающих в себя прореживание, вычисления с уменьшенной точностью, дистилляцию, а также использование различных малопараметрических разложений. Работа затрагивает последний из указанных подходов. Идеи применения тензорных методов малоранговой аппроксимации для сжатого представления многомерных массивов берут своё начало из работ Хичкока [1], предложившего каноническое разложение в 1927 г. и остаются темой активных исследований, включая работы Таккера [2], создавшего в 1966 г. названное его именем разложение, а также более свежие работы Оселедца [3] по разложению тензорного поезда, работы Фана, Чихоцкого, Колда [4] и других учёных, внесших свой вклад в создание и развитие области в последние два десятилетия. Наиболее близкой работой в данной области являются недавние работы Новикова [5] и Лебедева [6] по применению тензорных разложений для сжатия отдельных слоёв нейронной сети. Стоит отметить, что другая рассматриваемая задача - определение времени работы нейронных сетей на конечных устройствах является достаточно новой областью, возникшей с развитием мобильных устройств и методов автоматического поиска архитектуры нейронных сетей. Все методы в этой области созданы совсем недавно, среди них можно отметить работы Чжан [7], Дудзяк [8].

Цель и задачи исследования

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

1. Создать алгоритм итеративной низкоранговой тензорной аппроксимации для сжатия весов свёрточных и полносвязных слоёв нейросетевых моделей.

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

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

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

1. Создан новый итеративный алгоритм низкоранговой аппроксимации весов свёрточных и полносвязных слоёв нейросетевых моделей для их эффективного сжатия, который превосходит одностадийные методы при сохранении требуемой точности модели.

2. Представлен метод автоматического выбора рангов для тензорных аппроксимаций, выполняемых на каждом шаге сжатия итеративного алгоритма низкоранговой аппроксимации весов свёрточных и полносвязных слоёв нейросетевых моделей.

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

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

5. Разработан инструмент оценки времени исполнения реализации ней-росетевой модели по её параметризации. Он позволяет генерировать исполняемые на различных целевых устройствах реализации нейросе-тевых моделей по их параметризации; создавать наборы данных на основе экспериментальных данных, на основе которых обучать любые регрессионные модели оценки времени инференса, в том числе на базе алгоритмов машинного обучения.

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

1. Предложен новый итеративный алгоритм сжатия нейросетевых моделей с использованием малоранговой аппроксимации тензоров их параметров.

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

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

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

5. Предложен новый подход и инструментарий для оценки времени ин-ференса нейросетевых моделей по их параметризации и заданной аппаратной и программной платформам.

Практическая значимость

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

1https://github.com/musco-ai и https://github.com/Daulbaev/ReducedOrderNet

выполнении грантов РФФИ 19-31-90172 «Ускорение, сжатие и совершенствование нейросетевых алгоритмов классификации изображений и обнаружения объектов в изображении и видеопотоке», РФФИ 19-29-09085 «Поиск новых ней-росетевых архитектур для анализа мультимодальных видеоданных», а также получением патента на изобретение (Россия) №2734579 «Система для сжатия искусственных нейронных сетей на основе итеративного применения тензорных аппроксимаций».

Методология и методы исследования

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

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

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

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

Апробация работы

Основные результаты работы были доложены на научных семинарах и на международной конференции IEEE International Conference on Computer Vision Workshop «Low Power Computer Vision» (2019). Часть результатов была утверждена в коммерческом контракте с компанией Huawei в проекте «Latency Modeling».

Личный вклад

Данное диссертационное исследование является итоговой работой автора. Она состоит из нескольких проектов, в которых автор выполнял разные объемы работ:

1. «Latency estimation tool and investigation of neural networks inference on mobile GPU» - автор выполнил весь объем работы, при административной поддержке и редактировании текста Матвеева С., научном консультировании Оселедца И., верификации и аппаратном обеспечении Глухова В.

2. «Reduced-Order Modeling of Deep Neural Networks» - автор выполнил экспериментальную часть, связанную со сбором межслойных тензоров для полного набора данных, алгоритм ускорения разработан и внедрен Гусак Ю. и Даулбаевым Т.

3. «Обзор методов визуализации искусственных нейронных сетей» - автор выполнил обзор алгоритмов. Соавтор Чертков А. сделал обзор реализаций, Матвеев С. и Оселедец И. обеспечили научное консультирование и редактирование текста.

4. «Automated Multi-Stage Compression of Neural Networks» - автор выполнил основную часть экспериментальную часть работы по дообучению моделей компьютерного зрения с итеративным применением алгоритма сжатия, которые были разработаны соавторами Гусак Ю. и Холявчен-ко М., остальные соавторы обеспечивали научное консультирование (Оселедец И., Чихоцкий А.), редактирование текста и помощь в экспериментах (Маркеева Л. и Благовещенский П.).

Публикации

Основные результаты по теме диссертации изложены в 4 печатных изданиях. Все они входят в международные системы цитирования Scopus и Web of Science.

A1. E. Ponomarev, S. Matveev, I. Oseledets V. Glukhov. Latency Estimation Tool and Investigation of Neural Networks Inference on Mobile GPU / E. Ponomarev, S. Matveev, I. Oseledets V. Glukhov // Computers. —2021. — Vol. 10.

A2. J. Gusak, T. Daulbaev, E. Ponomarev. Reduced-Order Modeling of Deep Neural Networks / J. Gusak, T. Daulbaev, E. Ponomarev, A. Cichocki, I. Oseledets // Comput. Math. and Math. Phys. — 2021. — Vol. 61. — P. 774—785.

A3. S. Matveev, I. Oseledets, E. Ponomarev A. Chertkov. Overview of Visualization Methods for Artificial Neural Networks. / S. Matveev, I. Oseledets, E. Ponomarev A. Chertkov // Comput. Math. and Math. Phys. — 2021. — Vol. 61. — P. 887—899.

A4. Automated Multi-Stage Compression of Neural Networks / J. Gusak, M. Kholiavchenko, E. Ponomarev [et al.] // Proc. IEEE/CVF International Conference on Computer Vision Workshop (ICCVW). — 2019. — P. 2501—2508.

Объем и структура работы

Диссертация состоит из введения, трёх глав и заключения. Полный объём диссертации составляет 101 страницу, включая 18 рисунков и 15 таблиц. Список литературы содержит 97 наименований.

Глава 1 Автоматизированное многоступенчатое сжатие

нейросетевых моделей

1.1 Введение

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

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

Тензор - многомерный массив из чисел:

Q{ii,i2,.. .,id), 1 < ik < пк

Где d - это размерность тензора. Тензор размерности 1 - вектор, размерности 2 - матрица. Каноническое разложение (CP) - представление тензора в виде:

г

0 = Q(ii,P2, ...,zd) = J2 Ui(h,a)U2(i2,a)Uz(h,a)d(id,a)

а=1

где г называется тензорным, или каноническим, рангом, a матрицы Uk размера пи х г называются каноническими факторами, или факторными матрицами. В двумерном случае тензор является матрицей, а каноническое разложение вырождается в скелетное:

0 = U1U2

Разложение Таккера (Tucker) - представление тензора в виде: 0 = 0(ii,i2, ...,id)= J2 g(ui,U2, ... ,ad)Ui(ii,a)U2(i2,a)U3(i3,a)d(id,a)

(Xi,(X2,...<Xd

где fk - ранги соответствующих двумерных факторов (фактор-матриц) Uk размера rik х fk, а G(a1,a2,... ,a¿) - d-мерное ядро разложения.

Разложение Tucker-2. Отдельно стоит выделить случай разложения трехмерного тензора 6 на три компоненты. Для наглядности в качестве такого тензора может выступать ядро свёртки с пространственными размерами d х d, развёрнутыми в одну размерность; числом выходных каналов n¿n и числом выходных каналов nout.

6 « Xin 6in Xout 6out. (1.1)

где 6in обозначает полилинейное произведение по размерности с индексом in. Соответствующий полилинейный ранг равен (d, d, Rin, ^out), везде далее мы будем обозначать его как (Rin, Rout). Забегая вперед, такую факторизацию можно представить в виде трёх последовательных свёрточных слоёв (см. рисунок 1.1). Это не единственный способ получить аппроксимацию свёрточного ядра тензором, чья факторизованная форма представима в виде последовательных слоёв нейросетевой модели.

Как показано в ряде работ [6; 9—11], матричные и тензорные аппроксимации малого ранга могут быть эффективно применены в задаче сжатия слоев нейросетевой модели. В этих методах факторизация весовых тензоров приводит к созданию новой, сжатой нейросетевой модели, которая хорошо приближает исходную.

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

Предложенный алгоритм существенно улучшает устоявшуюся схему путем многократного итерационного поочередного применения разложения малого ранга к различным частям сети и последующей тонкой настройки (см. алгоритм 1). Далее будем называть его MUSCO (Multi-Stage Compression method, метод многоступенчатого сжатия). Оказывается, такая простая идея

Рисунок 1.1 — Низкоранговая аппроксимация четырехмерного тензора ядра свертки d х d х С{п х совокупностью трех сверток. Аппроксимация в формате Тискег-2. Обозначение @С0^ означает, что четырехмерный тензор имеет Сои выходных каналов. Обозначения х^.п, х^опЬ соответствуют полилинейным произведениям по размерности с значениями Я]п и

может значительно улучшить качество сжатия нейросетевых моделей. К примеру, для архитектуры детектора объектов на изображении Faster R-CNN [12] на базе ResNet-50 [13], была получена модель с существенно лучшим сжатием, чем при использовании одностадийного алгоритма при сохранении того же качества (см. раздел 1.8).

Таким образом, предложенный метод состоит из двух повторяющихся шагов: сжатия и тонкой настройки (см. рисунок 1.2). На этапе сжатия сначала выбираются слои. Веса избранных слоев аппроксимируются с помощью тензорного разложения с ручным или автоматическим выбором ранга (Раздел 1.5). На этом этапе избыточность, присутствующая в весовых параметрах, частично уменьшается. Следующий шаг позволяет восстановить качество модели за счет выполнения тонкой настройки. Повторяя эти два шага несколько раз, мы можем постепенно сжимать модель, существенно уменьшая количество параметров.

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

Тонкая настройка

Сжатие

Рисунок 1.2 — Иллюстрация итеративного сжатия. Входные данные: предварительно обученная оригинальная модель. Результат: точно настроенная сжатая модель. На каждой итерации каждый слой (дополнительно) сжимается с помощью низкоранговой аппроксимации его тензора весов.

— Предложен итеративный алгоритм низкоранговой аппроксимации весов нейросетевой модели для её эффективного сжатия, который превосходит одностадийные методы при сохранении желаемой точности модели.

— Представлен метод автоматического выбора рангов для тензорных аппроксимаций, выполняемых на каждом шаге сжатия.

— Предложенный итеративный подход проверен и продемонстрировал высокую эффективность в серии обширных вычислительных экспериментов для задач детектирования объектов и классификации изображений. Исходный код находится в открытом доступе по адресу https://github.com/juliagusak/musco.

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

В этом разделе вводится формальное описание сжатия модели в терминах переходов от одного класса моделей к другому.

Каждая нейросетевая модель может быть описана как пара (/, 6), где / определяет архитектуру сети, а 6 обозначает ее параметры (веса). Таким образом, для каждого заданного набора параметров 6 непрерывная функция / присваивает входному тензору X результат его распространения по всей сети, /(X, 6).

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

и М, через М = {(/, 6)|6 Е в}. Здесь 6 - набор весов всех слоев отдельной сети /, а в - множество всех возможных параметров для заданной архитектуры.

Задача сжатия нейросетевой модели - получить модель, аналогичную исходной (в заданной метрике, например, точности классификации изображений) с наименьшим количеством параметров. Рассмотрим сжатие сети с помощью тензорной аппроксимации низкого ранга её весов 6. То, как при этом поменяется её архитектура / будет рассмотрено ниже. Веса полносвязных и сверточных слоёв нейросетевой модели являются многомерными массивами - тензорами. Так, ядро сверточного слоя с рецептивным полем размера Н х п), числом входных и выходных каналов Ст и соответственно - четырёхмерный тензор размера Н х х х С^. Для каждого тензора определено понятие ранга. Поскольку определение тензорного ранга не является унифицированным, мы используем полилинейный ранг для разложения Таккера (см. определение ниже в разделе 1.4) и ранг тензора ОРЭ для ОР.

Факторизация Пусть дан набор тензоров 6. Обозначим как гапк(6) массив рангов, соответствующих данным тензорам. Определим отношение гапк(6) ^ Я, где Я - массив из постоянных значений, как совокупность поэлементных ограничений, применяемых к рангам каждого из тензоров 6.

Тогда, чтобы применить факторизацию ранга Я к весам 6 Е в, нужно найти массив 0 из множества вд,

вд = {6 Е в | гапк(6) < Я}, (1.2)

который аппроксимирует 6 по выбранной норме (например, Ь2) и может быть представлен в факторизованном формате Е в^ ( т.е. представляет собой массив, где каждый элемент соответствует одному фактору из фактори-зованного приближенния исходного тензора 6). Введем операторы ^(а^ и ^(п11, которые отображают вд в в^. и наоборот, т.е.

в^ = РЫ6) | 6 Е вД} (1.3)

и ^(^(6)) = 6 при 6 Е вД.

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

Таким образом, во время сжатия исходной нейросетевой модели (/, 6) ЕМ с помощью факторизации ранга-И (см. рисунок 1.3), получается две модели. Первая модель (/,0) сохраняет архитектуру, меняется лишь

вес сжатого слоя (на его приближение) 6 ^ 6 так как множество тензоров весов, представимых факторизацией с ограничением на ранг факторов, является подмножеством всех возможных тензоров весов 0й С в. Во-вторых, получается вторая, сжатая модель (/6^) € Мд с новой архитектурой /д, которая образуется путем замены тензора-приближения 6 его фактори-зованной версией 6^, где

Mr = {(/Д, 0) | 0 Е ©ÍJct>

R

(1.4)

и /к — модификация исходной архитектуры /, в которой разложенные слои заменены на последовательность новых. Декомпозированный слой представляет собой последовательность линейных слоев, вес каждого из которых представлен одним компонентом разложения тензора-приближения веса исходного слоя.

Факторизация ранга R

Ffull

тонкая настройка

(/VSct)

Рисунок 1.3 — Итеративное сжатие (первая итерация): предварительно обученные веса 0 приближены тензором в факторизованном формате, а соответствующие слои исходной архитектуры f раскладываются на последовательности слоев. В результате архитектура меняется на новую - fR. (Количество слоев в каждой последовательности равно количеству компонентов в тензорной факторизации.)

После тонкой настройки сети (fR, 0fact) мы получаем модель (/R, 0fact) Е Mr, оптимизированную для заданной функции потерь на обучающем наборе данных.

Так как метод MUSCO является итеративным, то отдельного внимания заслуживает второе и последующие сжатия слоя. Когда дополнительно сжимается уже разложенная сеть (/R, 0fact), то применяется процедура сжатия с новым рангом-Д' к модели (f, 0) Е M, где 0 Е ©R (см. рисунок 1.4). То есть, в наивном случае, компоненты разложения "собираются" в один тензор, используется изначальная архитектура, но новые веса и новые ранги для разложения.

В работе этот шаг был оптимизирован для различных типов тензорных разложений и повторное сжатие детально рассмотрено в разделе 1.4.

Факторизация ранга R'

(¡,о)------------>(/,ёя)

А I А

Ть

'а^

Лп11

Ть

'а^

дальнейшее сжатие

(/д' Ь)

тонкая настройка

(/д' Ь)

Рисунок 1.4 — Итеративное сжатие (вторая и последующие итерации): ранг факторизованных весов дополнительно уменьшается. Архитектура изменилась, но количество слоев осталось прежним (изменился их размер).

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

М — М1 — М1 — ... — мк 8.1. Мк,Мк еМКк,

МК,

(1.5)

где ^ ... ^ Як. Переходы Мк-\ и — соответствуют этапам

сжатия и тонкой настройки соответственно, к = 1... К. Для сравнения, для одностадийного подхода аналогичный путь выглядит как М — Мк — Мк, т.е. архитектура результирующей сжатой модели определяется на первом и единственном шаге сжатия.

При этом начальная инициализация важна - во многих случаях не получится добиться такого же качества при обучения модели с новой архитектурой /Ек и стандартной инициализацией параметров. При использовании одностадийного подхода, например в работах [6; 10], новая архитектура получает хорошую инициализацию и может быть тонко настроена до качества исходной, не сжатой модели, или чуть ниже. Однако, использование итеративного подхода (см. алгоритм 1) позволяет существенно улучшить показатели сжатия с сохранением заданной точности, так как на каждой итерации модель сжимается не так сильно относительно предыдущей, и удается восстановить её качество. Подробно обширной серии экспериментов посвящен раздел 1.8.

Мы также можем описать наш подход иначе, принимая во внимание, что каждая модель из Мдй, к = 1,... ,К может быть отображена на модель из М с помощью оператора ^¡пц (см. рисунки 1.3, 1.4). А именно, для начальной архитектуры / итеративно уменьшается набор допустимых параметров, в Э вЙ1 Э • • • Э вЕк, и ищется наилучшее значение параметров при наложенных ограничениях.

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

Более того, возможно использование автоматического выбора наилучших значений ранга ,к = 1,...,К, что оптимизирует процесс итеративного сжатия.

1.3 Алгоритм сжатия

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

Чтобы сжать слой с весовым тензором 6 при заданном ранге Я первый раз, решается следующая задача минимизации нормы Фробениуса между исходным тензором 6 и его факторизованным приближением 0Д:

min ||0- 0Й||, такие, что

e*-'0S (1.6)

^fact(u) = (б n0 n) ,

где 0 f,... , 0 Е обозначают компоненты тензора в факторизованной форме с рангом R и числом факторов N.

Так как предложенный алгоритм сжатия MUSCO заведомо итеративный, то для второго и следующих сжатий слоя производится операция пересчета факторов {6 ^полученных на предыдущем шаге метода. А именно, при заданном новом ранге R' : R' < R решается следующая задача минимизации:

min ||Jfuii(6fact) - 6й'||, такие, что

дД' дД' 61 6 N

б fact = (0 f,..., 0 N ), ^fact( 0К ) = ( 0f , 0 N ),

где 0 f,... , 0 ^ обозначают обновленные факторы исходного тензора весов выбранного слоя нейросетевой модели.

На этапе тонкой настройки минимизируется функция потерь I на заданном наборе обучающих данных {(Xj,Yj)}/=1, где Xj — входные данные, а Yj — соответствующее целевое значение. Например, для задачи классификации изображений, Xj — картинка, а Yj — её класс. Таким образом, решается следующая задача оптимизации:

J

£(0 ) min , где £(0) = £I (/Й(Х,, 0 ),Yj) , (1.8)

0 €0fact j = 1

где fR — сжатая нейросетевая модель, а 0^ct — набор всех возможных её параметров.

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

На шаге сжатия каждой итерации для каждого из выделенных слоев решается задача оптимизации 1.6, если слой еще не сжат, и задача оптимизации 1.7 в противном случае. Шаг тонкой настройки одинаков для всех итераций.

1.4 Сжатие слоев в деталях

В данной главе в качестве тензорного разложения было выбрано разложение Таккера (Tucker) и разложение по сингулярным значениям высшего

Алгоритм 1 Алгоритм итеративной аппроксимации малого ранга для автоматического сжатия сети_

Input: Предварительно обученная исходная модель, М

Output: Тонко настроенная сжатая модель, М*. 1: М * ^ М

2: while желаемая степень сжатия не достигнута или автоматически выбранные ранги не стабилизировались do

3: R ^ автоматически выбранные ранги для низкоранговых тензорных аппроксимаций сверточных и полносвязных весовых тензоров.

4: М ^ (дополнительно) сжатая модель, полученная из М заменой весов слоев их тензорными аппроксимациями ранга R.

5: М* ^ тонко настроенная модель М.

6: end while

порядка (HOSVD — High Order Singular Value Decomposition) [14]. Однако, метод работает и с другими разложениями, в том числе с каноническим полиадическим разложением (CP [15; 16]) и сингулярным разложением (SVD).

Поскольку определение тензорного ранга не является унифицированным, мы используем полилинейный ранг для разложения Таккера (см. определение ниже) и ранг тензора CPD для CP.

Разложение Таккера Ж-мерного тензора представляет собой разложение на основной тензор малого размера и N фактор-матриц. Для сверточного ядра 6 Е RdxdxCinxCout, с входными каналами Oin, выходными каналами Cout и пространственным фильтром размерности d x d, его можно записать как

6 « 6С Xh 6h Xw 6W Xjn 6in Xout 6out, (1.9)

где 6c — это 4-мерный основной тензор, 6h, 6W, 6in, 6out — это матрицы, на которые нужно умножить каждое измерение основного тензора. Символы Xh, х w и Xin, Xout обозначают полилинейные произведения по пространственному и канальному измерениям соответственно.

Если разложение 1.9 выполнено точно, то полилинейный ранг тензора 6 определяется как набор (Rh, Rw, Rin, Rout), где n-й элемент, п = 1... 4, является рангом n-мерной развертки тензора1.

В сверточных ядрах пространственные размеры обычно довольно малы (часто 3 х 3). Поэтому, как и в [10], в MUSCO факторизуются только два измерения, связанных с каналами, т.е. применяется разложение Tucker-2, которое к тому же является особой формой декомпозиции тензорного поезда [3]:

6 « 6с Xin 6in Xout 6out. (1.10)

Соответствующий полилинейный ранг равен (d, d, Rin, ^out), везде далее мы будем обозначать его как (^in,^out), опуская пространственные размерности.

1.4.1 Первичное сжатие слоя нейросетевой модели с использованием представления тензора его весов в формате

Tucker-2

Пусть 6 Е RdxdxCoutxCiп будет приближением ядра, полученным с помощью декомпозиции Tucker-2 с рангом R = (^out,^in). Поскольку методы декомпозиции ищут непосредственно факторизованное представление, введем оператор J~dec, который выполняет аппроксимацию тензора (ранга R) и факторизацию одновременно, т.е.

^dec(6) = ^fact(6) = (6C, 6out, 6in), (1.11)

где 6out Е RCoutxRout, 6in Е RCinXRin — фактор-матрицы, и 6с Е RdxdxRoutxRin — основной тензор.

Выходной тензор Y Е RH'xW'x°out для входного слоя X Е RHxCiп может быть вычислен последовательно следующим образом: [10]

Zi = 6in * X, Z2 = 6с * Zx, Y = 6out * Z2, (1.12)

где операция * обозначает свертку по всем общим измерениям.

1 Развертка размерности п N-мерного тензора размера di x ... x dn переупорядочивает элементы тензора в матрицу с dn строками и di ... dn-i dn+i.. .d^ столбцами

Следовательно, исходный сверточный слой с ядром 6 можно заменить тремя сверточными слоями (Рис. 1.1). Действительно, получим Z\, Z2,У путем последовательного распространения X по сверточным слоям с пространственными размерами ядра 1 х 1, ё, х ё, и 1 х 1 соответственно. Таким образом, для разложенного слоя будет использоваться 0(С[ПЯ[П + + Сои^ои0 па-

раметров, а для прохождения данных через него потребуется 0(HWC[nR[n + + Со^Яо^)) операций.

1.4.2 Дальнейшее сжатие слоя, представленного в формате

Tucker-2

Чтобы выполнить дальнейшее сжатие уже сжатого и разложенного слоя, необходимо обновить веса 6 ^ = ( 6с, 6 ои^ 6 щ). То есть найти такой = (6С, 6 о^, 6 (п), что ^и11( 0^) имеет полилинейный ранг Я' = (До^^ь), ^ ^ ^ (поэлементное сравнение).

Наивный способ сделать это — получить новые основную и факторные матрицы, аппроксимируя тензор ^ип(6методом Тискег-2 (путь по пунктирным стрелкам на Рис. 1.4).

Можно предложить более эффективную процедуру пересчета, основанную на свойствах разложения Таккера (см. рисунок 1.5). А именно, аппроксимировать только ядро 6 с, используя разложение Тискег-2, а затем обновить веса следующим образом:

^1ес(6С) = (6C, 6 ои^ 6 т),

0' _а* а' _да* а' _а а*

С = 6 C, 6 т = 6 т 6 1п, 6 out = 6 о^6 о

1.5 Автоматический выбор рангов тензорного разложения в

формате Tucker-2

В Разделе 1.2 было показано, что итеративное сжатие и последующая тонкая настройка модели 1.5 эквивалентны итеративному сокращению набора

(1.13)

Рисунок 1.5 — Низкоранговая аппроксимация тензора, представленного в формате Tucker-2.

параметров (в Э 0Й1 Э 0Й2 Э ...) для начальной архитектуры / с последующей тонкой настройкой при ограничениях на параметры.

Чтобы автоматически выбирать постепенно уменьшающиеся ранги > > ... для низкоранговой аппроксимации 6, были проведены эксперименты с двумя разными сценариями: байесовским подходом и постоянной степенью сжатия. Байесовский подход основан на оценке ранга с целью удаления избыточности из тензора весов. Подход с постоянной степенью сжатия основан на вычислении ранга с целью получить желаемую скорость уменьшения числа параметров после нескольких итераций.

1.5.1 Выбор рангов на основе байесовского подхода

Для удобства введем два обозначения: крайний ранг и ослабленный ранг. Крайний ранг — это значение, при котором из тензора после аппроксимации удалена практически вся избыточность. Ослабленный ранг — это значение, при котором в тензоре после разложения сохраняется некоторая избыточность. Более точно эти условие сформулированы ниже. При использовании байесовского подхода, будем сначала искать крайний ранг Re при помощи метода общего аналитического решения эмперической вариационной байесовской матричной факторизации - GAS EVBMF (Global Analytic Solution of Empirical Variational

Bayesian Matrix Factorization), а затем выполнять ослабление ранга. Подробно о методе GAS EVBMF можно узнать в работе [17].Такой подход для выбора рангов для факторизации при сжатии был использован ранее в работе [10], однако там использовался именно "крайний ранг", R = ^evbmf посчитанный непосредственно методом GAS EVBMF2, что дает неоптимальное значение. Поэтому было решено ввести понятие ослабления ранга и использовать "крайний ранг" для подсчета "ослабленного ранга", который и используется в аппроксимации.

Чтобы определить крайний ранг аппроксимации Tucker-2 с помощью GAS EVBMF, применим его к разверткам весового тензора ядра свертки, связанного с размерами каналов [10]. То есть в (к + 1)-й итерации мы применяем его к матрицам размеров Rfn х d2R0^ut и х d2Rfn.

Ослабленный ранг ^weak линейно зависит от "крайнего ранга" и служит для сохранения большей избыточности в разложенном тензоре. Параметр R = ^weak облегчает тонкую настройку и позволяет меньше терять точность на каждом шаге.

Ослабленный ранг определяется следующим образом:

^weak = Rinit — W(R[n[t — ^extr), (1.14)

где w — гиперпараметр, называемый коэффициент ослабления, 0 < w < 1, и Rinit обозначает начальный ранг. Это приводит к очевидному соотношению ^extr ^ ^weak ^ ДпИ;. Эксперименты показывают, что оптимальное значение для w находится в диапазоне 0.5 ^ w ^ 0.9. Кроме того, если начальный ранг меньше 21, то созданный алгоритм MUSCO будет считает такие ядра уже достаточно маленькими и не будет сжимать их.

1.5.2 Выбор рангов для заданной степени сжатия

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

2В [10] вместо VBMF используется неэмпирическая версия VBMF, которая кроме того требует ручной настройки дополнительного глобального параметра.

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

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

Список литературы диссертационного исследования кандидат наук Пономарёв Евгений Сергеевич, 2023 год

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

1. Hitchcock, F. L. The Expression of a Tensor or a Polyadic as a Sum of Products / F. L. Hitchcock // Journal of Mathematics and Physics. — 1927. — Т. 6, № 1—4. — С. 164—189.

2. Tucker, L. R. Some mathematical notes on three-mode factor analysis / L. R. Tucker // Psychometrika. — 1966. — Т. 31, № 1—4. — С. 279—311.

3. I. Oseledets. Tensor-train decomposition. / I. Oseledets. // SIAM Journal on Scientific Computing. —.

4. Kolda, T. Tensor Decompositions and Applications / T. Kolda, B. Bader // SIAM Review. — 2009. — Авг. — Т. 51. — С. 455—500.

5. Tensorizing Neural Networks. / A. Novikov [и др.] // NIPS. — 2015. — С. 442—450.

6. Speeding-up convolutional neural networks using fine-tuned cp-decomposition / V. Lebedev [и др.] // arXiv preprint arXiv:1412.6553. — 2014.

7. Zhang, X. ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. / X. Zhang, X. Zhou, M. Lin. — Salt Lake, UT, USA., 18-23 June 2018. — 8693, 740-755.

8. Dudziak, L. BRP-NAS: Prediction-based NAS using GCNs. In Proceedings of the Conference on Neural Information Processing Systems. / L. Dudziak, T. Chau, M. Abdelfattah. — Online., 6-12 December 2020.

9. Jaderberg, M. Speeding up convolutional neural networks with low rank expansions / M. Jaderberg, A. Vedaldi, A. Zisserman //. — 2014.

10. Compression of deep convolutional neural networks for fast and low power mobile applications / Y. D. Kim [и др.] //. — 2016.

11. Accelerating very deep convolutional networks for classification and detection / X. Zhang [и др.] // IEEE transactions on pattern analysis and machine intelligence. — 2015. — Т. 38, № 10. — С. 1943—1955.

12. Faster r-cnn: Towards real-time object detection with region proposal networks / S. Ren [h gp.] // Advances in neural information processing systems. — 2015. — C. 91—99.

13. Deep residual learning for image recognition / K. He [h gp.] // Proceedings of the IEEE conference on computer vision and pattern recognition. — 2016. — C. 770—778.

14. L.Tucker. Implications of factor analysis of three-way matrices for measurement of changes, problems of measuring change (c. harris, ed.) / L.Tucker. — 1963.

15. Harshman, R. a. Foundations of the PARAFAC procedure: Models and conditions for an "explanatory" multimodal factor analysis / R. a Harshman // UCLA Working Papers in Phonetics. — 1970. — T. 16, Ban. 10.

16. Hillar, C. J. Most tensor problems are NP-Hard / C. J. Hillar, L. H. Lim // Journal of the ACM. — 2013. — T. 60, Ban. 6.

17. Perfect dimensionality recovery by variational Bayesian PCA / S. Nakajima [h gp.] //. T. 2. — 2012.

18. The Pascal Visual Object Classes Challenge: A Retrospective / M. Everingham [h gp.] // International Journal of Computer Vision. — 2015. — T. 111, Ban. 1.

19. He, Y. Channel Pruning for Accelerating Very Deep Neural Networks / Y. He, X. Zhang, J. Sun //. 2017—0ctober. — 2017.

20. AMC: AutoML for model compression and acceleration on mobile devices / Y. He [h gp.] //. 11211 LNCS. — 2018.

21. Learning efficient convolutional networks through network slimming / Z. Liu [h gp.] // Proceedings of the IEEE International Conference on Computer Vision. — 2017. — C. 2736—2744.

22. Dynamic Channel Pruning: Feature Boosting and Suppression / X. Gao [h gp.] // International Conference on Learning Representations. — 2019.

23. More is less: A more complicated network with less inference complexity / X. Dong [h gp.] //. — 2017. — C. 5840—5848.

24. Channel Gating Neural Networks / W. Hua [h gp.] // arXiv preprint arXiv:1805.12549. — 2018.

25. Pruning Filters for Efficient ConvNets / H. Li [h gp.] // arXiv preprint arXiv:1608.08710. — 2017.

26. Discrimination-aware Channel Pruning for Deep Neural Networks / Z. Zhuang [et al.] // Advances in Neural Information Processing Systems 31. — Curran Associates, Inc., 2018. — P. 881—892.

27. Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks / Y. He [h gp.] // Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI-18. — International Joint Conferences on Artificial Intelligence Organization, 07.2018. — C. 2234—2240.

28. Exploiting linear structure within convolutional networks for efficient evaluation / E. L. Denton [h gp.] // Advances in neural information processing systems. — 2014. — C. 1269—1277.

29. Lin, D. D. Fixed point quantization of deep convolutional networks /

D. D. Lin, S. S. Talathi, V. S. Annapureddy //. T. 6. — 2016.

30. Miyashita, D. Convolutional neural networks using logarithmic data representation. / D. Miyashita, E. Lee, B. Murmann // arXiv preprint arXiv:1603.01025. —.

31. Park, E. Weighted-entropy-based quantization for deep neural networks /

E. Park, J. Ahn, S. Yoo //. 2017—January. — 2017.

32. Subdominant Dense Clusters Allow for Simple Learning and High Computational Performance in Neural Networks with Discrete Synapses / C. Baldassi [h gp.] // Physical Review Letters. — 2015. — T. 115, Ban. 12.

33. XNOR-net: Imagenet classification using binary convolutional neural networks / M. Rastegari [h gp.] //. 9908 LNCS. — 2016.

34. Neural Ordinary Differential Equations / T. Q. Chen [h gp.] // Advances in Neural Information Processing Systems. — 2018. — C. 6572—6583.

35. FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models / W. Grathwohl [h gp.] // arXiv preprint arXiv:1810.01367. — 2018.

36. Reduced order methods for modeling and computational reduction. T. 9 / A. Quarteroni, G. Rozza [h gp.]. — Springer, 2014.

37. Chaturantabut, S. Nonlinear model reduction via discrete empirical interpolation / S. Chaturantabut, D. C. Sorensen // SIAM Journal on Scientific Computing. — 2010. — T. 32, № 5. — C. 2737—2764.

38. Efficient rectangular maximal-volume algorithm for rating elicitation in collaborative filtering / A. Fonarev [h gp.] // 2016 IEEE 16th International Conference on Data Mining (ICDM). — IEEE. 2016. — C. 141—150.

39. Mikhalev, A. Rectangular maximum-volume submatrices and their applications / A. Mikhalev, I. V. Oseledets // Linear Algebra and its Applications. — 2018. — T. 538. — C. 187—211.

40. Zagoruyko, S. Wide residual networks / S. Zagoruyko, N. Komodakis // arXiv preprint arXiv:1605.07146. — 2016.

41. Densely connected convolutional networks / G. Huang [h gp.] // Proceedings of the IEEE conference on computer vision and pattern recognition. — 2017. — C. 4700—4708.

42. Where to Prune: Using LSTM to Guide End-to-end Pruning. / J. Zhong [h gp.] // IJCAI. — 2018. — C. 3205—3211.

43. Deng, L. The mnist database of handwritten digit images for machine learning research / L. Deng // IEEE Signal Processing Magazine. — 2012. — T. 29, № 6. — C. 141—142.

44. Krizhevsky, A. Learning multiple layers of features from tiny images : Tex. oth. / A. Krizhevsky. — 2009.

45. Reading digits in natural images with unsupervised feature learning / Y. Netzer [h gp.]. — 2011.

46. Global analytic solution of fully-observed variational Bayesian matrix factorization / S. Nakajima [h gp.] // Journal of Machine Learning Research. — 2013. — T. 14, Jan. — C. 1—37.

47. Sketching as a tool for numerical linear algebra / D. P. Woodruff [h gp.] // Foundations and Trends in Theoretical Computer Science. — 2014. — T. 10, № 1/2. — C. 1—157.

48. FREDE: Linear-Space Anytime Graph Embeddings / A. Tsitsulin [h gp.] // arXiv preprint arXiv:2006.04746. — 2020.

49. Simonyan, K. Very deep convolutional networks for large-scale image recognition / K. Simonyan, A. Zisserman // arXiv preprint arXiv:1409.1556. — 2014.

50. Learning Efficient Convolutional Networks through Network Slimming / Z. Liu [h gp.] // ICCV. — 2017.

51. Automated Multi-Stage Compression of Neural Networks / J. Gusak [h gp.] // Proceedings of the IEEE International Conference on Computer Vision Workshops. — 2019. — C. 0-0.

52. ThiNet: Pruning CNN Filters for a Thinner Net / J. Luo [h gp.] // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 2018. — C. 1—1.

53. He, Y. Channel Pruning for Accelerating Very Deep Neural Networks / Y. He, X. Zhang, J. Sun // The IEEE International Conference on Computer Vision (ICCV). — 10.2017.

54. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications / A. G. Howard [h gp.] // arXiv preprint arXiv:1704.04861. — 2017. — Anp.

55. Model Compression and Acceleration for Deep Neural Networks: The Principles, Progress, and Challenges / Y. Cheng [h gp.] // IEEE Signal Processing Magazine. — 2018. — T. 35, № 1. — C. 126—136.

56. Bucilua, C. Model Compression / C. Buciluä, R. Caruana, A. Niculescu-Mizil // Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. — Philadelphia, PA, USA : ACM, 2006. — C. 535—541.

57. Hinton, G. Distilling the Knowledge in a Neural Network / G. Hinton, O. Vinyals, J. Dean // arXiv preprint arXiv:1503.02531. — 2015.

58. Fitnets: Hints for thin deep nets / A. Romero [h gp.] // arXiv preprint arXiv:1412.6550. — 2014.

59. Zagoruyko, S. Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer / S. Zagoruyko, N. Komodakis // arXiv preprint arXiv:1612.03928. — 2016. —

flex.

60. Pruning filters for efficient convnets / H. Li [h gp.] // arXiv preprint arXiv:1608.08710. — 2016.

61. Network trimming: A data-driven neuron pruning approach towards efficient deep architectures / H. Hu [h gp.] // arXiv preprint arXiv:1607.03250. — 2016.

62. Learning structured sparsity in deep neural networks / W. Wen [h gp.] // Advances in neural information processing systems. — 2016. — C. 2074—2082.

63. Exploiting linear structure within convolutional networks for efficient evaluation / E. L. Denton [h gp.] // Advances in neural information processing systems. — 2014. — C. 1269—1277.

64. Jaderberg, M. Speeding up Convolutional Neural Networks with Low Rank Expansions / M. Jaderberg, A. Vedaldi, A. Zisserman // arXiv preprint arXiv:1405.3866. — 2014. — Mafi.

65. Speeding-up Convolutional Neural Networks Using Fine-tuned CP-Decomposition / V. Lebedev [h gp.] // arXiv preprint arXiv:1412.6553. — 2014. — ^eK.

66. Understanding deep learning requires rethinking generalization / C. Zhang [h gp.]. — 2016. — Hoh6.

67. Courbariaux, M. Training deep neural networks with low precision multiplications / M. Courbariaux, Y. Bengio, J.-P. David // arXiv preprint arXiv:1412.7024. — 2014. — ^eK.

68. Deep Learning with Limited Numerical Precision / S. Gupta [h gp.] // International Conference on Machine Learning. — 2015. — C. 1737—1746.

69. Molchanov, D. Variational dropout sparsifies deep neural networks / D. Molchanov, A. Ashukha, D. Vetrov // Proceedings of the 34th International Conference on Machine Learning-Volume 70. — JMLR. org. 2017. — C. 2498—2507.

70. Krizhevsky, A. ImageNet classification with deep convolutional neural networks. / A. Krizhevsky. — Commun. ACM, 2017. — 60, 84-90.

71. He, K. Identity mappings in deep residual networks. / K. He. — Lect. Notes Comput. Sci., 2016. — 9908, 630-645.

72. Lin, T. Microsoft COCO: Common objects in context. / T. Lin. — Lect. Notes Comput. Sci., 2014. — 8693, 740-755.

73. Wani, M. Advances in Deep Learning. / M. Wani. — Springer Singapore: Singapore 2020.

74. Howard, A. Mobilenets: Efficient convolutional neural networks for mobile vision applications. / A. Howard, M. Zhu, B. Chen. — CoRR., 2017. — doi:abs/1704.04861.

75. Abadi, M. TensorFlow: A system for large-scale machine learning In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation, OSDI. / M. Abadi, P. Barham, J. Chen. — Savannah, GA, USA., 2-4 November 2016.

76. Lee, J. On-device neural net inference with mobile gpus. / J. Lee, N. Chirkov, E. Ignasheva. — CoRR., 2019. — doi:abs/1907.01989.

77. Zoph, B. Learning Transferable Architectures for Scalable Image Recognition In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. / B. Zoph, V. Vasudevan, J. Shlens. — Salt Lake, UT, USA., 18-23 June 2018.

78. Ying, C. NAS-bench-101: Towards reproducible neural architecture search. In Proceedings of the 36th International Conference on Machine Learning. / C. Ying, A. Klein, E. Christiansen. — Long Beach, CA, USA., 9-15 June

2019. — 7105-7114.

79. Dong, X. Nas-bench-201: Extending the scope of reproducible neural architecture search. In Proceedings of the International Conference on Learning Representations. / X. Dong, Y. Yang. — online, 26 April-1 May

2020.

80. Krizhevsky, A. Learning Multiple Layers of Features from Tiny Images. Available online: https://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf. / A. Krizhevsky, V. Nair, G. Hinton. — 19 August 2021.

81. Liu, H. DARTS: Differentiable architecture search. In Proceedings of the International Conference on Learning Representations. / H. Liu, K. Simonyan, Y. Yang. — New Orleans, USA., 6-9 May 2019.

82. He, X. AutoML: A Survey of the State-of-the-Art. In Knowledge-Based Systems. / X. He, K. Zhao, X. Chu. — Amsterdam, Netherlands., 2021.

83. Gupta. Google AI Blog: EfficientNet-EdgeTPU: Creating Accelerator-Optimized Neural Networks with AutoML. Available online:https : / / ai . googleblog.com/2019/08/efficientnet-edgetpu-creating.html. / Gupta. — 19 August 2021.

84. Cai, H. roxyless NAS: Direct neural architecture search on target task and hardware. In Proceedings of the International Conference on Learning Representations. / H. Cai, L. Zhu, S. Han. — New Orleans, USA., 6-9 May 2019.

85. Dai, X. Chamnet: Towards efficient network design through platform-aware model adaptation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. / X. Dai, P. Zhang, B. Wu. — Long Beach, CA, USA., 16-20 June 2019. — pp. 11398-11407.

86. Wu, B. FBnet: Hardware-aware efficient convnet design via differentiable neural architecture search. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. / B. Wu, X. Dai, P. Zhang. — Long Beach, CA, USA., 16-20 June 2019. — pp. 10734-10742.

87. Chu, X. MOGA: Searching beyond mobilenet v3. In Proceedings of the International Conference on Acoustics, Speech, and Signal Processing. / X. Chu, B. Zhang, R. Xu. — Barcelona, Spain., 4-8 May 2020.

88. Ignatov, A. AI Benchmark: Running deep neural networks on android smartphones. / A. Ignatov, R. Timofte, W. Chou. — Lect. Notes Comput. Sci., 2019. — doi:10.1007/978-3-030-11021-5_19.

89. Rapin, J. Nevergrad—A Gradient-Free Optimization Platform. Available online: https : / / github . com / facebookresearch / nevergrad. / J. Rapin, O. Teytaud. — 19 August 2021.

90. Caffe2. Available online: https://caffe2.ai/ / Caffe2. — 19 August 2021.

91. Pytorch Mobile. Available online: https://pytorch.org/mobile/home/. — 19 August 2021.

92. Luo, C. Comparison and Benchmarking of AI Models and Frameworks on Mobile Devices. / C. Luo, X. He, J. Zhan. — 2020. — ArXiv:2005.05085v1.

93. Chen, T. XGBoost: A scalable tree boosting system. In Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. / T. Chen, C. Guestrin. — New York, NY, USA., 13-17 August 2016. — pp. 785-794.

94. Prokhorenkova, L. CatBoost: unbiased boosting with categorical features. / L. Prokhorenkova, G. Gusev, A. Vorobev. — 2017. — arXiv:1706.09516.

95. Ke, G. LightGBM: A Highly Efficient Gradient Boosting Decision Tree. In Technical Report. https://dl.acm.org/doi/pdf/10.5555/3294996.3295074 / G. Ke, Q. Meng, T. Finley. — 19 August 2021.

96. Friedman, J. Greedy function approximation: A gradient boosting machine. / J. Friedman. — 2001. — 1189-1232.

97. Kipf, T. Semi-Supervised Classification with Graph Convolutional Networks. In Proceedings of the International Conference on Learning Representations. / T. Kipf, M. Welling. — Toulon, France., 24-26 April 2017.

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

1.1 Низкоранговая аппроксимация четырехмерного тензора ядра свертки А х А х Ст х совокупностью трех сверток. Аппроксимация в формате Тискег-2. Обозначение означает, что четырехмерный тензор имеет C0ut выходных каналов. Обозначения Хд.п, Хдои4 соответствуют полилинейным произведениям по размерности с значениями Я[п и ........ 13

1.2 Иллюстрация итеративного сжатия. Входные данные: предварительно обученная оригинальная модель. Результат: точно настроенная сжатая модель. На каждой итерации каждый слой (дополнительно) сжимается с помощью низкоранговой аппроксимации его тензора весов..................... 14

1.3 Итеративное сжатие (первая итерация): предварительно обученные веса 6 приближены тензором в факторизованном формате, а соответствующие слои исходной архитектуры / раскладываются на последовательности слоев. В результате архитектура меняется на новую - /д. (Количество слоев в каждой последовательности равно

количеству компонентов в тензорной факторизации.)......... 16

1.4 Итеративное сжатие (вторая и последующие итерации): ранг факторизованных весов 6^ дополнительно уменьшается. Архитектура изменилась, но количество слоев осталось прежним (изменился их размер)........................... 17

1.5 Низкоранговая аппроксимация тензора, представленного в формате Тискег-2.................................... 23

2.1 Сингулярные числа для всех слоёв нейросетевой модели VGG19 (слева) и ResNet56 (справа), обученных на наборе данных CIFAR-10. Каждая линия на графике соответствует выходу слоя, по оси абсцисс располагается порядковый номер сингулярного значения (по убыванию значений), по оси ординат - его значение. Значения нормированы на наибольшее сингулярное число для слоя. Видно, что большая их часть мала в относительном сравнении. ... 50

2.2 Результаты сжатия методом RON для различных моделей LeNet. . . 51

2.3 Точность классификации и теоретическое ускорение (уменьшение числа операций FLOP) для моделей, ускоренных алгоритмом RON на наборе данных CIFAR-10........................ 55

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

3.2 Схема программного комплекса LETI................... 67

3.3 Зависимость между скоростью исполнения и точностью на CIFAR-10 сети с одной базовой ячейкой | Аппаратная платформа -Huawei Kirin 970............................... 71

3.4 Время исполнения моделей для (а) запусков #1 и #2; (b) запусков

#2 и #3. Результаты для устройства Huawei Kirin 970......... 72

3.5 Зависимость между временем исполнения и количеством FLOP для

(а) устройства Huawei Kirin 970, (b) устройства Huawei Kirin 980. . . 73

3.6 Зависимость между предсказанным и измеренным временем исполнения. Алгоритмы предсказания - линейная регрессия по числу FLOP, посчитанная с помощью RANSAC, с и без кластеризации по потребляемой памяти (а) и зависимость между измеренным временем и пиковым потреблением памяти (b). Оба

результата были получены для устройства Ыиаше1 Клпп 970...... 73

3.7 Зависимость между предсказанным методом RANSAC временем работы нейросетевой модели и измеренным напрямую на тестовом наборе данных для устройств (а) Ыиаше1 Юпп 970, (Ь) Ыиаше1 Ктп

980...................................... 76

3.8 Предсказанное (а) ХСБооз! или ( Ь) Са1Вооэ1 и измеренное время исполнения сетей из тестового подмножества. Целевое устройство -Ыиаше1 Ктп 970............................... 78

3.9 Предсказанное (а) и1§МСВМ или ( Ь) GCN и измеренное время исполнения сетей из тестового подмножества. Целевое устройство -Ыиаше1 Ктп 970............................... 79

3.10 Графовая свёрточная нейронная сеть ^С^ для прогнозирования времени исполнения............................. 80

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

1 Сравнение сжатых моделей Faster R-CNN (с магистралью VGG-16) в оценочном наборе данных VOC2007, MUSCO(nx, 3,16, 2) представляет собой сжатую модель, полученную после двух шагов сжатия с использованием коэффициента сжатия параметров в 3,16

раз на каждом шаге............................ 29

2 Сравнение сжатых моделей Faster R-CNN (с магистралью ResNet-50) на наборе данных Pascal VOC2007. MUSCO(nx, 3,16, 2) представляет собой сжатую модель, полученную после двух этапов сжатия с использованием коэффициента сжатия параметров в 3,16

раз на каждом шаге............................ 30

3 Сравнение сжатых моделей Faster R-CNN (с магистралью ResNet-50) на наборе данных COCO2014. MUSCO (vbmf, 0,7, 2) представляет собой сжатую модель, полученную после двух этапов сжатия с автоматическим выбором ранга на основе байесовского подхода с коэффициентом ослабления равным 0,7........... 30

4 Сравнение различных сжатых версий ResNet-18 в проверочном наборе данных ILSVRC-12. Базовая модель, которая впоследствии была сжата, получена из библиотеки torchvision. Перед сжатием она достигала точности в предсказании топ-1 классов 69.76% и 89.08% в предсказании класса из топ-5. Это базовые показатели,

которые были использованы для расчета изменения точности А. . . 31

5 Снижение качества моделей после итеративного и однократного сжатия. Для AlexNet и VGG-16 метрикой является точность А

топ-5, для YOLO — А mAP........................ 32

6 Результаты для сжатия итеративным методом MUSCO архитектур AlexNet, VGG-16, YOLOv2 и Tiny YOLO. Тесты проводились на процессорах двух разных серий и одном популярном графическом процессоре: Intel Core i5-7600K, i7-7700K и NVIDIA GeForce GTX

1080 Ti соответственно........................... 32

7 Сжатие слоёв сети Faster R-CNN C4 с магистралью ResNet,

обученной на наборе данных V0C2007+2012. В таблице каждый остаточный блок обозначен его двумерной сверткой размера 3 х 3 (свертки размера 1 х 1 опущены для краткости). Значения количества операций MFL0P посчитаны для всех слоёв в блоке при

размере входного изображения 244 х 244 х 3.............. 35

8 Сжатие слоёв сети Faster R-CNN с магистралью VGG-16, обученной на наборе данных V0C2007. Значения количества операций MFLOP посчитаны для всех слоёв в блоке при размере входного изображения 244 х 244 х 3................... 36

9 Точность классификации (Топ-1) и теоретическое ускорение (уменьшение числа операций FLOP) для моделей, ускоренных методом RON на наборе данных CIFAR-10. DCP - метод прунинга

из работы [26]................................ 53

10 Точность классификации (наличие класса в топ-1 Топ-1 и топ-5

Топ-5 предсказаний) и теоретическое ускорение (уменьшение числа операций FLOP) для моделей VGG, ускоренных методом RON на наборе данных CIFAR-100. RON Nх означает ускоренную модель, у которой размерность последних слоёв снижена в N х

относительно исходной........................... 54

11 Точность классификации (наличие класса в топ-1 Топ-1 и топ-5

Топ-5 предсказаний) и теоретическое ускорение (уменьшение числа операций FLOP) для моделей VGG, ускоренных методом RON на наборе данных SVHN. RON Nх означает ускоренную модель, у которой размерность последних слоёв снижена в N х относительно

исходной................................... 54

12 Сравнение алгоритмов ускорения для сети VGG-19 (Исходное качество 93,7%) на наборе данных CIFAR-10. Чем большее сокращение числа FLOP достигнуто при меньшем падение

точности - тем лучше............................ 55

13 Подробная информация об устройствах, которые были использованы в исследовании....................... 70

14 Время исполнения, измеренное напрямую и подсчитанное как сумма времен инференса блоков для моделей, исполняемых на мобильном CPU. Использование таблиц поиска позволяет получить хорошую точность предсказаний..................... 75

15 Точность для порога допуска 10% (метрика такая же, как в BRP-NAS [8]) и R2. Результаты для различных методов предсказания времени инференса моделей на наборах данных для двух устройств (Kirin 970 и 980). Размер тренировочной и тестовой выборок 1000 и 10055 соответственно. Жирным шрифтом выделены лучшие результаты............................. 77

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