Red neuronal de memoria a largo plazo a corto plazo (LSTM) en la matriz de conmutadores de barra transversal de memristor

Red neuronal de memoria a largo plazo a corto plazo (LSTM) en la matriz de conmutadores de barra transversal de memristor

Original: redes de memoria a largo plazo a corto plazo en matrices de barras transversales de memristor
Autor: CanLi et al ..
Revistas: Nature machine intelligence

Una de las tareas de las vacaciones de invierno asignadas por el instructor fue la traducción de varios documentos específicos, entre ellos, el más interesante es este y el artículo de Tsinghua de 2020 sobre la naturaleza del sistema integrado de cálculo de almacenamiento basado en memristor. A continuación, se traduce la parte anterior al resultado experimental y la parte de la matriz de interruptores de barra transversal de memristor en el resultado experimental.

Resumen:

Recientemente, los avances en las redes neuronales profundas cíclicas basadas en unidades de memoria a corto y largo plazo (LSTM) han creado importantes avances en el campo de la inteligencia artificial. Sin embargo, debido al aumento significativo de la complejidad y al gran número de parámetros, el modelo LSTM más avanzado sufre cuellos de botella en términos de potencia de cálculo, que provienen de una capacidad de almacenamiento limitada y un ancho de banda de transmisión de datos limitado. En este artículo, hemos verificado experimentalmente que en un LSTM, los pesos sinápticos compartidos por diferentes pasos de tiempo se pueden implementar en una matriz de barras cruzadas de memristor, que tiene un tamaño de circuito pequeño y puede almacenar una gran cantidad de parámetros. la potencia informática en memoria que proporciona ayuda a superar el "cuello de botella de von Neumann". Demostramos la capacidad de nuestra matriz de barras cruzadas como componente central para resolver problemas de regresión y clasificación en la práctica, lo que indica que el LSTM basado en memristor es una plataforma de hardware ideal de baja potencia y baja latencia para la inferencia de bordes.

texto:

El reciente éxito en el campo de la inteligencia artificial se ha beneficiado en gran medida de los avances en las redes neuronales profundas. Entre las muchas arquitecturas de redes neuronales, LSTM es una importante. Al controlar el proceso de aprendizaje para recordar u olvidar los datos históricos observados, las redes neuronales recurrentes (RNN) basadas en LSTM desempeñan un papel en el análisis de datos de series de tiempo, como predicción de datos, comprensión del lenguaje natural, traducción automática, reconocimiento de voz y video vigilancia. Sin embargo, cuando LSTM se implementa en un circuito digital tradicional, su compleja arquitectura conduce a una regresión en el retardo de inferencia y el consumo de energía. En la era de Internet de las cosas (IoT), a medida que más y más aplicaciones implican el procesamiento de datos de tiempo generados en la fuente de los datos, estos problemas se están volviendo cada vez más prominentes. Para acelerar la red neuronal recurrente basada en LSTM, aunque cada vez se invierten más esfuerzos en el diseño de nuevas arquitecturas, el bajo paralelismo y el ancho de banda limitado entre la unidad de cómputo y la unidad de almacenamiento siguen siendo cuestiones pendientes. Por tanto, encontrar un paradigma informático alternativo para las redes LSTM es actualmente una tarea urgente.

El memristor es una "resistencia de memoria" de dos puertos, de acuerdo con las leyes de la física, se puede calcular en el lugar donde se almacena la información (cálculo en almacenamiento). Esta integración de almacenamiento y cálculo elimina por completo la necesidad de transferir datos entre el almacenamiento y el cálculo. Construido en una estructura de conmutador cruzado, el memristor se ha aplicado con éxito a una red neuronal feedforward completamente conectada y, en comparación con la misma parte basada en CMOS, muestra grandes ventajas en el consumo de energía y el retardo inferido. El efecto de memoria a corto plazo de algunos memristores también se ha utilizado en los cálculos de reserva. Por otro lado, las redes neuronales profundas más avanzadas, incluida LSTM, que ha contribuido al éxito reciente del procesamiento de datos temporales, se basan en una estructura más compleja que las redes completamente conectadas. La implementación de LSTM en la matriz de interruptores de barra transversal de memristor aún no se ha confirmado, principalmente debido a la relativa falta de matrices de memristor grandes.

En este artículo, confirmamos la realización experimental de una parte central de la red LSTM en la matriz de conmutadores de barra transversal de memristor. El memristor está integrado monolíticamente en el transistor para realizar una sola unidad de memristor de un solo transistor. Al conectar una red LSTM recurrente a una red completamente conectada, implementamos el entrenamiento in situ y la inferencia de esta red neuronal recurrente multicapa basada en LSTM para problemas de regresión y clasificación. Todas las multiplicaciones y actualizaciones de matrices se infieren mediante cálculos digitales y se implementan físicamente en una matriz intercalada de memristor. Estas redes LSTM predijeron con éxito el número de pasajeros del vuelo y el reconocimiento de una sola persona en función de la marcha en la prueba de memristor. Estos trabajos muestran que la red LSTM construida sobre la matriz de conmutadores de barra transversal de memristor representa un paradigma informático alternativo prometedor que es eficiente en términos de velocidad y consumo de energía.

resultado:

Matriz de conmutadores de barra cruzada de memristor para LSTM : Las redes neuronales que contienen celdas LSTM son cíclicas; es decir, no solo conectan completamente los nodos entre diferentes capas, sino que también conectan cíclicamente la misma capa en diferentes pasos de tiempo Nodos, como se muestra en la Figura 1a. La conexión cíclica en la unidad LSTM también incluye una unidad de puerta para controlar la memoria o el olvido, de modo que el LSTM pueda aprender la dependencia a largo plazo. El flujo de datos en una unidad LSTM estándar es como se muestra en la Figura 1b, expresado como un método en la ecuación (1) (operación de matriz lineal) y la ecuación (2) (activación no lineal a nivel de puerta) o de manera equivalente Parte de las ecuaciones (3 ) a (5).

(Muestre la ecuación 1 y la ecuación 2)

Donde xtx ^ tXt es el vector de entrada del paso actual,hth ^ tht yht - 1 h ^ {t-1}ht - 1 son los vectores de salida de los pasos de tiempo actual y anterior respectivamente,c ^ t \ hat {c} ^ tC^t es el estado de la unidad de celda interna,⨀ \ bigodot significa multiplicación por elementos. σ es la función sigmoidea logística, que generai ^ t, f ^ tpara la puerta de entrada, la puerta de olvido y la puerta de salida\ hat {i} ^ t, \ hat {f} ^ tI^t ,F^to ^ t \ hat {o} ^ tlos^t . Los parámetros del modelo se almacenan en peso W, peso de ciclo U y parámetro de sesgo b, que se utilizan para la activación de la celda (a) y cada puerta (i, f, o), respectivamente. Debido a esta estructura compleja, el RNN profundo de vanguardia que contiene unidades LSTM contiene una gran cantidad de parámetros de modelo, que generalmente exceden la memoria en el chip (generalmente almacenamiento aleatorio estático, SRAM) y, a veces, incluso la memoria principal fuera del chip (generalmente almacenamiento aleatorio dinámico) Almacenamiento, la capacidad normal de DRAM). Como resultado, la inferencia y el entrenamiento de la red requerirán la transmisión de parámetros desde un chip separado para el cálculo a la unidad de procesamiento, y la transmisión de datos entre chips limita en gran medida el rendimiento de los RNN basados ​​en LSTM en hardware tradicional.

Para resolver este problema, adoptamos una matriz de barras cruzadas de memristor para un RNN y almacenamos una gran cantidad de parámetros requeridos por un LSTM-RNN como la conductancia del memristor. La topología y la dirección del flujo de datos de esta red neuronal se muestran en la figura 1c. La multiplicación de matriz lineal realiza cálculos in situ en una matriz cruzada de interruptores de memristor, lo que elimina la necesidad de transmitir valores de peso de un lado a otro. Los parámetros del modelo se almacenan en la misma matriz cruzada de interruptores de memristor que implementan la multiplicación de matriz analógica. Para los experimentos descritos aquí, conectamos la capa LSTM a una capa completamente conectada. En el futuro, estas capas se pueden conectar en cascada a estructuras más complejas. Para fines de verificación, las unidades de nivel de puerta en la capa LSTM y las unidades no lineales en la capa completamente conectada en nuestro trabajo actual se implementan en software, pero pueden implementarse mediante circuitos analógicos que no requieren conversión de señal digital. , lo que reduce en gran medida el consumo de energía y los retrasos en la inferencia.

La unidad de matriz analógica de nuestro LSTM se implementa en un 128 × 64 1 T 1 R 128 \ times64 \ space1T1R1 2 8×6 4 1 T 1 R  matriz cruzada, en la que el memristor está integrado monolíticamente en la parte superior de una matriz de transistores de fundición comercial. IntegradoTa / H f O 2 Ta / HfO_2T a / H f O2El memristor exhibe una conductancia multicapa estable, lo que permite realizar la multiplicación de matrices en el campo de las señales analógicas. La corriente está limitada por el control del transistor, y la matriz de memristor integrada se puede cargar con una matriz de conductancia predefinida escribiendo y verificando (anteriormente utilizado para el procesamiento de imágenes y señales analógicas y el entrenamiento ex situ de redes neuronales completamente conectadas) o mediante un esquema simple de dos pulsos (utilizado anteriormente para el entrenamiento in situ de redes neuronales totalmente conectadas, también se utilizó para el entrenamiento in situ de LSTM en nuestro trabajo). La inferencia de la capa LSTM se realiza aplicando el voltaje en la línea de fila de la matriz de memristor y la corriente en la tierra virtual (línea de columna). El vector de corriente de lectura es el producto escalar de la matriz de conductancia del memristor y el vector de amplitud del voltaje de entrada, que se puede obtener directamente de las leyes de la física (la ley de Ohm se usa para la multiplicación, la ley de la corriente de Kirchhoff se usa para la suma). Los parámetros de cada modelo LSTM están codificados por la diferencia entre la conductancia de los dos memristores en la misma columna. Aplicando voltajes de la misma amplitud pero diferentes polaridades a las líneas de fila correspondientes, podemos usar la matriz de interruptores de barra transversal Lograr la resta. El voltaje aplicado a la línea de la fila conectada al memristor se usa para indicar el sesgo, que se fija en todas las muestras y pasos de tiempo. La corriente de lectura de prueba en la matriz cruzada del conmutador de memristor consta de 4 partes, que representan el vector a ^ t, i ^ t, f ^ t \ hat {a} ^ t, \ hat { descrito en la ecuación (1) i} ^ t , \ hat {f} ^ ta^t ,I^t ,F^to ^ t \ hat {o} ^ tlos^t , se activan de forma no lineal, se controlan por nivel de puerta y se convierten en voltaje (implementado por software en el trabajo actual). Vector de voltajehth ^ thDespués de t, se retroalimenta a la siguiente capa (capa completamente conectada) y se vuelve a la capa LSTM en el siguiente paso de tiempo (ht - 1 h ^ {t-1}ht - 1 ). La red neuronal se entrena in situ en la matriz de conmutadores de memristor para compensar posibles defectos de hardware, como salida limitada del dispositivo, cambios en el estado de conductancia y ruido, resistencia de línea, asimetría periférica de señales analógicas, etc. Antes del entrenamiento, toda la conductancia del memristor debe inicializarse a través del pulso de voltaje establecido en todo el dispositivo de memristor y el pulso de amplitud fija oportuna en el transistor. Durante el entrenamiento, la inferencia inicial se realiza en un lote de datos de series de tiempo (lotes pequeños) y se produce una salida de series de tiempo. La conductancia del memristor debe ajustarse para que la salida inferida se acerque más a la salida objetivo (evaluada mediante una función de pérdida, consulte la sección de métodos). El aumento de conductancia deseado se calcula utilizando el algoritmo de tiempo de retropropagación (BPTT) en el dispositivo electrónico fuera del chip (consulte la sección de métodos para obtener más detalles) y luego se utiliza en la prueba de la matriz de memristor. Para los memristores que necesitan reducir la conductancia, primero aplicamos un pulso de voltaje de reinicio a su electrodo inferior (el electrodo superior está conectado a tierra) para inicializar el memristor a su estado de baja conductancia. Luego aplicamos el pulso de voltaje de ajuste síncrono al electrodo superior y el pulso de voltaje analógico al circuito de la puerta del transistor (Δ V puerta ∝ Δ G ΔV_ {puerta} \ proptoΔGΔ Vg un t eΔ G ), se aplica voltaje cero al electrodo inferior (tierra) para actualizar los valores de conductancia de todos los memristores en la matriz. La actualización de la conductancia se puede realizar en cada fila o columna, como se mencionó en el trabajo anterior. En términos de realizar la actualización de la conductancia de memristor lineal y simétrica, este esquema de doble pulso ha demostrado ser efectivo en trabajos anteriores.

El trabajo actual se centra en explorar la viabilidad de las redes neuronales (especialmente las redes LSTM) con una variedad de estructuras basadas en el uso de nuevos dispositivos analógicos (como memristores). Para ello, hemos establecido una estructura de red neuronal con función de predicción de Keras en matlab, de modo que se pueda realizar cualquier configuración de arquitectura de red neuronal, especialmente en nuestro trabajo, esta red LSTM totalmente conectada (La estructura detallada se muestra en la Figura 2 ). El memristor utilizado en el experimento realiza la multiplicación de matrices y la actualización del peso en la propagación hacia adelante y hacia atrás. Esto puede ser reemplazado por una matriz intercalada de memristor simulada o un backend de software que utiliza cálculos de coma flotante de 32 bits. Esta arquitectura se puede lograr, una comparación directa entre una red neuronal de matriz cruzada y un método digital utilizando el mismo algoritmo y conjunto de datos. En la realización de la matriz de interruptores, esta estructura se comunica con nuestro sistema de prueba fuera del chip personalizado (recibido o enviado desde la matriz cruzada de interruptores de memristor), que puede proporcionar hasta 128 voltajes analógicos diferentes y sentir instantáneamente 64 canales de corriente, complete la matriz multiplicación y actualización de peso.

Supongo que te gusta

Origin blog.csdn.net/weixin_45358177/article/details/113896316
Recomendado
Clasificación