Группа российских ученых из компании Smart Engines и МФТИ предложила новый способ квантования бинарных нейронных сетей. Им удалось добиться лучших результатов для обучения таких сетей. Работа опубликована в журнале Computer Optics 2024.
Современные нейронные сети широко используются в самых разных областях: от обработки естественного языка и генерации изображений до распознавания символов на мобильных устройствах. В стремительно развивающемся мире искусственного интеллекта эффективность вычислений является критическим фактором. Для многих приложений, особенно для работы на маломощных устройствах (мобильные телефоны, встраиваемые системы, системы автономного вождения), критичны скорость и размер нейронной сети. Бинарные нейронные сети (БНС)— это один из подходов к созданию компактных и быстрых сетей. В них веса и активации представляются всего одним битом информации (–1 или 1), что значительно уменьшает объем памяти, необходимый для хранения модели, и позволяет использовать быстрые побитовые операции вместо трудоемких умножений. Однако обучение БНС — сложная задача, которая долгое время сдерживала их широкое применение.
Традиционные методы обучения нейронных сетей не подходят для бинарных нейронных сетей. Основная сложность заключается в том, что функция активации (преобразование входных данных в бинарные значения) — это кусочно-постоянная функция (знаковая функция), которая имеет нулевую производную во всех точках, где эта производная определена, — затрудняет применение методов обратного распространения ошибки. Для решения этой проблемы использовались различные подходы.
Метод прямой оценки использует знаковую функцию при прямом проходе, а при обратном проходе — ее аппроксимацию для вычисления градиента. Недостатком является несоответствие градиентов и колебания весов, что приводит к медленному и нестабильному обучению.
Самобинаризующиеся нейронные сети используют гладкую аппроксимацию знаковой функции (например, гиперболический тангенс), которая постепенно приближается к знаковой функции по мере обучения. Недостатком является разрыв между обучаемой моделью и конечной бинарной моделью, что приводит к снижению точности.
Ученые из МФТИ с коллегами совершили прорыв, разработав новый метод квантования на неопределенной базе, который решает эту проблему, обеспечивая стабильное обучение и высокое качество бинарных нейронных сетей даже при ограниченном количестве параметров. Он сочетает в себе преимущества двух выше описанных методов.
Ключевой идеей квантования на основе неопределенности является использование вероятностной активации, которая учитывает неопределенность в значениях весов и активаций.
«В основе нашего метода UBQ лежит новая концепция неопределенности активаций, позволяющая получить более точную аппроксимацию бинарной функции и, как следствие, более эффективно обучать бинарные нейронные сети», — рассказал Антон Трусов, аспирант кафедры когнитивных технологий Физтех-школы прикладной математики и информатики МФТИ.
В квантовании на основе неопределенности для каждого веса и активации вычисляется значение неопределенности, отражающее, насколько сеть «уверена» в его знаке (+1 или –1). Если неопределенность высока, используется гладкая аппроксимация знаковой функции, обеспечивающая стабильное обучение.
Если неопределенность низка, применяется прямое оценивание, что способствует быстрому переходу к бинарному представлению. Кроме того, для сглаживания перехода от режима обучения к режиму исполнения авторы предлагают постепенное «замораживание» слоев сети и замену стандартной процедуры нормализации на ее упрощенный аналог.
Для проверки эффективности квантования на основе неопределенности были проведены эксперименты на широко используемых наборах данных MNIST (распознавание рукописных цифр) и CIFAR-10 (классификация изображений). Обучались несколько небольших и больших сверточных нейронных сетей с бинарными слоями, используя два описанных выше метода и новый авторский. Результаты сравнивались по точности классификации.
Эксперименты показали, что новый метод превосходит прежние при работе с небольшими сетями и демонстрирует сопоставимые результаты с методом прямой оценки для больших сетей. Кроме того, метод квантования на основе неопределенности продемонстрировал более стабильное обучение, чем метод прямой оценки, что подтверждается меньшим разбросом результатов в повторных экспериментах.
Метод квантования на основе неопределенности можно оптимизировать для различных задач и архитектур сетей. Дальнейшие исследования могут включать в себя адаптацию параметров метода для различных задач, использование динамической неопределенности весов, применение метода к другим типам квантованных сетей.