XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
publication

XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks

Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, Ali Farhadi.
European Conference on Computer Vision. ECCV 2016. Amsterdam, The Netherlands. October 2016.
Mesa de noticias del laboratorio

Resumen de prensa

Esta sección está escrita intencionadamente con un tono de nota de prensa, en estilo periodístico, para el público general.

Investigadores del Allen Institute for AI y la Universidad de Washington han desarrollado una forma de reducir drásticamente y acelerar las redes neuronales de reconocimiento de imágenes que normalmente requieren GPUs costosas y de alto consumo energético para funcionar. El equipo, liderado por Mohammad Rastegari y Ali Farhadi, abordó un problema sencillo pero de gran trascendencia: las redes neuronales convolucionales estándar almacenan sus parámetros internos como números de punto flotante de 32 bits y realizan miles de millones de multiplicaciones de alta precisión para clasificar una sola imagen, lo que las hace poco prácticas para teléfonos inteligentes y otros dispositivos con recursos limitados. Su solución, descrita en un artículo sobre dos enfoques relacionados llamados Binary-Weight-Networks y XNOR-Networks, reemplaza esos números de precisión completa por bits individuales —esencialmente solo unos positivos o negativos— y sustituye las costosas operaciones de multiplicación y acumulación por instrucciones rápidas de XNOR y conteo de bits que las CPUs modernas manejan de manera eficiente. La versión de pesos binarios reduce el uso de memoria en aproximadamente 32 veces e igualó la precisión de precisión completa de la AlexNet estándar en el benchmark a gran escala ImageNet, mientras que la XNOR-Net, más agresiva, que binariza tanto los filtros almacenados como los datos que fluyen por la red, logró operaciones de convolución unas 58 veces más rápidas a costa de algo de precisión. Crucialmente, los investigadores introdujeron un sencillo factor de escala —esencialmente la magnitud promedio de los pesos originales— que compensa parcialmente la información perdida en la binarización, y muestran que este detalle es lo que distingue sus resultados de los intentos previos de binarización, que quedaban rezagados en más de 16 puntos porcentuales en la precisión top-1 de ImageNet. La implicación práctica es que modelos capaces de reconocimiento de imágenes podrían ejecutarse en tiempo real en CPUs comunes de teléfonos o dispositivos vestibles, sin necesidad de descargar el cómputo a la nube ni de hardware especializado.

resumen

Proponemos dos aproximaciones eficientes a las redes neuronales convolucionales estándar: Binary-Weight-Networks y XNOR-Networks. En las Binary-Weight-Networks, los filtros se aproximan con valores binarios, lo que resulta en un ahorro de memoria de 32x. En las XNOR-Networks, tanto los filtros como la entrada a las capas convolucionales son binarios. Las XNOR-Networks aproximan las convoluciones usando principalmente operaciones binarias. Esto da como resultado operaciones convolucionales 58x más rápidas y un ahorro de memoria de 32x. Las XNOR-Nets ofrecen la posibilidad de ejecutar redes de vanguardia en CPUs (en lugar de GPUs) en tiempo real. Nuestras redes binarias son simples, precisas, eficientes y funcionan en tareas visuales desafiantes. Evaluamos nuestro enfoque en la tarea de clasificación de ImageNet. La precisión de clasificación con una versión Binary-Weight-Network de AlexNet es solo un 2.9% menor que la de AlexNet de precisión completa (en la medida top-1). Comparamos nuestro método con métodos recientes de binarización de redes, BinaryConnect y BinaryNets, y los superamos por amplios márgenes en ImageNet, en más de un 16% en precisión top-1.

cita

@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},
}