[发明专利]神经网络权重离散化方法和系统有效
申请号: | 201710530149.4 | 申请日: | 2017-07-03 |
公开(公告)号: | CN109214502B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 李国齐;邓磊;吴臻志;裴京 | 申请(专利权)人: | 清华大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 哈达 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 权重 离散 方法 系统 | ||
本发明涉及一种神经网络权重离散化方法和系统,所述方法包括:获取权重取值范围和离散权重状态个数;获取上一个时间步权重状态和当前时间步权重增量;根据所述当前时间步权重增量,利用方向函数,获取状态转移方向;根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。本发明确保权重值始终约束在同一个离散态空间中,而不需要存储额外的虚拟连续态隐含权重,在保证神经网络的计算性能的前提下,大大减小存储空间的消耗并降低计算复杂度。
技术领域
本发明涉及神经网络技术领域,特别是涉及神经网络权重离散化方法和系统。
背景技术
在过去的几年中,大数据集、不同的学习模型和GPU(General Purpose GraphicProcessing Units通用图形处理单元)使得深度神经网络在计算机视觉、语音识别、自然语言处理和人机围棋对弈等人工智能领域取得了一个又一个的成果。然而,在这些引人注目的成果的背后也付出了计算它们所需的极大的硬件资源开销、训练时间开销和功耗开销。因此,基于GPU的深度学习系统很难嵌入到便携设备中。而很多功耗效用较高的方案往往需要在性能上有较大的损失。因此,需要在性能和计算复杂度之间加以权衡。
传统的解决方案,包括剪枝和预训练神经网络,可以用于减少参数个数,从而减少在推理阶段的运算复杂度。设计紧凑的层或者稀疏连接也可以简化连接。也有一些其它的努力,包括量化参数,并将权重和激活函数的实数乘法运算通过整数移位替代,但都造成了一定程度的神经网络整体性能的下降。
另外,针对二进制深度神经网络的研究,对神经网络的性能和开销也进行了权衡,例如在进行前向和后向计算时,通过约束权重(以及激活函数)到二进制数值{-1,1},浮点数乘法和加法将被简化成一些简单的逻辑运算,例如同或逻辑以及比特计数。在很多数据集上已经实现了近似最佳的分类精度。然而,这些技术都不可避免的需要为梯度下降方法保存全精度权重,导致极大的内存开销和浮点运算,以及额外的外存访问功耗。另外,很多新型便携设备基于多值内存器件,支持存储多个状态值,使得二进制算法无法充分利用器件的能力。因此,如何高效地在多值离散权重空间进行深度神经网络训练,成为神经网络研究领域亟待解决的问题。
发明内容
基于此,有必要针对如何兼顾神经网络的性能和计算复杂度的问题,提供一种神经网络权重离散化方法和系统,所述方法包括:
获取权重取值范围和离散权重状态个数,所述权重取值范围是指由当前时间步最大权重值和当前时间步最小权重值组成的离散权重取值范围,所述离散权重状态个数是指离散权重的状态的个数;
获取上一个时间步权重状态和当前时间步权重增量;
根据所述当前时间步权重增量,利用方向函数,获取状态转移方向;
根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。
在其中一个实施例中,所述获取上一个时间步权重状态和当前时间步权重增量,包括:
随机初始化权重状态;
根据所述随机初始化权重状态和前向输出误差进行计算,确定上一个时间步权重状态;
根据所述上一个时间步权重状态利用梯度下降算法获取当前时间步权重增量。
在其中一个实施例中,在所述根据所述当前时间步权重增量,利用方向函数,获取状态转移方向的步骤之后,所述方法还包括:
根据所述当前时间步权重增量、所述权重取值范围和所述离散权重状态个数,利用分解函数计算所述当前时间步的权重增量的整步长;
根据所述整步长确定状态转移距离;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710530149.4/2.html,转载请声明来源钻瓜专利网。