在许多任务中,神经网络和深度学习的预测能力目前都很出色。因此,这项技术被应用于各种各样的应用中,在我们的日常生活中发挥着重要作用。因此,这项技术的潜在改进已经成为一个更加重要的话题。**在本文中,我们致力于改进深度学习模型的两个重要方面;表示预测的不确定性以及对大量计算和资源的内在需求的能力。我们通过介绍和陈述本文要回答的两个主要研究问题来开始这项工作。我们进一步为本文将使用的主要技术提供必要的背景知识。本文描述了神经网络和贝叶斯神经网络,即其参数(又称权重和偏差)是随机的,并由概率分布控制的神经网络,而不是固定的,以及(变分)贝叶斯推理,一种根据观测数据更新参数概率分布的方法。**通过剪枝(pruning)和量化(quantization)简要介绍了神经网络压缩和量化(quantization),前者通过显式设置为零来删除不相关的参数和网络的部分内容,后者以硬件友好的格式(如定点)表示网络的权重和中间表示的数值。
**本文的第一部分描述了提高神经网络不确定性估计能力的三个贡献。前两者围绕着在我们观察数据时,通过更好地逼近其参数的概率分布来提高变分贝叶斯神经网络的不确定性质量。**本文提出一种简单的方法,通过矩阵变量高斯分布在神经网络权重之间引入线性依赖;它们是随机矩阵上的分布,可以很容易地对每层中的输入和输出神经元之间的相关性进行建模,这种能力会导致性能的提高,正如我们实验表明的那样。提出了乘归一化流,这是一个通用框架,引入了网络参数之间的非线性依赖关系。这是通过结合辅助随机变量和参数化双射来实现的,以一种允许每层权重之间灵活的相关性,同时仍然是计算可处理的。实验表明,与之前工作的简单高斯变分近似相比,不确定性质量得到了提高。这部分的最后一个贡献对应于功能神经过程,一个采用不同视角的模型;它不是假设概率分布并对神经网络权值进行(变分)推理,而是采用随机过程的建模框架,从而假设概率分布并对神经网络的函数空间进行推理。这有一个额外的好处,即更容易的推理和更直观的建模任务,因为它允许我们推理数据集中点之间的关系,通过引入一个“参考”点集,而不是不可解释的神经网络参数来实现。实验表明,这种模型提供了更好的不确定性质量,同时保持了可比的预测性能。
**第二部分介绍了三种新的压缩技术,它们可以让我们学习更小、更快的神经网络,从而减少所需的计算量和资源。**第一个贡献对应于贝叶斯压缩,这是一种变分贝叶斯推理过程,通过对网络参数进行精心选择的概率分布,可以通过联合修剪和量化来揭示高性能和计算高效的架构。虽然这种方法可能导致高度压缩的架构,但它缺乏对特定任务或问题进行修剪或量化的细粒度自适应。因此,其他两项贡献旨在分别处理剪枝和量化。第二个贡献对应于一种新的L0范数优化方法,L0范数是神经网络稀疏性的黄金标准。本文提出一种通用技术,通过适当数量的噪声,可以对不可微L0范数进行基于梯度的优化。实验表明,这种方法可以产生准确和高度稀疏的模型,同时它可以通过条件计算和适当的软件进行稀疏训练,这也可以促进更快的训练。最后,为了最后的贡献,我们采用类似的思想并引入松弛量化;基于梯度的优化过程,允许学习神经网络,其中参数和激活位于(自适应)量化网格上。经验表明,这允许在大规模任务中训练准确的神经网络,同时每权重和激活只需4位。最后,对研究问题进行了回答,同时讨论了所提出方法的缺陷和缺点,并指出了有希望的研究方向。