¿Qué ofrecen los chips Loihi de Intel con ‘autoaprendizaje’, ‘núcleos neuromórficos’ y ‘cómputo de aumento asíncrono’?

Para comprender los puntos principales de los cálculos neuromórficos, necesitamos entrar en el consumo de energía al nivel de los transistores individuales y las compuertas en los chips.

Considere una CPU contemporánea rápida que funciona, por ejemplo, a 4 GHz. Esta CPU enormemente rápida ejecuta código que simula neuronas que conceptualmente se ven así:

Cada neurona suma valores de sus entradas ponderadas por las fuerzas de las conexiones y produce la salida en función del valor calculado. En modelos simples como ReLU, que se usa ampliamente hoy en día, la salida es cero si la suma de entrada está por debajo de un umbral y linealmente proporcional a la entrada si está por encima.

Considere lo que se necesita para que una CPU simule estas acciones. Necesita sumar todas las entradas realizando la multiplicación y adición de punto flotante en un bucle. La longitud del bucle depende del número de conexiones de entrada o sinapsis en el cerebro humano. Esto puede subir hasta 10,000 por neurona.

Para nuestra CPU rápida, se necesitarían alrededor de 50,000 instrucciones de FPU, en una sola FPU, para hacerlo en un circuito cerrado. Un procesador de cuatro núcleos que tiene hipertormentado tendría 8 unidades de este tipo, por lo que obtenemos simulaciones de neuronas 4G / 50K * 8 = 640K por segundo.

El cerebro humano tiene alrededor de 100 mil millones de neuronas, por lo que se necesitarían 100B / 640K o alrededor de 160,000 CPU para llegar a estos cálculos simulados de neuronas. ¡Esos chips quemarían 160K * 100W = 16MW de potencia, que es más que una locomotora poderosa! No hace falta decir que eso tiene mucha potencia y nada cerca del cerebro humano, que consume alrededor de 20W. ¡Estamos aproximadamente a 6 órdenes de magnitud (1,000,000X) de descuento!

La razón principal por la que este cálculo es tan ineficiente es porque solo una pequeña porción de las CPU modernas se dedica a operaciones de coma flotante. El resto se usa para todo tipo de otras cosas, como el almacenamiento en caché, (pre) recuperación, problema y excedencia fuera de orden, predicción de ramas, etc.

Es por eso que los mejores chips de GPU son mucho mejores, ya que tienen un porcentaje mucho mayor del chip dedicado a las operaciones de coma flotante. Por lo general, tienen miles de FPU simples. ¡Podemos reducir dos órdenes de magnitud usando chips GPU especializados, dejándonos todavía 10,000X de descuento!

La pregunta es, entonces, ¿por qué este cálculo simulado sigue siendo tan ineficiente? La respuesta radica en la complejidad de una unidad FPU y la cantidad de transistores que contiene. Por ejemplo, Nvidia GTX 1080 tiene transistores 7.2B y 2560 FPU, o varios millones de transistores por FPU.

En los chips neuromórficos, la idea es utilizar el cálculo analógico de los circuitos de transistores para realizar cálculos neuronales. Aquí hay un ejemplo de circuito de la Universidad de Stanford:

Este circuito realiza un cálculo simulado de neuronas para generar un pico con solo 6 transistores. Todos los transistores funcionan en el modo subliminal, donde la dependencia de la corriente del transistor del voltaje de entrada es exponencial. Este modo es muy eficiente energéticamente.

El circuito funciona aumentando el voltaje en la entrada V_input. Suponiendo que el condensador principal en el medio del circuito se descargó inicialmente, el transistor de entrada comienza a forzar la corriente hacia el condensador, cargándolo y reduciendo el voltaje en el nodo dentro de la celda. Esta disminución provocará la conmutación del inversor representado por los dos transistores inferiores derechos, lo que provocará un pulso de corriente a medida que se conmuta.

Tenga en cuenta que esta corriente se refleja en el espejo de corriente en la parte superior derecha, lo que fuerza una carga más rápida del condensador y actúa en un circuito de retroalimentación positiva donde la carga más rápida del condensador provoca una conmutación más rápida de los dos transistores inferiores y un pulso más corto.

Así que reemplazamos millones de transistores con solo unos pocos, quemando mucha menos energía pero también mucho más lento. También tenemos que tener en cuenta las sinapsis y la suma de entradas, pero eso se puede hacer en la imagen anterior de manera analógica, al tener múltiples transistores de entrada V y realizar la suma analógica sumando sus corrientes.

Para los chips neuromórficos de uso general, como Intel Loihi, la idea es poner tantas neuronas como sea posible en un chip y hacer que todo sea programable, incluido el direccionamiento de las neuronas y sus conexiones. De esto se trata Intel Loihi.

Casi nada.

Soy un crítico bastante vocal de la “computación neuromórfica” en general por una razón muy simple: no han demostrado ningún resultado útil.

Puedes tomar una computadora asíncrona analógica y decir “mira, es super eficiente”, y lo será, pero ¿qué es exactamente? Para los procesadores de aprendizaje profundo, la carga de trabajo objetivo, el aprendizaje profundo ha logrado un rendimiento extraordinario en puntos de referencia difíciles de ML / CV como ImageNet y Penn Treebank. No se ha demostrado lo mismo para los “modelos neuromórficos” como las redes de picos. Los mejores intentos son en conjuntos de datos de juguetes como MNIST. IBM con su proyecto “TrueNorth” lo intentó antes, y terminaron recibiendo un golpe de precisión de ~ 8% incluso en CIFAR-10 (para aquellos de ustedes que no están familiarizados con los conjuntos de datos DL, ese es un conjunto de datos relativamente de 32 × 32 imágenes) .

More Interesting

¿Qué tan efectivamente se pueden usar las redes neuronales en la regresión? ¿Es posible alguna configuración que prediga un número que no se ve en los datos de entrenamiento?

¿Cuáles son algunas formas de preprocesar imágenes antes de aplicar redes neuronales convolucionales para la tarea de clasificación de imágenes?

¿Hay alguna forma de implementar TSVM usando bibliotecas SVM?

¿Podría el aprendizaje automático erradicar el cáncer?

¿El libro de Neural Networks de James Freeman cubre todos los temas?

¿Qué es el preprocesamiento de audio?

Hablando intuitivamente, ¿cuál es la diferencia entre la estimación bayesiana y la estimación de máxima verosimilitud?

¿Cuál es el peor caso de sobreajuste que hayas visto en entornos sociales o psicológicos?

¿Qué es un buen texto introductorio de aprendizaje automático?

Cómo agregar una razón de probabilidad para una característica en mi conjunto de datos

Cómo lidiar con la oclusión, deformación o distorsión de perspectiva para la detección de objetos

¿Cómo se asegura que el aprendizaje automático no aprenda la correlación cuando no hay causalidad, especialmente para la predicción?

¿Cuál es la diferencia entre modelos discriminativos y generativos en el contexto de la segmentación de imágenes?

¿Hay alguna manera de hacer una clasificación de múltiples etiquetas en los árboles de decisión usando R / Python?

¿Con qué biblioteca de aprendizaje automático debo experimentar entre SparkML, Microsoft Azure ML y AWS ML?