- -

Protecting the Parameters of Floating-Point-Based Convolutional Neural Networks Against Accidental and Malicious Faults without Increasing Their Memory Footprint

RiuNet: Repositorio Institucional de la Universidad Politécnica de Valencia

Compartir/Enviar a

Citas

Estadísticas

  • Estadisticas de Uso

Protecting the Parameters of Floating-Point-Based Convolutional Neural Networks Against Accidental and Malicious Faults without Increasing Their Memory Footprint

Mostrar el registro sencillo del ítem

Ficheros en el ítem

dc.contributor.advisor Saiz Adalid, Luis José es_ES
dc.contributor.advisor Andrés Martínez, David de es_ES
dc.contributor.author Silin, Andrei es_ES
dc.date.accessioned 2024-10-12T17:32:51Z
dc.date.available 2024-10-12T17:32:51Z
dc.date.created 2024-09-18
dc.date.issued 2024-10-12 es_ES
dc.identifier.uri http://hdl.handle.net/10251/209961
dc.description.abstract [ES] Las redes neuronales convolucionales (CNN) son, de hecho, el método estándar para clasificación de imágenes en diversos dominios, incluyendo reconocimiento facial automático en sistemas de protección de fronteras, conducción autónoma en vehículos, sanidad, etc. Desplegar una CNN requiere encontrar un equilibrio entre objetivos contrapuestos, como productividad, precisión y consumo de energía. En entornos críticos, asegurar un nivel aceptable de robustez contra fallos es de vital importancia. Millones de parámetros, cargados desde memoria principal a los buffers de los aceleradores de las CNN, son usados repetidamente en el proceso de inferencia. Bit-flips accidentales o maliciosos en esos buffers pueden afectar negativamente a la precisión de la red. Las soluciones tradicionales, basadas en redundancia, pueden aportar una elevada cobertura de errores, pero con una elevada sobrecarga, en ocasiones inasumible, especialmente en soluciones con recursos limitados. Este trabajo propone una nueva metodología para localizar bits en los parámetros en coma flotante de una CNN que no son necesarios (por irrelevantes o por invariantes). Por una parte, la representación en memoria de valores en coma flotante (frecuentemente usando el estándar IEEE-754 de 32 bits) tiene una precisión muy elevada, innecesaria para el proceso de inferencia de una CNN. Así pues, se puede utilizar la inyección de fallos para determinar los bits que son irrelevantes para el proceso de inferencia (generalmente los bits menos significativos). Por otra parte, la mayoría de los parámetros están incluidos en un pequeño rango de valores y, por tanto, sus representaciones tienen exponentes similares. Analizando estos valores, es posible encontrar bits invariantes (que tienen el mismo valor en todos los parámetros). Incluso se pueden realizar ligeras modificaciones a determinados parámetros para incrementar el número de bits invariantes. Los bits invariantes y los irrelevantes no afectan al proceso de inferencia, así que se pueden utilizar como bits de paridad para códigos correctores de errores. Es importante remarcar que esta metodología mantiene la precisión de la CNN y su huella en memoria, y puede desplegarse sin reentrenar la red. Se ha aplicado a diferentes CNN de PyTorch entrenadas previamente para demostrar la validez y aplicabilidad general de la propuesta. es_ES
dc.description.abstract [EN] Convolutional Neural Networks (CNNs) are the de facto standard method for image classification in various domains, including automatic face recognition in border-protection systems, autonomous driving in vehicles, health care, etc. Deploying CNNs requires balancing conflicting goals, like throughput, accuracy, and power consumption. In safety-critical environments, ensuring acceptable levels of robustness against faults is also of utmost importance. Millions of parameters, loaded from main memory into the internal buffers of CNN accelerators, are repeatedly used in the inference process. Accidental and malicious bit-flips targeting these buffers may negatively impact CNN's accuracy. Traditional redundancy-based solutions provide high error coverage at the cost of high, and sometimes unaffordable, overheads, especially for resource-constrained solutions. This work proposes a novel methodology to locate bits in the floating-point (FP) parameters of a CNN that are not necessary (irrelevant or invariant). On the one hand, the memory representation of FP values (frequently 32-bit IEEE-754 standard) has a very high precision, unnecessary for the CNN inference process. Thus, fault injection can be used to determine the bits that are irrelevant to the inference process (usually the least significant bits). On the other hand, most of the parameters are within a short range of values and, therefore, their representations have similar exponents. By analyzing these values, it is possible to find invariant bits, i.e. bits that have always the same value in all parameters. Even more, slight modifications can be applied to selected parameters to increase the number of invariant bits. Irrelevant and invariant bits do not affect the inference process, so they can be used as parity bits for error correction codes (ECCs). It is important to note that this methodology preserves the CNN accuracy and its memory footprint, and it can be deployed without retraining the network. It has been applied to different PyTorch pre-trained CNNs to demonstrate the validity and general applicability of the approach. es_ES
dc.format.extent 67 es_ES
dc.language Inglés es_ES
dc.publisher Universitat Politècnica de València es_ES
dc.rights Reconocimiento (by) es_ES
dc.subject Redes neuronales convolucionales es_ES
dc.subject Confiabilidad es_ES
dc.subject Inyección de fallos es_ES
dc.subject Coma flotante es_ES
dc.subject Redundancia es_ES
dc.subject Convolutional neural networks es_ES
dc.subject Reliability es_ES
dc.subject Fault injection es_ES
dc.subject Floating point es_ES
dc.subject Redundancy es_ES
dc.subject.classification ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES es_ES
dc.subject.other Máster Universitario en Ingeniería de Computadores y Redes-Màster Universitari en Enginyeria de Computadors i Xarxes es_ES
dc.title Protecting the Parameters of Floating-Point-Based Convolutional Neural Networks Against Accidental and Malicious Faults without Increasing Their Memory Footprint es_ES
dc.title.alternative Protección de parámetros en redes neuronales convolucionales basadas en coma flotante contra fallos accidentales y maliciosos sin incrementar su huella en memoria es_ES
dc.title.alternative Protecció de paràmetres en xarxes neuronals convolucionals basades en coma flotant front a fallades accidentals i malicioses sense incrementar l'ús de memòria es_ES
dc.type Tesis de máster es_ES
dc.rights.accessRights Abierto es_ES
dc.contributor.affiliation Universitat Politècnica de València. Departamento de Informática de Sistemas y Computadores - Departament d'Informàtica de Sistemes i Computadors es_ES
dc.description.bibliographicCitation Silin, A. (2024). Protecting the Parameters of Floating-Point-Based Convolutional Neural Networks Against Accidental and Malicious Faults without Increasing Their Memory Footprint. Universitat Politècnica de València. http://hdl.handle.net/10251/209961 es_ES
dc.description.accrualMethod TFGM es_ES
dc.relation.pasarela TFGM\165913 es_ES


Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem