VIBNN:贝叶斯神经网络的硬件加速
机器学习
2018-02-06 v1 硬件体系结构
机器学习
摘要
贝叶斯神经网络(BNNs)被提出以解决训练和推理中的模型不确定性问题。通过引入与条件概率分布相关的权重,BNNs 能够解决常规神经网络中常见的过拟合问题,并借助变分推断过程实现小数据训练。该过程中对高斯随机变量的频繁使用需要适当优化的高斯随机数发生器(GRNG)。传统 GRNG 的高硬件成本使得 BNNs 的硬件实现颇具挑战。本文中,我们提出 VIBNN,一种基于 FPGA 的用于 BNNs 变分推断的硬件加速器设计。我们探索了 BNNs 中大量高斯变量采样任务的设计空间。具体而言,我们引入了两种高性能高斯(伪)随机数发生器:基于 RAM 的线性反馈高斯随机数发生器(RLF-GRNG),其受二项分布与线性反馈逻辑性质的启发;以及面向贝叶斯神经网络的 Wallace 高斯随机数发生器。为实现高可扩展性与高效内存访问,我们提出了一种具有快速执行和良好硬件利用率的深度流水线加速器架构。实验结果表明,所提出的基于 FPGA 的 VIBNN 实现可达到 321,543.4 图像/秒的吞吐量与高达 52,694.8 图像/焦耳的能效,同时保持与其软件对应物相近的精度。
引用
@article{arxiv.1802.00822,
title = {VIBNN: Hardware Acceleration of Bayesian Neural Networks},
author = {Ruizhe Cai and Ao Ren and Ning Liu and Caiwen Ding and Luhao Wang and Xuehai Qian and Massoud Pedram and Yanzhi Wang},
journal= {arXiv preprint arXiv:1802.00822},
year = {2018}
}