掌桥专利:专业的专利平台
掌桥专利
首页

一种面向点云的高效二值化神经网络量化方法及装置

文献发布时间:2023-06-19 09:27:35


一种面向点云的高效二值化神经网络量化方法及装置

技术领域

本发明涉及一种神经网络量化方法,尤其涉及一种面向点云的高效二值化神经网络量化方法,同时也涉及相应的神经网络量化装置,属于深度学习技术领域。

背景技术

点云(Point Cloud),尤其是点云神经网络,已在各种计算机视觉应用,如自动驾驶、增强现实等中得到越来越多的关注。传统的点云通常具有海量参数和高计算完备性,针对单一任务的训练和推断过程需要耗费大量的时间。造成这一问题的主要原因是:目前在各个任务上取得最好成绩的模型普遍采用具有全精度的神经网络,使得这些模型需要使用大量的存储资源。同时许多应用程序需要实时交互和快速响应,但是点云的训练和推断过程中需要产生数量巨大的浮点数运算操作,例如,斯坦福大学的Charles R.Qi等人提出的PointNet具有大约3.5E6个参数,并且需要4.4E8个FLOP来处理单个样本。这在很大程度上限制了点云在诸如移动电话、平板电脑、相机等便携式设备上的应用。

近年来,研究者们已经提出了许多方法,使得深度神经网络能够在计算和存储资源有限的便携式设备上应用,包括网络权重量化、权值修剪、低秩分解、哈希映射,以及轻量级架构设计。其中,基于量化的方法以较低的比特数表示网络中的参数,但仍然能够得到较高的网络准确率和高度紧凑的神经网络模型。例如,神经网络模型的全二值化方法,将网络中原本32位的浮点数参数量化至1位表示,节省了参数的存储空间,能够最大程度地降低神经网络模型的存储占用消耗;同时将原本参数的计算由浮点数运算转化为位运算,减小了神经网络的计算量,极大地加速了网络推断过程。

在申请号为201910599176.6的中国发明申请中,公开了一种平衡二值化神经网络量化方法及系统。该方法包括如下步骤:S1,对于神经网络中的网络权重进行平衡标准二值化操作,得到二值化网络权重;S2,对于神经网络中的网络激活值进行平衡二值化操作,得到二值化网络激活值;S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。该方法使用平衡标准化的二值化网络权重和平衡二值化的网络激活值,使神经网络可以通过训练过程中最小化损失函数,达到网络激活值信息熵最大化和网络权重、激活量化损失最小化,从而减少量化损失,提高二值化神经网络的分类性能。但是,该方法不能简单地转移到点云神经网络中,仍然存在很多需要解决的技术问题。

发明内容

针对现有技术的不足,本发明所要解决的首要技术问题在于提供一种面向点云的高效二值化神经网络量化方法。

本发明所要解决的另一技术问题在于提供一种面向点云的高效二值化神经网络量化装置。

为实现上述发明目的,本发明采用下述的技术方案:

根据本发明实施例的第一方面,提供一种面向点云的高效二值化神经网络量化方法,包括如下步骤:

在点云神经网络的训练过程中:在网络前馈传播过程,将特征聚合层的输入进行变换后,通过熵最大化的聚合函数聚合全局特征;在网络前馈传播过程,逐层恢复二值线性单元的输出尺度;在网络反向传播过程,使用梯度更新可学习的尺度恢复因子;

在点云神经网络的推断过程中:使用二值化的网络权重和网络激活值,并且仅使用训练好的尺度恢复因子进行输出尺度恢复。

其中较优地,在点云神经网络的训练过程中,对网络中的卷积层执行特征聚合步骤:在特征聚合层利用熵最大化的聚合函数进行特征聚合,获得保留最大信息熵的二值化特征输出,并进行神经网络推断,在反向传播时对网络权重和激活进行更新,从而生成二值化的点云神经网络。

其中较优地,所述特征聚合步骤包括如下子步骤:对于熵最大化的聚合函数,应用多层感知机对输入的每个点进行独立建模,然后以一个恒定的偏移量对输入进行移位操作,通过聚合函数将每个点的建模特征聚合为全局特征,最后获得的输出满足关于零对称的分布要求,并且使熵最大化,尽可能在量化后保留更多的信息。

其中较优地,对于点云神经网络中的原始输入Y',对Y'中的每一个值进行移位操作,偏移函数的计算公式定义为:

其中较优地,经过聚合函数φ聚合后的全局特征Y满足∑

其中较优地,在点云神经网络的训练过程中,对网络中的卷积层执行逐层尺度恢复步骤:对网络中的二值化线性层使用可学习的尺度恢复因子,恢复输出到合理的尺度,在反向传播时对尺度恢复因子进行更新。

其中较优地,所述逐层尺度恢复步骤包括如下子步骤:对于逐层尺度恢复的二值化线性层,添加一个可学习的尺度恢复因子,将二值化后的输入与网络权重进行二值卷积,获得的输出与尺度恢复因子相乘,以恢复输出尺度。

其中较优地,所述尺度恢复因子α的初始化为二值化线性层的输出Ba和Bw全精度对应输出A和W之间的标准偏差之比,即

其中,σ表示标准偏差,

其中较优地,通过将尺度恢复因子α与二值化线性层的输出Ba和Bw相乘,使得神经元输出z恢复到合理的比例。

根据本发明实施例的第二方面,提供一种面向点云的高效二值化神经网络量化装置,包括处理器和存储器,所述处理器读取所述存储器中的计算机程序,用于执行以下操作:

在点云神经网络的训练过程中:在网络前馈传播过程,将特征聚合层的输入进行变换后,通过熵最大化的聚合函数聚合全局特征;在网络前馈传播过程,逐层恢复二值线性单元的输出尺度;在网络反向传播过程,使用梯度更新可学习的尺度恢复因子;

在点云神经网络的推断过程中:使用二值化的网络权重和网络激活值,并且仅使用训练好的尺度恢复因子进行输出尺度恢复。

本发明提供的面向点云的高效二值化神经网络量化方法及装置,使用熵最大化的聚合函数和逐层尺度恢复步骤,使点云神经网络可以通过训练过程中最小化损失函数,达到信息熵最大化和网络权重、激活量化损失最小化,从而减少量化损失,提高二值化点云神经网络的性能。本发明与按位运算完全兼容,具有快速推断量化神经网络的优点。事实表明,本发明在各种网络架构中的表现非常出色,在内存消耗,推理速度和准确性方面优于现有技术。

附图说明

图1为本发明提供的面向点云的高效二值化神经网络量化方法的流程图;

图2为本发明实施例提供的熵最大化的聚合函数(EMAF)的前馈传播过程示意图;

图3为本发明实施例提供的面向点云的高效二值化神经网络量化装置的结构图;

图4为本发明提供的高效二值化神经网络量化方法与现有的PointNet方法在推理速度和存储需求上的比较图。

具体实施方式

下面结合附图和具体实施例对本发明的技术内容进行详细具体地说说明。

前已述及,二值化方法已经成为最有前途的神经网络模型加速方法之一。神经网络模型的全二值化能够最大程度地降低模型的存储占用和计算量,极大地节省参数的存储空间,同时将原本参数的计算由浮点数卷积运算转化为位运算,大大减小了神经网络的计算量,极大地加速了推理过程。目前,已经在2D视觉任务上取得了众所周知的成功。

但是,由于点云的数据结构与2D图像相比有着根本性差异。2D图像的像素是以规则的矩阵形式排列,这使得卷积神经网络(CNN)能够利用卷积核对相邻的像素之间的局部特征进行编码。而在点云的数据结构中,每个点的顺序在空间相似度上不包含任何信息,因此大多数解决2D视觉任务的二值化方法,并不能简单地转移到点云上。

另一方面,现有的各类点云特征提取器通常具有两个共同的设计:首先,CNN内核被多层感知机(或全连接层)替代,将特征以“点”的形式处理;其次,利用池化层来聚合全局特征。这两个针对点云的特殊设计对于实现神经网络模型的全二值化提出了挑战。观察结果表明,当使用二进制表示时,神经网络模型的多样性和表达能力会受到极大的限制和损害,部分信息在传播途中丢失,这导致了准确性显著下降。同时,二值化过程导致输出尺度失真,破坏了尺度敏感结构的性能,阻碍了优化的过程。因此,如果没有一个精心设计的特征聚合层,以及恢复输出尺度的方法,将会进一步影响神经网络模型的准确率。

为此,本发明实施例提供的高效二值化神经网络量化方法及装置的基本思路在于一方面在特征聚合层利用熵最大化的聚合函数(Entropy-Maximizing AggregationFunction,简写为EMAF),通过对聚合函数的输入进行简单的变换,获得使得信息熵最大化的全局特征,尽可能在二值化点云中保留更多信息;另一方面,使用逐层尺度恢复(Layer-wise Scale Recovery,简写为LSR)步骤恢复被二值化过程破坏的输出尺度,通过在二值化线性层中加入可学习的尺度恢复因子,使输出尺度恢复到合理的比例。下面,结合图1展开详细具体的说明。

图1为本发明提供的面向点云的高效二值化神经网络量化方法的流程图,其中的倾斜虚线框代表熵最大化的聚合函数(EMAF)步骤,竖直虚线框代表逐层尺度恢复(LSR)步骤。如图1所示,本发明实施例提供的高效二值化神经网络量化方法(简写为BiPointNet),主要包括如下步骤:

在点云神经网络的训练过程中:在网络前馈传播过程,将特征聚合层的输入进行变换后,通过熵最大化的聚合函数聚合全局特征;在网络前馈传播过程,逐层恢复二值线性单元的输出尺度;在网络反向传播过程,使用梯度更新可学习的尺度恢复因子。

在点云神经网络的推断过程中:使用二值化的网络权重和网络激活值,并且仅使用训练好的尺度恢复因子进行输出尺度恢复。

具体地说,在点云神经网络的训练过程中,对网络中的卷积层执行特征聚合步骤,即对输入的每个点进行独立建模,并以恒定的偏移量进行位移,在特征聚合层利用熵最大化的聚合函数(EMAF)进行特征聚合,获得保留最大信息熵的二值化特征输出,并进行神经网络推断,在反向传播时对网络权重和激活进行更新,从而生成二值化的点云神经网络。

另一方面,在点云神经网络的训练过程中,对网络中的卷积层执行逐层尺度恢复步骤,对网络中的二值化线性层使用可学习的尺度恢复因子,将二值化后的输入和网络权重进行二值卷积,得到的输出与尺度恢复因子相乘,使输出恢复输出到合理的尺度,在反向传播时对尺度恢复因子进行更新。

下面,详细说明上述特征聚合步骤和逐层尺度恢复步骤的具体实施过程。

特征聚合步骤:对于熵最大化的聚合函数(EMAF),应用多层感知机对输入的每个点进行独立建模,然后以一个恒定的偏移量对输入进行移位操作,通过聚合函数将每个点的建模特征聚合为全局特征,最后获得的输出满足关于零对称的分布要求,并且使熵最大化,尽可能在量化后保留更多的信息。

参见表1,特征聚合步骤具体包括如下子步骤:

表1熵最大化的聚合函数(EMAF)的前馈传播过程

具体地说,对于点云神经网络中的原始输入Y',首先对Y'中的每一个值进行移位操作,偏移函数的计算公式定义为:

将获得的结果通过聚合函数φ进行聚合,得到量化后的全局特征,其计算公式如下:

其中,φ表示聚合函数,比如最大池化或平均池化;

当聚合函数φ表示最大池化时,其信息熵最大化的目标函数如下:

其中,n表示每次批处理的元素个数。通过计算,得到每个n对应的最优的分布偏移δ*。

当聚合函数φ表示平均池化时,其信息熵最大化的目标函数为:

上述目标函数的解可以表示为nδ=0,而且由于n≥1,因此

在经过池化层之后,特征聚合步骤的输出Y应满足

如图2所示,通过最大化输出的二进制特征B的信息熵,可以尽可能保留原始输入Y'中的信息,减少对聚合函数的输出进行量化时的信息损失。

逐层尺度恢复步骤:对于逐层尺度恢复的二值化线性层,添加一个可学习的尺度恢复因子,将二值化后的输入与网络权重进行二值卷积,获得的输出与尺度恢复因子相乘,以恢复输出尺度。

参见表2,逐层尺度恢复步骤具体包括如下子步骤:

表2可学习的尺度恢复因子(LSR)的前馈传播过程

具体地说,在二值化线性层中,设计一个可学习的尺度恢复因子α。其中,该尺度恢复因子α的初始化为二值化线性层的输出Ba和Bw全精度对应输出A和W之间的标准偏差之比,即

其中,σ表示标准偏差,

通过将尺度恢复因子α与二值化线性层的输出Ba和Bw相乘,使得神经元输出z恢复到合理的比例,计算公式如下:

为实现本发明所提供的面向点云的高效二值化神经网络量化方法,本发明还提供一种面向点云的高效二值化神经网络量化装置。如图3所示,该装置包括存储器31和处理器32,还可以根据实际需要进一步包括通信组件、传感器组件、电源组件、多媒体组件及输入/输出接口。其中,存储器、通信组件、传感器组件、电源组件、多媒体组件及输入/输出接口均与该处理器32连接。上述存储器31可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器等,处理器可以是中央处理器(CPU)、图形处理器(GPU)、现场可编程逻辑门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理(DSP)芯片等。其它通信组件、传感器组件、电源组件、多媒体组件等均可以采用现有智能手机中的通用部件实现,在此就不具体说明了。

另一方面,在上述面向点云的高效二值化神经网络量化装置中,所述处理器32读取所述存储器31中的计算机程序,用于执行以下操作:

在点云神经网络的训练过程中:在网络前馈传播过程,将特征聚合层的输入进行变换后,通过熵最大化的聚合函数聚合全局特征;在网络前馈传播过程,逐层恢复二值线性单元的输出尺度;在网络反向传播过程,使用梯度更新可学习的尺度恢复因子;

在点云神经网络的推断过程中:使用二值化的网络权重和网络激活值,并且仅使用训练好的尺度恢复因子进行输出尺度恢复。

为了进一步验证BiPointNet在部署到现有便携式设备中时的效率,发明人在Raspberry Pi 4B上进一步实现了上述BiPointNet的技术方案,采用1.5GHz 64位四核ARMCPU Cortex-A72,Raspberry Pi 3B采用1.2GHz 64位四核ARM CPU Cortex-A53。在图4中,发明人比较了BiPointNet和PointNet,可以发现BiPointNet比PointNet实现了14.7倍的推理速度提升和18.9倍的存储减少,而PointNet本身就是公认的快速和轻量级模型。

与现有技术相比较,本发明提供的面向点云的高效二值化神经网络量化方法及装置,使用熵最大化的聚合函数和逐层尺度恢复的二值化线性层,使点云神经网络可以通过训练过程中最小化损失函数,达到聚合后的二值化特征信息熵最大化和网络权重、激活量化损失最小化,从而减少量化损失,提高二值化点云神经网络的性能。

上面对本发明所提供的面向点云的高效二值化神经网络量化方法及装置进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质内容的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。

相关技术
  • 一种面向点云的高效二值化神经网络量化方法及装置
  • 一种面向点云的高效二值化神经网络量化方法及装置
技术分类

06120112174762