← Últimos artículos
🤖 machine learning

Neural Network Training with Approximate Logarithmic Computations

Este artículo propone un esquema de entrenamiento e inferencia de redes neuronales profundas de extremo a extremo utilizando computaciones de sistema de números logarítmicos aproximados con aritmética de punto fijo, demostrando que el procesamiento en el dominio logarítmico de 16 bits logra una precisión de clasificación dentro de aproximadamente un 1% de las bases de punto flotante al tiempo que elimina la necesidad de multiplicadores de hardware.

Autores originales: Arnab Sanyal, Peter A. Beerel, Keith M. Chugg

Publicado 2019-10-22
📖 4 min de lectura☕ Lectura para el café

Autores originales: Arnab Sanyal, Peter A. Beerel, Keith M. Chugg

✨ Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

En el mundo moderno, las computadoras se han vuelto notablemente buenas reconociendo patrones, desde identificar un gato en una fotografía hasta comprender palabras habladas. Esta capacidad proviene de un tipo de software llamado red neuronal, la cual está diseñada para imitar la forma en que el cerebro humano procesa la información conectando muchas unidades de procesamiento simples entre sí. Para hacer que estas redes sean inteligentes, deben ser entrenadas utilizando vastas cantidades de datos, un proceso que requiere que la computadora realice miles de millones de cálculos complejos. Tradicionalmente, estos cálculos dependen en gran medida de la multiplicación, una operación que es matemáticamente sencilla pero que requiere una energía significativa y hardware especializado para realizarse rápidamente. A medida que intentamos ejecutar estos sistemas inteligentes en dispositivos más pequeños y alimentados por baterías, como teléfonos inteligentes o sensores, la fuerte demanda de multiplicación se convierte en un cuello de botella, agotando la energía y ralentizando el proceso de aprendizaje.

Un equipo de investigadores de la Universidad del Sur de California ha propuesto una forma diferente de manejar estos cálculos, una que podría hacer que el entrenamiento de estas redes sea mucho más eficiente. En lugar de realizar la multiplicación estándar requerida por los métodos tradicionales, sugieren convertir todos los números a un formato logarítmico. En este sistema, la difícil tarea de multiplicar dos números es reemplazada por la tarea mucho más simple de sumarlos. Si bien esta conversión suena prometedora, introduce un nuevo desafío: sumar números en este formato logarítmico no es tan simple como la suma estándar y usualmente requiere tablas de búsqueda complejas o aproximaciones para funcionar correctamente. Los investigadores se propusieron ver si podían simplificar estas sumas aún más, utilizando aproximaciones rudimentarias que sean fáciles de construir para el hardware, sin arruinar la precisión del resultado final.

Los investigadores desarrollaron un sistema completo donde todo el proceso de entrenamiento y prueba de una red neuronal ocurre dentro de este mundo logarítmico. Reemplazaron los pasos de multiplicación estándar con suma y manejaron las partes complicadas de la suma logarítmica utilizando dos atajos específicos. Un atajo utiliza una pequeña tabla de valores precalculados, similar a una hoja de trucos, mientras que el otro utiliza una técnica simple de desplazamiento de bits, que es una forma rápida para que las computadoras multipliquen por potencias de dos. Para probar su idea, construyeron una simulación digital de una red neuronal y la entrenaron con varios conjuntos de datos de imágenes bien conocidos, incluyendo imágenes de dígitos escritos a mano y artículos de ropa. Compararon su nuevo método logarítmico contra el método estándar de punto flotante de alta precisión que se utiliza actualmente en la mayoría de las computadoras potentes.

Los resultados fueron sorprendentemente alentadores. Cuando los investigadores utilizaron una representación de 16 bits para sus números, el método logarítmico logró una precisión de clasificación que estuvo dentro de aproximadamente un uno por ciento del método de punto flotante estándar. Esto significa que, a pesar de usar matemáticas simplificadas y aproximaciones, la red aprendió a reconocer imágenes casi tan bien como el sistema tradicional. Encontraron que incluso con una tabla de búsqueda muy pequeña que contenía solo veinte entradas, el sistema funcionó bien, y en muchos casos, el atajo simple de desplazamiento de bits fue suficiente para mantener una alta precisión. El estudio sugiere que para muchas tareas comunes, una representación de punto fijo de 16 bits en el dominio logarítmico es suficiente para acercarse al rendimiento de computaciones de punto flotante mucho más complejas.

Este trabajo demuestra que es posible entrenar redes neuronales profundas sin depender de hardware de multiplicación costoso, siempre que las operaciones de suma se manejen con estas aproximaciones específicas. Los investigadores demostraron que la degradación en la precisión es mínima, lo que sugiere que los futuros diseños de hardware podrían potencialmente eliminar los multiplicadores por completo para tareas de entrenamiento e inferencia. Esto conduciría a dispositivos que son más pequeños, más rápidos y más eficientes energéticamente, capaces de aprender y adaptarse directamente en el borde sin necesidad de enviar datos de vuelta a un servidor grande. Si bien el estudio se centró en tipos específicos de redes y conjuntos de datos, los hallazgos indican un camino viable hacia hacer que la inteligencia artificial avanzada sea más accesible y práctica para los dispositivos cotidianos.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →