XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
Краткое изложение пресс-релиза
Исследователи из Allen Institute for AI и University of Washington разработали способ радикально уменьшить и ускорить нейронные сети распознавания изображений, для работы которых обычно требуются дорогие, энергоёмкие GPU. Команда под руководством Mohammad Rastegari и Ali Farhadi взялась за простую, но важную проблему: стандартные свёрточные нейронные сети хранят свои внутренние параметры в виде 32-битных чисел с плавающей точкой и выполняют миллиарды высокоточных умножений для классификации одного изображения, что делает их непрактичными для смартфонов и других устройств с ограниченными ресурсами. Их решение, описанное в статье о двух связанных подходах под названиями Binary-Weight-Networks и XNOR-Networks, заменяет эти полноточные числа отдельными битами — по сути, просто положительными или отрицательными единицами — и заменяет дорогостоящие операции умножения с накоплением быстрыми инструкциями XNOR и подсчёта битов, которые современные CPU обрабатывают эффективно. Версия с бинарными весами сокращает использование памяти примерно в 32 раза и сравнялась с полноточной точностью стандартного AlexNet на крупномасштабном бенчмарке ImageNet, тогда как более агрессивная XNOR-Net, которая бинаризует как хранимые фильтры, так и данные, проходящие через сеть, достигла примерно 58-кратного ускорения свёрточных операций ценой некоторой потери точности. Принципиально, что исследователи ввели простой масштабирующий коэффициент — по сути, среднюю величину исходных весов, — который частично компенсирует информацию, теряемую при бинаризации, и они показывают, что именно эта деталь отличает их результаты от прежних попыток бинаризации, отстававших более чем на 16 процентных пунктов по top-1 точности на ImageNet. Практический вывод в том, что эффективные модели распознавания изображений могли бы работать в реальном времени на обычных CPU в телефонах или носимых устройствах, не нуждаясь в выгрузке в облако или специализированном оборудовании.
аннотация
Мы предлагаем два эффективных приближения для стандартных свёрточных нейронных сетей: Binary-Weight-Networks и XNOR-Networks. В Binary-Weight-Networks фильтры аппроксимируются бинарными значениями, что даёт 32-кратную экономию памяти. В XNOR-Networks бинарными являются как фильтры, так и входные данные свёрточных слоёв. XNOR-Networks аппроксимируют свёртки, используя преимущественно бинарные операции. Это даёт 58-кратное ускорение свёрточных операций и 32-кратную экономию памяти. XNOR-Nets открывают возможность запуска сетей современного уровня на CPU (а не на GPU) в реальном времени. Наши бинарные сети просты, точны, эффективны и работают на сложных задачах зрения. Мы оцениваем наш подход на задаче классификации ImageNet. Точность классификации у версии AlexNet с Binary-Weight-Network всего на 2,9% ниже, чем у полноточного AlexNet (по показателю top-1). Мы сравниваем наш метод с недавними методами бинаризации сетей, BinaryConnect и BinaryNets, и превосходим эти методы с большим отрывом на ImageNet — более чем на 16% по top-1 точности.
цитирование
@inproceedings{rastegari2016xnor,
title = {XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks},
author = {Rastegari, Mohammad and Ordonez, Vicente and Redmon, Joseph and Farhadi, Ali},
year = {2016},
booktitle = {European Conference on Computer Vision. ECCV 2016},
url = {http://arxiv.org/abs/1603.05279},
}