一种神经网络的优化方法及相关设备技术

技术编号:26378618 阅读:33 留言:0更新日期:2020-11-19 23:47
本申请实施例公开了一种神经网络的优化方法及相关设备,可应用于人工智能领域中的计算机视觉领域(如,图像超分辨重建)等,该方法包括:通过一种新的量化模型对神经网络的权重矩阵/特征表示(或称特征图、激活值)进行二值化,具体地,第一量化模型用于根据神经网络第1层至第m层的m个第一权重矩阵得到神经网络第m层的第二权重矩阵,第二量化模型用于根据第1层至第m层的m个第一特征表示得到神经网络第m层的第二特征表示,这种优化方式使得各层权重矩阵/特征表示的取值不仅和自身相关,也与其他层的权重矩阵/特征表示相关,降低了量化误差,使神经网络的训练和使用更加高效,同时,相比现有二值神经网络,提高了图像信息处理的精度。

【技术实现步骤摘要】
一种神经网络的优化方法及相关设备
本申请涉及机器学习领域,尤其涉及一种神经网络的优化方法及相关设备。
技术介绍
神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术,是深度学习的基础,目前的神经网络一般采用浮点计算,需要较大的存储空间和计算量,严重阻碍在边缘设备(如,摄像头)及端侧设备(如,手机)上的应用。二值神经网络以其高模型压缩率和快计算速度的潜在优势,近些年成为深度学习的热门研究方向。二值神经网络(binaryneuralnetwork,BNN)是在神经网络的基础上,将神经网络的权重矩阵中的各个权重二值化为1或者-1。通过二值化操作,使模型的参数占用更小的存储空间(原来的每个权重需要32位浮点数存储,现在只要一个bit就可以存下来,内存消耗理论上减少为原来的1/32倍)。BNN的实质是将原来的神经网络的权重矩阵二值化(即各个权重取值为+1或-1),并没有改变网络的结构,主要在梯度下降、权值更新等做了一些优化处理。目前,神经网络的二值化的方式是单独针对某一层的权重矩阵进行二值化,也就是说,这种二值化的方式仅是本文档来自技高网...

【技术保护点】
1.一种神经网络的优化方法,其特征在于,所述神经网络包括第一神经网络模块,所述第一神经网络模块包括n个卷积层,所述方法包括:/n获取第一量化模型,所述第一量化模型用于根据所述第一神经网络模块的第1层至第m层的m个第一权重矩阵,得到所述第一神经网络模块的第m层的第二权重矩阵,其中,每层的第一权重矩阵均为用32位浮点数表示的权重矩阵,每层的第二权重矩阵均为赋值+1或-1的权重矩阵,1≤m≤n;/n根据所述第一量化模型,将所述第一神经网络模块各层对应的每个第一权重矩阵进行二值化操作,得到所述第一神经网络模块各层对应的每个第二权重矩阵;/n通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经...

【技术特征摘要】
1.一种神经网络的优化方法,其特征在于,所述神经网络包括第一神经网络模块,所述第一神经网络模块包括n个卷积层,所述方法包括:
获取第一量化模型,所述第一量化模型用于根据所述第一神经网络模块的第1层至第m层的m个第一权重矩阵,得到所述第一神经网络模块的第m层的第二权重矩阵,其中,每层的第一权重矩阵均为用32位浮点数表示的权重矩阵,每层的第二权重矩阵均为赋值+1或-1的权重矩阵,1≤m≤n;
根据所述第一量化模型,将所述第一神经网络模块各层对应的每个第一权重矩阵进行二值化操作,得到所述第一神经网络模块各层对应的每个第二权重矩阵;
通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经网络;
将所述训练后的神经网络部署在目标设备上。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一量化模型,将所述第一神经网络模块各层对应的每个第一权重矩阵进行二值化操作,得到所述第一神经网络模块各层对应的每个第二权重矩阵包括:
通过得到所述第m层的第二权重矩阵,其中,W1,W2,...,Wm为第1层的第一权重矩阵至第m层的第一权重矩阵,α1,α2,...,αm为与W1,W2,...,Wm对应的第一线性组合参数,WN(·)为对α1W1+α2W2+…+αmWm进行的归一化操作,Sign(·)为对WN(α1W1+α2W2+…+αmWm)进行二值化操作的符号函数,为所述第m层的第二权重矩阵,为所述第一量化模型。


3.根据权利要求1-2中任一项所述的方法,其特征在于,在通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经网络之前,所述方法还包括:
确定所述第m层的第二权重矩阵的权值增益;
根据所述第m层的第二权重矩阵的权重增益对所述第m层的第二权重矩阵进行调整,使得调整后的第m层的第二权重矩阵与第m层的第一权重矩阵之间的差值小于所述第m层的第二权重矩阵与所述第m层的第一权重矩阵之间的差值。


4.根据权利要求2-3中任一项所述的方法,其特征在于,在通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经网络之前,所述方法还包括:
设置所述第一线性组合参数为所述神经网络的网络参数,以使得在根据训练集中的训练数据对所述神经网络进行训练的过程中,对所述第一线性组合参数进行训练。


5.根据权利要求2-3中任一项所述的方法,其特征在于,在通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经网络之前,所述方法还包括:
确定所述第m层的第一权重矩阵与所述第m层的第二权重矩阵的模值为所述第一线性组合参数中的αm;
对所述模值进行线性回归得到所述αm的最终取值。


6.根据权利要求1-5中任一项所述的方法,其特征在于,在根据所述第一量化模型,将所述第一神经网络模块各层对应的每个第一权重矩阵进行二值化操作,得到所述第一神经网络模块各层对应的每个第二权重矩阵之后,所述方法还包括:
按照所述n个卷积层连接的先后顺序依次计算所述第一神经网络模块每层的第一特征表示;
获取第二量化模型,所述第二量化模型用于根据所述第一神经网络模块的第1层至第m层的m个第一特征表示,得到所述第一神经网络模块的第m层的第二特征表示,其中,每层的第一特征表示均为用32位浮点数表示的特征表示,每层的第二特征表示均为赋值+1或-1的特征表示,1≤m≤n;
根据所述第二量化模型,将所述第一神经网络模块各层对应的每个第一特征表示进行二值化操作,得到所述第一神经网络模块各层对应的每个第二特征表示。


7.根据权利要求6所述的方法,所述根据所述第二量化模型,将所述第一神经网络模块各层对应的每个第一特征表示进行二值化操作,得到所述第一神经网络模块各层对应的每个第二特征表示包括:
通过得到所述第m层的第二特征表示,其中,A1,A2,...,Am为第1层的第一特征表示至第m层的第一特征表示,β1,β2,...,βm为与A1,A2,...,Am对应的第二线性组合参数,BN(·)为对β1A1+β2A2+…+βmAm进行的归一化操作,Sign(·)为对BN(β1A1+β2A2+…+βmAm)进行二值化操作的符号函数,为所述第m层的第二特征表示,为所述第二量化模型。


8.根据权利要求6-7中任一项所述的方法,其特征在于,在通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经网络之前,所述方法还包括:
确定所述第m层的第二特征表示的激活增益;
根据所述第m层的第二特征表示的激活增益对所述第m层的第二特征表示进行调整,使得调整后的第m层的第二特征表示与第m层的第一特征表示之间的差值小于所述第m层的第二特征表示与所述第m层的第一特征表示之间的差值。


9.根据权利要求8所述的方法,其特征在于,所述按照所述n个卷积层连接的先后顺序依次计算所述第一神经网络模块每层的第一特征表示包括:
根据所述第m层的第二权重矩阵、第m-1层的第二特征表示、所述第m层的第二权重矩阵的权值增益、第m-1层的第二特征表示的激活增益计算所述第m层的第一特征表示。


10.根据权利要求9所述的方法,其特征在于,所述根据所述第m层的第二权重矩阵、第m-1层的第二特征表示、所述第m层的第二权重矩阵的权值增益、第m-1层的第二特征表示的激活增益计算所述第m层的第一特征表示包括:
对所述第m层的第二权重矩阵和所述第m-1层的第二特征表示进行卷积操作,得到卷积结果;
将所述卷积结果与所述第m层的第二权重矩阵的权值增益进行点乘运算,得到点乘结果;
将所述点乘结果与所述第m-1层的第二特征表示的激活增益进行点乘运算,得到所述第m层的第一特征表示。


11.根据权利要求7-10中任一项所述的方法,其特征在于,在通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经网络之前,所述方法还包括:
设置所述第二线性组合参数为所述神经网络的网络参数,以使得在根据训练集中的训练数据对所述神经网络进行训练的过程中,对所述第二线性组合参数进行训练。


12.根据权利要求7-10中任一项所述的方法,其特征在于,在通过训练集中的训练数据对所述神经网络进行训练,得到训练后的神经网络之前,所述方法还包括:
确定所述第m层的第一特征表示与所述第m层的第二特征表示的模值为所述第二线性组合参数中的βm;
对所述模值进行线性回归得到所述βm的最终取值。


13.根据权利要求1-12中任一项所述的方法,其特征在于,所述神经网络还包括第二神经网络模块和第三神经网络模块;
所述第二神经网络模块用于对输入图像进行全精度的特征提取,所述第三神经网络模块用于对所述第一神经网络模块的输出进行图像重建,得到输出图像。


14.根据权利要求13所述的方法,其特征在于,
所述输入图像包括一张或多张低分辨率图像;
所述输出图像包括一张高分辨率图像。


15.一种图像处理方法,其特征在于,包括:
获取输入图像;
通过训练后的神经网络对所述输入图像进行处理,得到输出图像,所述训练后的神经网络为经过所述权利要求1-14中任一项所述方法优化过的神经网络。


16.一种神经网络的网络结构,其特征在于,所述神经网络包括:第一神经网络模块,第二神经网络模块和第三神经网络模块,所述第一神经网络模块包括n个卷积层;
所述第二神经网络模块,用于对输入图像进行全精度的特征提取,得到第一目标特征表示;
所述第一神经网络模块,用于对所述第一目标特征表示进行非线性映射,得到第二目标特征表示;
其中,所述第一神经网络模块各层的权重矩阵为经过第一量化模型处理过的第二权重矩阵,所述第一量化模型用于根据所述第一神经网络模块的第1层至第m层的m个第一权重矩阵,得到所述第一神经网络模块的第m层的第二权重矩阵,每层的第一权重矩阵均为用32位浮点数表示的权重矩阵,每层的第二权重矩阵均为赋值+1或-1的权重矩阵,1≤m≤n;
所述第三神经网络模块,用于对所述第二目标特征表示进行图像重建,得到输出图像。


17.根据权利要求16所述的网络结构,其特征在于,所述第一量化模型包括:

其中,W1,W2,...,Wm为所述第一神经网络模块第1层的第一权重矩阵至第m层的第一权重矩阵,α1,α2,...,αm为与W1,W2,...,Wm对应的第一线性组合参数,WN(·)为对α1W1+α2W2+…+αmWm进行...

【专利技术属性】
技术研发人员:辛经纬王楠楠姜馨蕊宋德华韩凯王云鹤
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1