Эта статья основана на видеороликах и презентациях Ли Синя, старшего эксперта по алгоритмам в лаборатории технологий искусственного интеллекта Alibaba. В статье рассматриваются следующие моменты:

  1. Сжатие и ускорение с моделями глубокого обучения
  2. Нейронные сети с чрезвычайно низким битрейтом
  3. Чрезвычайно разреженная сеть
  4. Учебные платформы
  5. Высокоэффективные инструменты прямого вывода

1. Сжатие и ускорение с моделями глубокого обучения

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

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

1.1 Нейронные сети с чрезвычайно низким битрейтом

Модель Low Bit относится к сжатию последовательных весов в дискретные веса низкой точности. Как мы показали на изображении ниже, параметры исходной нейронной сети глубокого обучения являются переменными с плавающей запятой и требуют 32-битного пространства для хранения. Если мы преобразуем их в состояние всего с тремя значениями (0, +1, -1), то хранилище занимает всего 2 бита, значительно сжимая место для хранения и одновременно избегая операций умножения. Только бит символа изменяется на операции сложения и вычитания, тем самым увеличивая скорость вычислений.

Вот справочная статья по модели Low Bit — Extremely Low Bit Neural Networks: выжмите последний бит с помощью ADMM.

Далее мы будем использовать двоичную сеть в качестве примера для объяснения описанного выше процесса сжатия. Во-первых, предположим, что оптимизированной функцией исходной нейронной сети является f(w), а ограничивающим условием является ограничение параметров сети глубокого обучения в пределах C. Если C равно (-1, 1), то сеть представляет собой бинарную сеть, как показано ниже:

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

Мы будем использовать ADMM для решения, когда целевая функция равна f(x)+g(z), а условием ограничения является оптимизация Ax+Bz=c. Сначала напишите расширенную функцию Лагранжа, а затем преобразуйте приведенную выше задачу, решив xyz:

То есть сначала решается минимум xz, а затем соответственно получается обновленное значение y. Выше приведено стандартное решение ADMM. Далее давайте посмотрим, как мы можем преобразовать проблему нейронной сети с низким битом в задачу ADMM. Во-первых, нам нужно ввести индикаторную функцию, вид которой следующий:

Здесь целевая функция бинарной нейронной сети эквивалентна сумме оптимизированной целевой функции и индикаторной функции.

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

Затем нам нужно ввести ограничение согласованности. Здесь мы вводим переменную G и ограничиваем W = G, поэтому целевая функция эквивалентна:

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

Помимо бинарной сети, описанной выше, существуют также следующие общие пространства параметров:

После добавления 2, 4 и 8 в качестве значений в пространстве параметров умножение по-прежнему не требуется. Вместо этого нам нужны только операции сдвига. Следовательно, это заменяет все операции умножения в нейронной сети на операции сдвига и сложения.

Мы показали окончательные результаты оптимизации после применения вышеупомянутой модели Low Bit к ImageNet для классификации в следующей таблице:

В таблице 1 показаны результаты применения алгоритма в AlexNet и VGG-16. Вы обнаружите, что алгоритм лучше работает в двоичных и троичных сетях, чем в исходном диапазоне. Кроме того, результаты классификации в троичной сети почти без потерь по сравнению с результатами классификации с полной точностью. В таблице 2 показано применение алгоритма в ResNet-18 и ResNet-50. Результаты аналогичны приведенным в таблице 1.

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

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

1.2 Чрезвычайно разреженные сети

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

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

Однако в приведенном выше решении есть очевидная проблема, как мы описали на следующем рисунке:

W1 ближе к 0, чем w2; однако, если w1 установлено равным нулю, потери для функции выше. Поэтому при определении важности w учитывайте размер и наклон одновременно. Вы можете установить его равным нулю, только если значение w и наклон являются низкими. Основываясь на вышеуказанных критериях, мы провели редкий эксперимент на Alexnet и GoogleNet, как показано ниже:

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

1.3 Сравнение результатов экспериментов

Выше мы описали разреженный и квантованный методы. В эксперименте 1 мы одновременно применили два метода к Alexnet. Результаты приведены ниже:

На приведенном выше изображении видно, что при 3 битах, когда разреженность составляет 90% или более, потеря точности практически незначительна при степени сжатия более 82 раз.

В эксперименте 2 мы применили оба метода к ImageNet и Pascal VOC. Среди них P был разреженным, а Q был определен количественно. Из результатов на рисунке видно, что потеря точности экспериментального процесса была минимальной, а скорость вывода в ImageNet значительно улучшилась. Pascal VOC может достигать разреженности 88,7%, выраженной в 3 битах при степени сжатия в 40 раз. Это всего лишь одноточечное падение по сравнению с сетевой точкой доступа с полной точностью.

2. Учебные платформы

Мы создали учебную платформу Gauss на основе двух вышеуказанных методов. Учебная платформа Gauss в настоящее время поддерживает несколько распространенных типов учебных задач (таких как распознавание лиц, оптическое распознавание символов, классификация и контроль) и моделей (таких как CNN и LSTM). Он также поддерживает обучение нескольких машин, и мы можем установить его с наименьшим количеством возможных параметров, уменьшая количество усилий, требуемых от пользователя.

В то же время обучающая платформа Gauss также поддерживает два типа инструментов обучения моделей: Data-dependant и Data-independent. Инструменты обучения моделей, зависящие от данных, требуют, чтобы пользователи предоставляли обучающие данные. Время обучения больше и подходит для сценариев, требующих сжатия и ускорения. Инструменты обучения, не зависящие от данных, не требуют предоставления данных обучения пользователем и обеспечивают обработку одним щелчком мыши и обработку второго уровня.

3. Высокоэффективные инструменты прямого вывода

Даже после создания обучающей платформы фактическое использование модели по-прежнему требует эффективных инструментов прямого вывода. Мы можем быстро внедрить инструменты расчета матриц с низким битом, используя инструменты расчета матриц низкой точности, такие как AliNN и BNN. После внедрения инструмент рассуждений работает в 2–5 раз быстрее, чем конкурирующие продукты на платформе ARM, и в три раза быстрее на платформе Intel.

Биография автора

Ли Синь — старший эксперт по алгоритмам в лаборатории технологий искусственного интеллекта Alibaba. Он окончил Китайскую академию наук со степенью доктора философии. в области инженерии и занимается исследованиями базовых технологий в области глубокого обучения и его применения в различных отраслях.

Прочтите похожие статьи и узнайте больше о продуктах и ​​решениях Alibaba Cloud на странице www.alibabacloud.com/blog.

Ссылка:

https://www.alibabacloud.com/blog/exploring-deep-learning-models-for-compression-and-acceleration_593969?spm=a2c4.11999864.0.0