Konvolutionella neurala nätverk (CNN) är extremt krävande, vilket utgör ett stort hinder för deras installation på resursbegränsade enheter. Eftersom sådana system är där några av deras mest användbara tillämpningar ligger (t.ex. Hinderdetektering för mobila robotar, visionsbaserad medicinsk hjälpmedelsteknik), betydande arbete från både maskininlärning och systemgemenskaper har försökt tillhandahålla optimeringar som kommer att göra CNN:er tillgängliga för kantutrustning. I detta dokument förenar vi de två synpunkterna i en Deep Learning Inference Stack och tar en övergripande strategi genom att genomföra och utvärdera de vanligaste neurala nätverkskompression tekniker (viktbeskärning, kanalbeskärning och kvantisering) och optimera deras parallella utförande med en rad programmeringsmetoder (OpenMP, OpenCL) och hårdvara arkitekturer (CPU, GPU). Vi tillhandahåller omfattande Pareto kurvor för att instruera kompromisser under begränsningar av noggrannhet, exekveringstid och minnesutrymme.
Turner och Al. REF implementerade flera gemensamma DNN-komprimeringstekniker (viktbeskärning, kanalbeskärning och kvantisering) och utvärderade noggrannheten, exekveringstiden och minnesutrymmet på både CPU och GPU.
Characterising Across-Stack Optimisations for Deep Convolutional Neural Networks