Ferroelectric memory and architecture for deep neural network training in resistive crossbar arrays.

Las redes neuronales profundas (DNN, por sus siglas en inglés) pueden realizar tareas cognitivas como el reconocimiento de voz y la detección de objetos con alta precisión. Sin embargo, el costo computacional para realizar tareas de inferencia con DNNs es un desafío para las aplicaciones móviles, mientras que el tiempo y la energía necesarios para entrenar los modelos pueden ser prohibitivos incluso en grandes centros de datos. El costo computacional de las redes neuronales profundas está dominado por multiplicaciones y acceso a memoria. Por esta razón, se ha propuesto utilizar matrices de elementos resistivos para minimizar el movimiento de datos y realizar multiplicaciones de manera eficiente en el dominio analógico. Uno de los principales desafíos de estas arquitecturas es la resolución limitada y la no linealidad de las memorias resistivas disponibles en la actualidad. En esta tesis, esta limitación se aborda de dos maneras: desarrollando un modelo para diseñar y optimizar memorias multiniveles basadas en materiales ferroeléctricos, y diseñando una arquitectura para mitigar las limitaciones de matrices resistivas para el entrenamiento de DNNs. Primero, se estudian los dispositivos ferroeléctricos para implementar memorias multinivel. Los ferroeléctricos son materiales cerámicos que pueden tener dos estados de polarización no volátiles. En su forma policristalina, estos materiales se componen de una multitud de granos con estados de polarización independientes, lo que permite memorias densas, no volátiles y multinivel compatibles con los procesos estándar de fabricación de semiconductores. Sin embargo, modelar la dinámica de los ferroeléctricos policristalinos es un desafío debido a las variaciones estadísticas en la composición de sus granos. Para este propósito, se desarrolló un modelo para extraer las propiedades estadísticas de un ferroeléctrico y una simulación de Monte Carlo que puede describir y predecir su dinámica de polarización y variabilidad. Este modelo proporciona las herramientas para caracterizar y optimizar materiales ferroeléctricos, y para diseñar y evaluar dispositivos, circuitos y arquitecturas para redes neuronales y otras aplicaciones. En segundo lugar, se presentan mejoras en la arquitectura para entrenar modelos de redes neuronales en matrices resistivas. Se propone y evalúa un esquema preciso para la actualización de pesos en paralelo en una matriz resistiva. Al utilizar señales de ancho de pulso y modulación en frecuencia, el valor de los elementos resistivos puede actualizarse en paralelo con mayor precisión que las técnicas existentes basadas en la multiplicación estocástica. Este esquema produce una multiplicación con redondeo estocástico, que es óptimo para entrenar redes neuronales con resolución limitada. Finalmente, se estudia el mapeo de modelos de redes neuronales a hardware con pesos no negativos. Para analizar diferentes esquemas de mapeo, una multiplicación general de matrices se descompone en una multiplicación de matrices con elementos no negativos realizados en una matriz resistiva, seguida de un conjunto limitado de operaciones de suma y resta descritas por una matriz de conexiones. Las condiciones matemáticas para la existencia de esta descomposición se derivan y aplican a modelos de redes neuronales. Sobre la base de este análisis, se diseña un esquema de mapeo eficiente, que mitiga el efecto de la no linealidad y la resolución limitada de los elementos resistivos. Estas arquitecturas se evalúan con simulaciones implementadas en MATLAB y mediante la extensión del software de código abierto Keras para incorporar elementos de peso no ideal y la descomposición de la matriz de conexiones.