Return to search

A Study on Fault-tolerance of Deep Neural Networks for Embedded Systems

Deep learning is replacing many traditional data processing methods in computer vision, speech recognition, natural language processing and many more diverse end applications. Until only a few years ago, using deep learning networks for inference required large amount of computational resources such as memory, processing power and energy. It was not trivial to deploy the computationally-expensive deep neural networks on embedded devices with limited capabilities. In recent years however, deep learning is finding its way through the world of embedded devices. Embedded systems such as Internet of Things (IoT) devices, phones and even components in cars are being equipped with deep neural networks. This raises interesting challenges for both embedded designers and deep learning scientists to close the gap between these two domains. In this thesis work, some challenges involved in deploying deep learning for embedded systems were discussed, as well as some of the available solutions and frameworks. Moreover, focusing on the safety and fault-tolerance aspects of embedded systems, tolerance of deep neural networks against faults was investigated using an experiment-based research strategy. A fault injection framework was designed and implemented that targeted deep neural networks defined using PyTorch. The framework developed was used to perform fault injection experiments on a small deep learning network. It was found how faults have various impacts on the accuracy of the neural network depending on the type of layer targeted by the faults. Worst-case faults were identified and several architectural modifications on the deep neural network were examined to improve the fault tolerance of the neural network under study. / Djupinlärning ersätter många traditionella databehandlingsmetoder inom datorseende, röstigenkänning, språkteknologi och flera olika slutanvändningar. Fram tills några år sedan har användningen av djupinlärningsnätverk för inferens krävt stora mängder beräkningsresurser såsom minne, processorkraft och energi. Det är inte trivialt att distribuera det beräknings-dyra djupa neurala nätverket på inbyggda enheter med begränsad kapacitet. Under de senaste åren har dock djupinlärning nått världens inbyggda enheter. Inbyggda system som Internet of Things (IoT) -enheter, telefoner och till och med komponenter i bilar utrustas med djupa neurala nätverk. Detta medför intressanta utmaningar för både designers av inbyggda system och djupinlärningsforskare att minska klyftan mellan dessa två domäner. I detta examensarbete diskuteras några av utmaningarna med att distribuera djupinlärning för inbyggda system, samt tillgängliga lösningar och ramverk. Djupa neurala nätverks feltolerans undersöks. Ett ramverk för felinjicering skapades som riktade sig mot djupa neurala nätverk som använder sig av Pytorch. Ramverket användes sedan för att utföra felinjektionsexperiment på ett mindre djupinlärningsnätverk. Man kunde se hur felinjiceringar påverkade nätverkets noggrannhet på olika sätt beroende på vilket lager av nätverket felinjiceringen gjordes på. Den värsta sortens felinjicering identifierades och olika arkitektoniska modifieringar av det djupa neurala nätverket undersöktes för att förbättra feltoleransen av nätverket.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-306052
Date January 2021
CreatorsMalekzadeh, Elaheh
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2021:809

Page generated in 0.0021 seconds