Las redes neuronales son algo genial, pero su potencial aún está limitado por el costo y la energía; las redes neuronales binarias pueden ayudar a hacer frente a esto

El concepto de redes neuronales apareció por primera vez hace más de 40 años, cuando los científicos experimentaron con el modelado matemático de las funciones cerebrales. Descubrieron cómo hacer una implementación mecánica de una red neuronal que se pueda enseñar a reconocer patrones y clasificar datos, por ejemplo, para reconocer si hay un gato o un perro en el video.
Durante la última década, la complejidad y la capacidad de las redes neuronales ha crecido significativamente. Junto con un aumento sin precedentes en el poder de las supercomputadoras y procesadores gráficos (GPU) de bajo costo y asequibles, se han destacado como el método predeterminado para resolver problemas, reconocer patrones y detectar anomalías. Las organizaciones actuales los usan para hacer predicciones, investigar las preferencias de los usuarios, validar datos y administrar el riesgo.
Pero, a pesar de su uso activo, tienen sus inconvenientes que limitan su potencial. El Santo Grial es una red neuronal que puede analizar rápidamente la información, es económica y no necesita mucha energía. Crear una red que cumpla con estos criterios es una tarea difícil, pero debe resolverse para que podamos aprovechar las redes neuronales más cercanas al borde de las redes de TI y comunicación, así como en dispositivos terminales.
Una de las alternativas que muchas organizaciones están explorando son las redes binarias. Esta es una tecnología bastante nueva, pero es probable que tenga bastante influencia en 2020. Para entender por qué, necesitamos entender cómo funcionan ambos tipos de redes.
¿Cómo funcionan las redes neuronales?
Las redes neuronales consisten en varias capas de sumas ponderadas. Cada suma ponderada proporciona un número que indica que probablemente haya algún signo en estos datos o que probablemente no esté allí. Estas capas combinan, por ejemplo, imágenes en bruto en conjuntos de características, y las recombinan para llegar finalmente a una respuesta.
En pocas palabras, supongamos que desea que la red neuronal pueda reconocer caras en fotografías. El sistema divide la imagen en pequeños segmentos, y luego las capas de la red escanean cada segmento de la imagen, buscando una señal que se les haya enseñado a identificar. La primera capa, por ejemplo, puede buscar características básicas: círculos negros, círculos blancos, rectángulos blancos, color de piel. Estos signos son fáciles de notar.
La segunda capa puede buscar ojos (un círculo negro dentro de blanco), bocas (un conjunto de rectángulos blancos ubicados cerca y rodeados de piel), la siguiente capa puede buscar dos ojos por encima de la boca y con piel alrededor. Cada característica le da a cada segmento de imagen una estimación de la probabilidad de la presencia de la característica deseada en esta parte de la foto. Luego, estas probabilidades se combinan, y si un número suficiente de capas cree que el signo deseado está en la foto, la red concluye que la persona está allí.
Fig. 1En la fig. La Figura 1 (y esta es una foto de Barack Obama) muestra cómo se resumen estas capas de análisis y probabilidad, permitiendo que la red trabaje con valores aproximados para producir una respuesta relativamente precisa.
Tenga en cuenta que las funciones como los círculos negros, los ojos o la boca no son programados por una persona, pero son detectados por la red durante el entrenamiento. Es posible que otro patrón (por ejemplo, la nariz, las orejas o la línea del cabello) sea más adecuado para la búsqueda de personas, y la belleza de las redes neuronales es que pueden usarse para buscar dichos patrones.
Desventajas de las redes neuronales tradicionales
El problema es que en la búsqueda de la mayor precisión posible existe la necesidad de lidiar con niveles de probabilidad delimitados muy detallados, y para estos cálculos matemáticos se requieren recursos serios. Debido al uso de números de coma flotante para el análisis de segmentos, las redes neuronales requieren relativamente mucha potencia informática, memoria y tiempo para funcionar.
Aunque la nube tiene suficiente potencia informática y memoria, muchas aplicaciones de borde no pueden confiar en la nube. Por ejemplo, los robomobiles necesitan tomar decisiones instantáneamente en función de su entorno, y en esto no pueden confiar en comunicaciones de ancho de banda limitado.
Las redes neuronales que funcionan con números de coma flotante en dispositivos finales no se pueden usar. Debido a esto, muchas empresas usan la aritmética de enteros, lo que ahorra una gran cantidad de memoria y potencia informática, pero hay una mejor manera: aquí es donde se manifiestan las redes neuronales binarias.
Como funcionan las redes binarias
Si una red neuronal ordinaria es una pintura de Picasso, entonces una red neuronal binaria es un boceto a lápiz.
Si las redes neuronales asignan a cada segmento una probabilidad calculada con precisión, entonces las redes neuronales binarias, como su nombre lo indica, reducen los valores probables a una versión en blanco y negro, es decir, a -1 (si la red considera que no hay ningún signo en este fragmento), o + 1 (si existe).
Ahora, una suma ponderada evalúa cada rasgo ya sea positivamente (multiplicando por +1) o negativamente (multiplicando por -1), y en lugar de multiplicaciones completas, solo tenemos que considerar multiplicar por +1 y -1.
Fig. 2Este enfoque sacrifica un cierto grado de precisión, pero podemos compensar las pérdidas aumentando ligeramente la red. Las redes binarias son inherentemente mucho más simples.
En comparación con sus contrapartes de coma flotante, requieren 32 veces menos espacio para almacenar el número (1 bit en lugar de 32) y cientos de veces menos energía, por lo que son mucho más adecuados para "aplicaciones de borde" como los robomobiles, cuando los dispositivos mismos pueden procesar información sin involucrar la computación en la nube.
Por lo general, en una red binaria todavía se producen capas con valores no binarios, especialmente en la entrada y, a veces, en la salida. En la entrada, lo más probable es que la imagen sea a todo color, y deberá interpretarse numéricamente antes de que comiencen las capas binarias. Y la capa de salida también siempre tendrá una salida no binaria.
El futuro de las redes binarias.
Tal simplicidad abre un amplio campo para uso comercial en condiciones donde la eficiencia lo es todo. En un chip incorporado, es más probable que almacene coeficientes de red binarios que redes con coeficientes de coma flotante. Los fabricantes de procesadores deberán adoptar esta tecnología y proporcionar soporte para redes binarias.
Es probable que 2020 sea el año de las redes binarias. Las empresas están trabajando activamente en la implementación de esta tecnología, y el software requerido para entrenar redes binarias se está desarrollando rápidamente. Es probable que veamos la primera aplicación real de esta tecnología muy pronto, y en los dispositivos de borde aparecerán chips de baja potencia con bajo consumo de energía que pueden clasificar imágenes u otros datos.
Por lo tanto, la próxima generación de tecnología se basará en la simplicidad.