A key enabler of deploying convolutional neural networks on resource-constrained embedded systems is the binary neural network (BNN). BNNs save on memory and simplify computation by binarizing both features and weights. Unfortunately, binarization is inevitably accompanied by a severe decrease in accuracy. To reduce the accuracy gap between binary and full-precision networks, many repair methods have been proposed in the recent past, which we have classified and put into a single overview in this chapter. The repair methods are divided into two main branches, training techniques and network topology changes, which can further be split into smaller categories. The latter category introduces additional cost (energy consumption or additional area) for an embedded system, while the former does not. From our overview, we observe that progress has been made in reducing the accuracy gap, but BNN papers are not aligned on what repair methods should be used to get highly accurate BNNs. Therefore, this chapter contains an empirical review that evaluates the benefits of many repair methods in isolation over the ResNet-20\&CIFAR10 and ResNet-18\&CIFAR100 benchmarks. We found three repair categories most beneficial: feature binarizer, feature normalization, and double residual. Based on this review we discuss future directions and research opportunities. We sketch the benefit and costs associated with BNNs on embedded systems because it remains to be seen whether BNNs will be able to close the accuracy gap while staying highly energy-efficient on resource-constrained embedded systems.
翻译:在资源紧缺的嵌入系统中部署进化神经网络的一个关键推动因素是二进制神经网络(BNN)。BNNs节省记忆,通过将功能和重量二进制简化计算。不幸的是,二进制必然伴随着精确度的大幅下降。为了缩小二进制和全面精确度网络之间的准确性差距,最近提出了许多修复方法,我们对此进行了分类,并在本章中将其合并为单一概览。修复方法分为两个主要分支、培训技术和网络地形变化,可以进一步划分为较小的类别。后一类为嵌入系统引入了额外的成本(能源消耗或额外领域),而前者则没有。我们从概览中看到,在减少准确性差距方面已经取得了进展,但BNNN文件没有就应当使用何种修复方法来获得高度准确性BNNCs作了一致。因此,本章载有一项经验审查,评估许多修复方法在与ResNet-20QFAR10和ResNet-18CIFAR100基准分离后产生的效益。我们发现,后一类为嵌入系统增加了三个精确性类别(能源消耗量或额外领域),因为我们用B级研究模式和B级常规评估是否具有高度的优势。