Телефон: 8-800-350-22-65
Напишите нам:
WhatsApp:
Telegram:
MAX:
Прием заявок круглосуточно
График работы офиса: с 9:00 до 21:00 Нск (с 5:00 до 19:00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 10(348)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3

Библиографическое описание:
Купцов А.Р. МЕТОДЫ ОПТИМИЗАЦИИ НЕЙРОННЫХ СЕТЕЙ // Студенческий: электрон. научн. журн. 2026. № 10(348). URL: https://sibac.info/journal/student/348/406875 (дата обращения: 16.04.2026).

МЕТОДЫ ОПТИМИЗАЦИИ НЕЙРОННЫХ СЕТЕЙ

Купцов Андрей Романович

студент, кафедра информационных систем и технологий, Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»,

РФ, г. Санкт-Петербург

Рыбин Сергей Витальевич

научный руководитель,

канд. физ.-мат. наук, Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»,

РФ, г. Санкт-Петербург

METHODS FOR OPTIMIZING NEURAL NETWORKS

 

Kuptsov Andrey Romanovich

student, Department of Information Systems and Technologies, Saint Petersburg Electrotechnical University «LETI»,

Russia, Saint Petersburg

Rybin Sergey Vitalyevich

Scientific Advisor, Candidate of Physical and Mathematical Sciences, Saint Petersburg Electrotechnical University «LETI»,

Russia, Saint Petersburg

 

АННОТАЦИЯ

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

ABSTRACT

The article examines the main methods for optimizing neural networks that make it possible to reduce model size, lower computational costs, and accelerate inference without a significant loss of accuracy. The relevance of the topic is due to the fact that modern deep learning models often require large amounts of memory and computational resources, which makes their use on mobile devices and other systems with limited computational capabilities difficult. The paper reviews low-rank decompositions, tensor decompositions, pruning, quantization, and knowledge distillation. For each approach, its basic idea, operating principle, advantages, limitations, and practical applicability are briefly described. It is shown that in practice the greatest interest lies in combined methods that integrate several compression strategies. It is concluded that the choice of an optimization method depends on the architecture of the model, the required level of accuracy, and the characteristics of the target hardware platform.

 

Ключевые слова: нейронные сети, оптимизация моделей, сжатие нейросетей, низкоранговые разложения, pruning, квантование, дистилляция знаний.

Keywords: neural networks, model optimization, model compression, low-rank decomposition, pruning, quantization, knowledge distillation.

 

Современные нейронные сети показывают высокую точность в задачах компьютерного зрения, обработки естественного языка, анализа изображений, аудио и временных рядов. Вместе с тем рост качества моделей сопровождается увеличением их сложности. Количество параметров в глубоких сетях достигает миллионов, а в крупных системах — миллиардов. Это приводит к увеличению объёма памяти, времени вычислений и энергопотребления, что ограничивает применение таких моделей на устройствах с ограниченными ресурсами [1].

Особенно остро данная проблема проявляется при использовании нейросетей на мобильных устройствах, в системах интернета вещей, робототехнических комплексах и других системах, где вычисления выполняются непосредственно на конечном устройстве. В подобных случаях модель должна не только сохранять приемлемую точность, но и быстро работать на CPU, GPU или специализированном ускорителе, занимая минимальный объём памяти. В связи с этим одной из важнейших задач современной инженерии машинного обучения является разработка методов оптимизации, позволяющих уменьшить вычислительную и параметрическую сложность сети [2].

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

Низкоранговые разложения матриц

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

Классическим инструментом здесь выступает сингулярное разложение. Если матрица весов слоя обозначена через W, то её можно представить в виде

где и — ортогональные матрицы, а — диагональная матрица сингулярных значений.

При сохранении только наиболее значимых компонент получаем усечённое разложение

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

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

Если исходно число параметров было равно m·n, то после приближения оно сокращается до величины порядка . При правильно выбранном r это даёт заметное уменьшение размера модели.

Преимущество подхода состоит в его математической прозрачности и сравнительной простоте. Он особенно полезен в слоях, где количество параметров велико и допускается небольшая потеря точности. Однако выбор ранга является критическим моментом. Слишком малое значение r приводит к деградации качества, а слишком большое почти не даёт выигрыша. В современных исследованиях всё чаще предлагаются методы, в которых низкоранговая структура не просто накладывается на уже обученную модель, а внедряется непосредственно в процесс её обучения. В работе M. Sharma и соавторов разложенные факторы обучаются в рамках единого процесса оптимизации, а ранг уменьшается динамически, что позволяет автоматически находить более компактную конфигурацию сети [1].

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

Тензорные разложения

Если для полносвязных слоёв естественным является матричное представление весов, то для сверточных слоёв оно уже недостаточно. Весовые коэффициенты свёрток имеют многомерную структуру и описываются тензорами. Соответственно, для их эффективного сжатия применяются тензорные разложения [2].

Одним из наиболее известных является CP-разложение, при котором тензор представляется в виде суммы компонент ранга один:

где — элементы исходного тензора весов, — ранг разложения, а , , , — факторные матрицы, соответствующие различным измерениям тензора.

Кроме CP-формата, широко применяются разложение Таккера и Tensor-Train. В случае разложения Таккера тензор аппроксимируется ядром меньшей размерности и набором матриц преобразования:

где — ядро разложения, , , , — матрицы факторов, а знак обозначает умножениетензора на матрицу по -му измерению.

Данный формат удобен тем, что позволяет гибко регулировать степень сжатия по различным измерениям тензора. Анализ научной литературы показывает, что именно разложение Таккера и Tensor-Train в ряде случаев обеспечивают более устойчивый компромисс между скоростью, размером и точностью, чем классическое CP-разложение [2].

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

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

Pruning как метод удаления избыточных параметров

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

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

где — пороговое значение, определяющее, какие веса считаются малозначимыми и подлежат удалению.

При этом различают неструктурированный и структурированный pruning. В первом случае удаляются отдельные веса, такой вариант позволяет добиться высокой разреженности, но не всегда даёт реальное ускорение на стандартном оборудовании. Во втором случае удаляются целые фильтры, каналы или блоки сети. Именно структурированный pruning чаще оказывается практически полезным, поскольку позволяет уменьшить число реальных вычислительных операций и сократить время отклика на CPU и GPU [3].

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

Квантование и уменьшение точности представления параметров

Квантование представляет собой метод оптимизации, при котором параметры модели переводятся в более низкую разрядность. Если в исходной сети веса обычно хранятся как 32-битные числа с плавающей точкой, то после квантования они могут быть представлены, например, в 8-битном формате. За счёт этого уменьшается объём памяти и повышается скорость вычислений на оборудовании, поддерживающем операции с числами пониженной разрядности [4].

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

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

В современных исследованиях всё чаще применяются методы квантования со смешанной точностью, при которых разные слои модели квантуются с разной степенью точности. Такой подход позволяет сохранить важные части сети в более точном виде, а второстепенные перевести в более дешёвый формат. В современных исследованиях отмечается, что сочетание pruning и квантования со смешанной точностью даёт более сильный практический эффект, чем последовательное независимое применение методов [4].

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

Дистилляция знаний как способ обучения компактных моделей

Особое место среди методов оптимизации занимает дистилляция знаний. В отличие от pruning, квантования и разложений, она не сводится к прямому уменьшению числа параметров уже существующей сети, а предполагает специальный режим обучения компактной модели на основе поведения более сильной модели-учителя [5].

В классической постановке используются две сети: teacher и student. Учитель уже обучен и обладает высокой точностью. Задача состоит в том, чтобы студент не просто обучился на правильных метках, но и воспроизвёл распределение вероятностей, формируемое учителем. Типичная функция потерь может быть записана следующим образом:

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

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

Современные варианты данного подхода включают самодистилляцию, дистилляцию промежуточных признаков и методы, основанные на передаче отношений между внутренними представлениями модели [6]. Это расширяет сферу его применения и делает дистилляцию не только средством компрессии, но и инструментом повышения качества компактных архитектур. В прикладных задачах дистилляция особенно ценна тогда, когда требуется получить небольшую модель, близкую по качеству к тяжёлой исходной сети.

Сравнительная характеристика основных методов оптимизации нейронных сетей

(данные представлены в таблице 1)

Таблица 1.

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

Метод

Принцип

Основные преимущества

Основные ограничения

Практическая область применения

Низкоранговые разложения

Замена матрицы весов произведением матриц меньшего размера

Снижение числа параметров, ускорение линейных операций

Необходим выбор ранга, возможна потеря точности

Полносвязные и часть сверточных слоёв

Тензорные разложения

Факторизация многомерных весовых тензоров

Эффективное сжатие CNN, сохранение структуры признаков

Более сложная настройка, требуется дообучение

Сверточные нейронные сети(CNN)

Pruning

Удаление малозначимых весов, фильтров или каналов

Простота, гибкость, возможность реального ускорения при удалении целых структурных элементов

Не всякая разреженность даёт прирост скорости

Мобильные устройства, системы с ограниченными вычислительными ресурсами

Квантование

Уменьшение разрядности представления весов и активаций

Экономия памяти, ускорение на подходящем железе

При сильном сжатии возможно падение точности

Мобильные, встроенные и аппаратно-ориентированные решения

Дистилляция знаний

Обучение компактной модели на основе выходов учителя

Повышение качества малой модели

Нужна сильная модель-учитель, требуется дополнительная настройка

Подготовка компактных моделей к развёртыванию

 

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

Вывод

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

 

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

  1. Sharma M., Heard J., Saber E., Markopoulos P.P. Convolutional Neural Network Compression via Dynamic Parameter Rank Pruning [Электронный ресурс]. – URL: https://arxiv.org/abs/2401.08014 (дата обращения: 14.03.2026).
  2. Wang M., Pan Y., Xu Z., Yang X., Mandic D., Cichocki A. Tensor Networks Meet Neural Networks: A Survey and Future Perspectives [Электронный ресурс]. – URL: https://arxiv.org/abs/2302.09019 (дата обращения: 14.03.2026).
  3. Han S., Pool J., Tran J., Dally W. Learning both Weights and Connections for Efficient Neural Networks [Электронный ресурс]. – URL: https://arxiv.org/abs/1506.02626 (дата обращения: 14.03.2026).
  4. Motetti D. et al. Joint Pruning and Channel-wise Mixed-Precision Quantization [Электронный ресурс]. – URL: https://arxiv.org/abs/2407.01054 (дата обращения: 14.03.2026).
  5. Hinton G., Vinyals O., Dean J. Distilling the Knowledge in a Neural Network [Электронный ресурс]. – URL: https://arxiv.org/abs/1503.02531 (дата обращения: 14.03.2026).
  6. Moslemi A. et al. A Survey on Knowledge Distillation: Recent Advancements [Электронный ресурс]. – URL: https://www.sciencedirect.com/science/article/pii/S2666827024000811 (дата обращения: 14.03.2026).