CN108256632A - 信息处理方法和装置 - Google Patents
信息处理方法和装置 Download PDFInfo
- Publication number
- CN108256632A CN108256632A CN201810084096.2A CN201810084096A CN108256632A CN 108256632 A CN108256632 A CN 108256632A CN 201810084096 A CN201810084096 A CN 201810084096A CN 108256632 A CN108256632 A CN 108256632A
- Authority
- CN
- China
- Prior art keywords
- weight
- input value
- quantization
- value
- rounding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了信息处理方法和装置。该方法的一具体实施方式包括:获取目标卷积神经网络的目标卷积层的初始输入信息;对初始输入信息进行量化取整,得到整数输入值;将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息;其中,目标卷积层的权重为整数。该实施方式有助于提高信息处理的速度。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及神经网络技术领域,尤其涉及信息处理方法和装置。
背景技术
深度学习的概念源于人工神经网络的研究。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分。不同的学习框架下建立的学习模型很是不同。例如,卷积神经网络(Convolution NeuralNetwork,简称CNN)就是一种深度的监督学习下的机器学习模型;而深度置信网(DeepBelief Net,简称DBN)就是一种无监督学习下的机器学习模型。
发明内容
本申请实施例提出了信息处理方法和装置。
第一方面,本申请实施例提供了一种信息处理方法,包括:获取目标卷积神经网络的目标卷积层的初始输入信息;对初始输入信息进行量化取整,得到整数输入值;将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息;其中,目标卷积层的权重为整数。
在一些实施例中,目标卷积神经网络通过以下训练步骤得到:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据预置的量化比例,确定对输入值和权重的量化方式是否为多阶段量化;响应于确定对输入值和权重的量化方式是多阶段量化,根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合;从预置的量化比例中,获取当前阶段的量化比例;根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,第二权重集合中包括量化取整后的第一权重;执行以下确定步骤:将第二权重集合作为目标卷积层的权重,并确定当前阶段的总量化比例是否达到预设比例值;响应于确定当前阶段的总量化比例达到预设比例值,生成目标卷积神经网络。
在一些实施例中,目标卷积神经网络的训练步骤还包括:响应于确定当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;从预置的量化比例中,获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对第二输入值集合中未量化取整的第一输入值和第二权重集合中未量化取整的第一权重分别进行量化取整,并继续执行上述确定步骤。
在一些实施例中,根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,包括:根据当前阶段的量化比例,在第一输入值集合和第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整,其中,选取包括按照数值由大到小,从数值大的一端选取,或者按照量化误差由小到大,从误差小的一端选取。
在一些实施例中,目标卷积神经网络的训练步骤还包括:响应于确定对输入值和权重的量化方式不是多阶段量化,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间,其中,预设数目与量化编码的位数正相关;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合;对第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合;将第四输入值集合作为输入,将第四权重集合作为目标卷积层的权重,进行卷积运算;利用反向传播算法对初始权重进行修正,直至卷积神经网络满足预设条件,生成目标卷积神经网络。
在一些实施例中,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合,包括:将初始输入值的范围和初始权重的范围均放缩至预设范围内,其中,预设范围的边界值为整数;将预设范围均匀划分为预设数目个子区间;将预设范围内的各输入值作为第三输入值,生成第三输入值集合,并将预设范围内的各权重作为第三权重,生成第三权重集合。
在一些实施例中,对第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合,包括:根据预设量化方法,对第三输入值集合中的各第三输入值进行量化取整,并将量化取整后的第三输入值作为第四输入值,生成第四输入值集合;根据第三权重集合中的各第三权重的分布概率,对第三权重集合中的各第三权重进行上取整或下取整,并将取整后的第三权重作为第四权重,生成第四权重集合。
在一些实施例中,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合,包括:根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间;以第一数值为底数,计算各初始输入值的对数,将计算结果作为第三输入值,生成第三输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第三权重,生成第三权重集合。
在一些实施例中,对第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合,包括:对第三输入值集合中的各第三输入值进行量化取整,并以量化取整后的各第三输入值分别为指数,计算第一数值的指数幂,以作为第四输入值,生成第四输入值集合;根据各子区间的顺序,依次对各第三权重建立序号,生成查询表,并将各第三权重对应的序号作为第四权重,生成第四权重集合,其中,序号为整数,且查询表中序号与第三权重以键值对形式存储。
第二方面,本申请实施例提供了一种信息处理装置,包括:获取单元,配置用于获取目标卷积神经网络的目标卷积层的初始输入信息;量化单元,配置用于对初始输入信息进行量化取整,得到整数输入值;生成单元,配置用于将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息;其中,目标卷积层的权重为整数。
在一些实施例中,该装置还包括训练单元,其中,训练单元包括:获取子单元,配置用于获取卷积神经网络的目标卷积层的初始输入值和初始权重;确定子单元,配置用于根据预置的量化比例,确定对输入值和权重的量化方式是否为多阶段量化;第一响应子单元,配置用于响应于确定对输入值和权重的量化方式是多阶段量化,根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合;从预置的量化比例中,获取当前阶段的量化比例;根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,第二权重集合中包括量化取整后的第一权重;执行以下确定步骤:将第二权重集合作为目标卷积层的权重,并确定当前阶段的总量化比例是否达到预设比例值;响应于确定当前阶段的总量化比例达到预设比例值,生成目标卷积神经网络。
在一些实施例中,训练单元还配置用于:响应于确定当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;从预置的量化比例中,获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对第二输入值集合中未量化取整的第一输入值和第二权重集合中未量化取整的第一权重分别进行量化取整,并继续执行上述确定步骤。
在一些实施例中,第一响应子单元进一步配置用于:根据当前阶段的量化比例,在第一输入值集合和第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整,其中,选取包括按照数值由大到小,从数值大的一端选取,或者按照量化误差由小到大,从误差小的一端选取。
在一些实施例中,训练单元还包括第二响应子单元,配置用于:响应于确定对输入值和权重的量化方式不是多阶段量化,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间,其中,预设数目与量化编码的位数正相关;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合;对第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合;将第四输入值集合作为输入,将第四权重集合作为目标卷积层的权重,进行卷积运算;利用反向传播算法对初始权重进行修正,直至卷积神经网络满足预设条件,生成目标卷积神经网络。
在一些实施例中,第二响应子单元进一步配置用于:将初始输入值的范围和初始权重的范围均放缩至预设范围内,其中,预设范围的边界值为整数;将预设范围均匀划分为预设数目个子区间;将预设范围内的各输入值作为第三输入值,生成第三输入值集合,并将预设范围内的各权重作为第三权重,生成第三权重集合。
在一些实施例中,第二响应子单元进一步配置用于:根据预设量化方法,对第三输入值集合中的各第三输入值进行量化取整,并将量化取整后的第三输入值作为第四输入值,生成第四输入值集合;根据第三权重集合中的各第三权重的分布概率,对第三权重集合中的各第三权重进行上取整或下取整,并将取整后的第三权重作为第四权重,生成第四权重集合。
在一些实施例中,第二响应子单元还进一步配置用于:根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间;以第一数值为底数,计算各初始输入值的对数,将计算结果作为第三输入值,生成第三输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第三权重,生成第三权重集合。
在一些实施例中,第二响应子单元进一步配置用于:对第三输入值集合中的各第三输入值进行量化取整,并以量化取整后的各第三输入值分别为指数,计算第一数值的指数幂,以作为第四输入值,生成第四输入值集合;根据各子区间的顺序,依次对各第三权重建立序号,生成查询表,并将各第三权重对应的序号作为第四权重,生成第四权重集合,其中,序号为整数,且查询表中序号与第三权重以键值对形式存储。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一实施例所描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如上述第一方面中任一实施例所描述的方法。
本申请实施例提供的信息处理方法和装置,通过获取目标卷积神经网络的目标卷积层的初始输入信息,从而可以对初始输入信息中的浮点值进行量化取整,以得到整数输入值。接着,可以将整数输入值输入目标卷积层,以与目标卷积层的权重进行卷积运算,生成输出信息。其中,目标卷积层的权重为整数。这样可以有助于提高信息处理的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的信息处理方法的一个实施例的流程图;
图3是根据本申请的卷积神经网络的训练步骤的一个实施例的流程图;
图4是根据本申请的卷积神经网络的训练步骤的又一个实施例的流程图;
图5是根据本申请的信息处理装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的信息处理方法或信息处理装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端101、102、103,网络104和服务器105。网络104用以在终端101、102、103与服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端101、102、103可以通过网络104与服务器105进行交互,以接收或发送消息等。终端101、102、103上可以安装有各种客户端应用,例如网页浏览器、搜索类应用、购物类应用和即时通讯工具等。
终端101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端101、102、103上显示的各种应用提供支持的后台服务器。后台服务器可以对终端101、102、103发送的初始输入信息进行分析处理,从而得到整数输入值。然后,可以将整数输入值输入其上存储的目标卷积神经网络以进一步处理,并且可以将处理结果(例如生成的输出信息)发送给终端101、102、103。其中,目标卷积神经网络的目标卷积层的权重为整数。
需要说明的是,本申请实施例所提供的信息处理方法一般由服务器105执行,相应地,信息处理装置一般设置于服务器105中。
应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。
继续参考图2,其示出了根据本申请的信息处理方法的一个实施例的流程200。该信息处理方法可以包括以下步骤:
步骤201,获取目标卷积神经网络的目标卷积层的初始输入信息。
在本实施例中,信息处理方法运行于其上的电子设备(例如图1所示的服务器105)可以通过多种方法来获取目标卷积神经网络的目标卷积层的初始输入信息。例如通过有线连接方式或无线连接方式,从与其通信连接的终端(例如图1所示的终端101、102、103)、数据库服务器或者云服务器等,来获取上述初始输入信息。
在本实施例中,目标卷积神经网络可以是具有各种功能或用途的卷积神经网络,如可以用于人脸检测或人脸识别的卷积神经网络。其中,目标卷积神经网络的目标卷积层的权重可以为整数。卷积神经网络一般是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络通常可以包括卷积层(alternating convolution layer)、池层(pooling layer)和全连接层等。这里的目标卷积层可以是目标卷积神经网络中的任意卷积层。
需要说明的是,当某一卷积层的卷积核为1×1,说明该卷积层的输出与输入的大小相同。此时,为了避免将该卷积层的权重量化为整数而引入误差,所以可以不将该卷积层的权重量化为整数。也就是说,目标卷积层可以不包括卷积核为1×1的卷积层。
此外,初始输入信息可以是输入目标卷积层的任意输入信息。例如可以是描述人脸图像的输入信息;再例如可以是上一卷积层的输出信息等。初始输入信息中的输入值可以是整数值,也可以是浮点值。
可以理解的是,目标卷积神经网络的存储位置在本申请中并不限制。例如可以存储在电子设备本地,也可以存储在数据库服务器或云服务器上。此外,本实施例中的目标卷积神经网络可以通过多种训练方法来得到,具体可以参见图3和图4,其分别示出了卷积神经网络的训练步骤的两个实施例,此处不再赘述。
步骤202,对初始输入信息进行量化取整,得到整数输入值。
在本实施例中,对于步骤201中获取的初始输入信息,电子设备可以采用各种方法,来对其进行量化取整,从而得到整数输入值。
在本实施例的一些可选地实现方式中,首先,电子设备可以遍历初始输入信息,从而确定其中非整数的输入值;然后,电子设备可以根据预设量化方法,对确定出的非整数的输入值进行量化取整。在这里,预设量化方法可以根据实际情况进行设置,如可以采用四舍五入的方法。
可选地,还可以采用图4实施例中对初始输入值进行量化取整的方法,来对初始输入信息量化取整,此处不再赘述。
步骤203,将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息。
在本实施例中,电子设备可以将步骤202中得到的整数输入值,输入目标卷积神经网络的目标卷积层中,以将整数输入值与目标卷积层的整数权重进行卷积运算,从而可以生成目标卷积神经网络的输出信息。
本实施例提供的信息处理方法,通过获取目标卷积神经网络的目标卷积层的初始输入信息,从而可以对初始输入信息中的浮点值进行量化取整,以得到整数输入值。接着,可以将整数输入值输入目标卷积层,以与目标卷积层的权重进行卷积运算,生成输出信息。其中,目标卷积层的权重为整数。这样可以实现整数与整数间的运算,有助于提高信息处理的效率。
进一步参见图3,其示出了根据本申请的卷积神经网络的训练步骤的一个实施例的流程300。该训练步骤可以包括以下步骤:
步骤301,获取卷积神经网络的目标卷积层的初始输入值和初始权重。
在本实施例中,信息处理方法运行于其上的电子设备(例如图1所示的服务器105)同样可以通过多种方法来获取卷积神经网络的目标卷积层的初始输入值和初始权重。例如,电子设备可以从本地获取,或者可以通过有线连接方式或无线连接方式,从终端(例如图1所示的终端101、102、103)、云服务器等来获取。
步骤302,根据预置的量化比例,确定对输入值和权重的量化方式是否为多阶段量化。
在本实施例中,电子设备可以根据预置的量化比例,来确定对输入值和权重的量化方式是否为多阶段量化。例如,若预置的量化比例中存在至少两个比例系数(如50%、70%和100%,或者50%、20%和30%),则电子设备可以确定量化方式为多阶段量化。即第一阶段量化至50%(即量化50%);第二阶段量化至70%(即在第一阶段的基础上再量化20%);第三阶段量化至100%(即在第二阶段的基础上再量化30%)。
再例如,电子设备可以确定预置的量化比例的初始值(第一个值)是否为预设比例值(如100%或0)。若是预设比例值,则电子设备可以确定量化方式不是多阶段量化;若不是预设比例值,则电子设备可以确定量化方式为多阶段量化。可以理解的是,在多阶段量化的过程中,预置的量化比例的初始值通常会位于0与100%之间。
需要说明的是,对预置的量化比例的初始值的识别方法在本申请中并不限制。例如可以对初始值增加标识,进而通过标识确定初始值;再例如对各比例系数增加序号,从而通过序号确定初始值。
在本实施例中,若电子设备确定量化方式为多阶段量化,则可以继续执行步骤303-步骤310;若电子设备确定量化方式不是多阶段量化,则可以执行图4实施例中的训练步骤。这里的预置的量化比例可以是预先存储在电子设备中的,也可以是从云服务器等其他设备获取的,还可以是用户通过终端发送的。
步骤303,响应于确定对输入值和权重的量化方式是多阶段量化,根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合。
在本实施例中,电子设备在确定量化方式为多阶段量化后,可以根据步骤301中获取的初始输入值和初始权重,分别生成第一输入值集合和第一权重集合。
在本实施例的一些可选地实现方式中,电子设备可以将各初始输入值作为第一输入值,从而生成第一输入值集合。同时,可以将各初始权重作为第一权重,从而生成第一权重集合。
可选地,电子设备还可以将初始权重的范围划分为一定数目个子区间;然后,根据每个子区间中的初始权重,可以确定区间权重,以作为第一权重,从而生成第一权重集合。其中,划分方法可以包括随机、等间隔或不等间隔划分中的至少一种。这里的一定数目可以根据实际情况进行设置。
作为示例,本实施例中生成第一输入值集合和第一权重集合的方法,还可以参见图4实施例中生成第三输入值集合和第三权重集合的相关描述,此处不再赘述。
步骤304,从预置的量化比例中,获取当前阶段的量化比例。
在本实施例中,电子设备可以从预置的量化比例中,获取当前阶段的量化比例。例如,若预置的量化比例中存在多个比例系数,则电子设备可以根据当前的量化进度,从中选取对应的比例系数,以作为当前阶段的量化比例。若预置的量化比例中仅有一个比例系数,该比例系数会根据量化进度进行更新,则电子设备可以将其作为当前阶段的量化比例。
步骤305,根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合。
在本实施例中,电子设备可以按照步骤304中获取的当前阶段的量化比例,在第一输入值集合和第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整。从而可以分别生成第二输入值集合和第二权重集合。并继续执行步骤306-步骤307的确定步骤。其中,选取可以是随机选取;也可以是按照数值由大到小,从数值大的一端选取;或者按照量化误差由小到大,从误差小的一端选取。
在本实施例中,第二输入值集合中可以包括量化取整后的第一输入值。第二权重集合中可以包括量化取整后的第一权重。需要说明的是,在第一输入值集合中的各第一输入值未被全部量化之前,第二输入值集合中还可以包括未量化的第一输入值。且在第一权重集合中的各第一权重未被全部量化之前,第二权重集合中还可以包括未量化的第一权重。
步骤306,将第二权重集合作为目标卷积层的权重,并确定当前阶段的总量化比例是否达到预设比例值。
在本实施例中,电子设备可以执行以下确定步骤:可以将步骤305中生成的第二权重集合中的各权重,作为卷积神经网络的目标卷积层的权重。并且可以确定当前阶段的总量化比例是否达到预设比例值(如100%)。若当前阶段的总量化比例达到预设比例值,则可以继续执行步骤307;若当前阶段的总量化比例未达到预设比例值,则可以执行步骤308。可以理解的是,当前阶段的总量化比例可以是指到当前阶段为止已被量化的第一权重在第二权重集合中的比例。
步骤307,响应于确定当前阶段的总量化比例达到预设比例值,生成目标卷积神经网络。
在本实施例中,若在步骤306中确定当前阶段的总量化比例达到预设比例值,说明量化过程已完成。则电子设备可以将目标卷积层的权重已为第二权重集合的卷积神经网络,作为目标卷积神经网络。可以理解的是,在目标卷积神经网络的生成过程中,上述预设比例值通常可以是一恒定值。
步骤308,响应于确定当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值。
在本实施例中,若在步骤306中确定当前阶段的总量化比例未达到预设比例值,说明量化过程还未完成。则电子设备可以根据损失函数对当前阶段的卷积神经网络进行训练,以调整第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值。其中,目标值可以根据实际情况来设置。也就是说,在多阶段量化的过程中,第一权重被量化一次后可以保持不变。
需要说明的是,除了采用损失函数外,也可以采用其他训练方法,以使当前阶段(即当前阶段的量化比例下)的卷积神经网络稳定或收敛。
步骤309,从预置的量化比例中,获取下一阶段的量化比例作为当前阶段的量化比例。
在本实施例中,在步骤308中的当前阶段的卷积神经网络训练收敛后,电子设备可以从预置的量化比例中,获取下一阶段的量化比例作为当前阶段的量化比例,以进行下一阶段的量化过程。
步骤310,根据当前阶段的量化比例,对第二输入值集合中未量化取整的第一输入值和第二权重集合中未量化取整的第一权重分别进行量化取整,并继续执行上述确定步骤。
在本实施例中,电子设备可以根据步骤309中的当前阶段的量化比例,从第二输入值集合中未量化取整的各第一输入值中选取相应数量的第一输入值进行量化取整,并更新第二输入值集合。同时,从第二权重集合中未量化取整的各第一权重中选取相应数量的第一权重进行量化取整,并更新第二权重集合。这里的选取方法可以与上述选取方法相同。之后,可以继续执行上述确定步骤。
可以理解的是,为了提高生成目标卷积神经网络的效率,在本实施例中可以仅对目标卷积层的权重进行多阶段量化,而对于目标卷积层的初始输入值可以将其全部量化取整,以生成第二输入值集合。此时的第二输入值集合中不存在未量化取整的第一输入值。这样,在后面的各量化阶段中,可以不需要再对第二输入值集合进行处理和更新,从而简化了处理过程。同时,由于在各量化阶段中,目标卷积层的输入值(即第二输入值集合)保持不变,所以有助于保证生成的目标卷积神经网络的目标卷积层的权重的精度。
本实施例中的卷积神经网络的训练步骤,可以实现卷积神经网络的多阶段量化。这样,对于不同的量化阶段(量化比例),可以调整卷积神经网络的处理精度,从而有利于提高训练的灵活性。同时,在多阶段量化的过程中,可以便于问题的发现和解决。
继续参见图4,其示出了根据本申请的卷积神经网络的训练步骤的又一个实施例的流程400。该训练步骤可以包括以下步骤:
步骤401,响应于确定对输入值和权重的量化方式不是多阶段量化,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间。
在本实施例中,信息处理方法运行于其上的电子设备(例如图1所示的服务器105),若在图3实施例的步骤302中确定量化方式不是多阶段量化,则可以根据量化编码的位数,将步骤301中获取的初始输入值的范围和初始权重的范围,分别划分为预设数目个子区间。这里量化编码的位数可以是电子设备记载、传输信息所用的编码的位数,如二进制编码的位数、十进制编码的位数等。其中,上述预设数目可以与量化编码的位数正相关。
在本实施例的一些可选地实现方式中,电子设备可以采集均匀量化方法。即电子设备首先可以将初始输入值的范围和初始权重的范围均放缩至预设范围内。其中,预设范围的边界值为整数。然后,可以将预设范围均匀划分为预设数目个子区间。
例如量化编码的位数可以为8,即二进制编码的位数为8。若初始权重的范围为[a,b],首先可以将该范围归一到[0,1];然后再放缩至[0,28]范围内;接着可以将[0,28]的权重范围均匀划分为256个子区间,区间长度为1。或者,可以先将归一后的[0,1]的权重范围均匀划分为256个子区间,区间长度为1/256;之后可以再放缩至[0,28]范围内,此时各子区间的边界值即为整数,即[0,1]、[1,2]、[2,3]等。
可选地,电子设备还可以采用对数量化方法。即电子设备可以根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间。其中,第一数值可以是1以外的任意正整数。例如量化编码的位数同样可以为8,且初始权重的范围为[a,b]。若第一数值为r,则可以将该范围划分为区间长度分别为(b-a)/r、(b-a)/r2、(b-a)/r3···(b-a)/r256的256个子区间。
步骤402,根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合。
在本实施例中,电子设备可以根据位于步骤401中所划分的预设数目个子区间的各输入值和权重,分别生成第三输入值和第三权重。
在本实施例的一些可选地实现方式中,对于均匀量化方法,电子设备可以将预设范围(如[0,28],也就是[0,1]至[255,256]各子区间)内的各输入值作为第三输入值,从而生成第三输入值集合。并且可以将预设范围内的各权重作为第三权重,从而生成第三权重集合。
此外,作为示例,电子设备还可以根据位于各子区间的各权重,来确定区间权重,以作为第三权重,从而生成第三权重集合。如可以将位于子区间的各权重的统计平均值或中值确定为区间权重。
可选地,对于对数量化方法,电子设备可以以第一数值(如r)为底数,计算各初始输入值(如x)的对数,并将计算结果(如logr x)作为第三输入值,从而生成第三输入值集合。同时,根据位于各子区间的各初始权重,电子设备可以确定区间权重,以作为第三权重,从而生成第三权重集合。作为示例,电子设备可以将位于子区间的各初始权重的统计平均值或中值确定为区间权重。
步骤403,对第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合。
在本实施例中,电子设备可以对第三输入值集合中的各第三输入值进行量化取整,以生成第四输入值集合。并且可以对第三权重集合中的各第三权重进行量化取整,以生成第四权重集合。在这里,量化取整的方法在本申请中并不限制。
在本实施例的一些可选地实现方式中,对于步骤402中通过均匀量化方法得到的第三输入值集合,电子设备可以根据预设量化方法,对该第三输入值集合中的各第三输入值进行量化取整。并可以将量化取整后的第三输入值作为第四输入值,从而生成第四输入值集合。其中,预设量化方法可以根据实际情况进行设置,如可以采用四舍五入的方法。
同时,对于步骤402中通过均匀量化方法得到的第三权重集合,电子设备可以根据该第三权重集合中的各第三权重的分布概率,对各第三权重进行随机化处理(上取整或下取整)。并可以将取整后的第三权重作为第四权重,从而生成第四权重集合。例如,对于[0,1]子区间内的各第三权重,若至少一半的第三权重均分布在[0.5,1]之间,则可以对该子区间内的各第三权重进行上取整,即全部量化取整为1。这样有助于降低量化误差。
需要说明的是,随机化取整处理方式有很多种,在本申请中并不限制。再例如,还可以预设概率阈值(如0.7)。这样,对于[0,1]子区间内的各第三权重,若第三权重大于或等于0.5,则电子设备可以以预设概率阈值的概率采取上取整。也就是说,对于大于或等于0.5的第三权重,上取整的概率为预设概率阈值。若第三权重小于0.5,则电子设备可以以预设概率阈值的概率采取下取整。也就是说,对于小于0.5的第三权重,下取整的概率为预设概率阈值。同样可以有助于降低量化误差。
可以理解的是,采用均匀量化方法,可以使量化后的权重分布更加均匀。同时,采用随机化取整处理,可以平衡由于精度损失导致整体参数的分布空间的缩小,从而可以提高参数的分布空间。此外,对于生成的第四输入值集合和第四权重集合,电子设备还可以将其由预设范围放缩回至原范围(即初始输入值的范围和初始权重的范围)。
可选地,对于步骤402中通过对数量化方法得到的第三输入值集合,电子设备可以对该第三输入值集合中的各第三输入值进行量化取整,即round(logr x)。并且可以以量化取整后的各第三输入值分别为指数,计算第一数值的指数幂,即ry(y=round(logr x)),以作为第四输入值,从而生成第四输入值集合。这里量化取整的方法在本申请中并不限制,如可以是上述预设量化方法。
同时,对于步骤402中通过对数量化方法得到的第三权重集合,电子设备可以根据各子区间的顺序,依次对各第三权重建立序号,生成查询表。并可以将各第三权重对应的序号作为第四权重,生成第四权重集合。其中,序号为整数,且查询表中序号与第三权重可以以键值对形式存储。例如,根据数值大小,由于[a,(b-a)/r]为第一个子区间,所以位于该子区间内的第三权重对应的序号可以为1。而位于其他子区间的第三权重对应的序号可以依次为2、3、4等等。也就是说,通过整数序号来代替权重,这样可以减少卷积神经网络所需占用的存储空间。同时又可以避免对权重进行实际的量化取整处理,以简化处理过程,提高运算效率。而且可以避免因量化取整处理引入误差。
可以理解的是,在一些应用场景中,同样可以将输入值存储在上述查询表中。也就是说,查询表可以覆盖目标卷积层的权重和输入值的范围。具体地,电子设备可以根据各子区间的顺序,依次对各第三输入值建立输入值序号。并且将输入值序号与第三输入值以键值对形式存储在上述查询表中。此时,同样可以将输入值序号作为第四输入值,生成第四输入值集合。其中,输入值序号为整数。
需要说明的是,若第三输入值集合中的第三输入值为logr x,则电子设备可以将输入值序号与第一数值的指数幂以键值对形式存储在上述查询表中。这里的第一数值的指数幂可以是上述的ry(y=round(logr x))。在这里,输入值序号与第三输入值可以是一一对应关系,也可以是一对多的关系,如同一输入值序号可以与位于同一子区间内的各第三输入值对应。
步骤404,将第四输入值集合作为输入,将第四权重集合作为目标卷积层的权重,进行卷积运算。
在本实施例中,电子设备可以将步骤403中得到的第四权重集合作为目标卷积层的权重,并且可以将步骤403中得到的第四输入值集合输入目标卷积层,从而可以与目标卷积层的权重进行卷积运算。
需要说明的是,对于对数量化方法,电子设备可以根据第四权重集合中的各第四权重(即序号),在生成的查询表中查找到对应的第三权重,从而进行卷积运算。同样,若第四输入值集合中的第四输入值也为序号(即输入值序号),电子设备可以根据第四输入值集合中的各第四输入值,在上述查询表中查找到对应的输入值,即第三输入值或者第一数值的指数幂。
步骤405,利用反向传播算法对初始权重进行修正,直至卷积神经网络满足预设条件,生成目标卷积神经网络。
在本实施例中,由于卷积神经网络通常需要进行多次训练调整才能达到目标要求,所以电子设备可以利用反向传播算法对图3实施例中的步骤301中获取的初始权重进行修正。对于修正后初始权重,电子设备可以继续从步骤401开始执行,从而更新第四权重集合,直至卷积神经网络满足预设条件。此时,电子设备可以将目标卷积层的权重为最新第四权重集合的卷积神经网络,作为目标卷积神经网络。
需要说明的是,对于对数量化方法,第四权重集合中的第四权重(即序号)可以不变。而是可以根据各子区间的顺序,更新查询表中各序号对应的第三权重。上述预设条件同样可以根据实际情况来设置,如量化后目标卷积层的输出结果与原(未量化)输出结果的误差在一定误差范围内。
本实施例中的卷积神经网络的训练步骤,对于非多阶段量化,还可以采用均匀量化和对数量化等方法,有助于提高训练效率。此外,可以丰富生成目标卷积神经网络的方法,在可以提高生成过程的灵活性的同时,有助于扩大目标卷积神经网络的适用范围。
可以理解的是,通过上述方法得到的目标卷积神经网络,可以实现将浮点数运算转换为定点数运算,这样可以减少内存空间的占用,同时有助于提高运算速度。且通过实验可知,对于通用CPU(Central Processing Unit,中央处理器),其处理速度可以提升至原来的大致两倍。对于FPGA(Field-Programmable Gate Array,现场可编程门阵列),其处理速度基本上可以与图形处理器(Graphics Processing Unit,GPU)同步。而且可以使能耗减小。
此外,为了使量化后的权重的分布更加均匀,对于上述各实施例中的训练步骤,电子设备在对权重进行量化处理之前,可以先统计其分布信息,从而剔除那些离群点,或缩放那些离群点的权重值。这里的离群点如可以是权重值按照由大到小排列在大的一端的一定比例(如前5%)的权重。此处理过程可以包含在每次迭代训练中,也可以每间隔一定迭代训练次数之后再进行。
请参见图5,作为对上述各图所示方法的实现,本申请提供了一种信息处理装置的一个实施例。该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的信息处理装置500可以包括:获取单元501,配置用于获取目标卷积神经网络的目标卷积层的初始输入信息;量化单元502,配置用于对初始输入信息进行量化取整,得到整数输入值;生成单元503,配置用于将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息;其中,目标卷积层的权重为整数。
在本实施例中,获取单元501、量化单元502和生成单元503的具体实现方式及产生的有益效果,可以分别参见图2所示实施例中的步骤201、步骤202和步骤203的相关描述,此处不再赘述。
在本实施例的一些可选的实现方式中,该装置500还可以包括训练单元(图中未示出),其中,训练单元可以包括:获取子单元,配置用于获取卷积神经网络的目标卷积层的初始输入值和初始权重;确定子单元,配置用于根据预置的量化比例,确定对输入值和权重的量化方式是否为多阶段量化;第一响应子单元,配置用于响应于确定对输入值和权重的量化方式是多阶段量化,根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合;从预置的量化比例中,获取当前阶段的量化比例;根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,第二权重集合中包括量化取整后的第一权重;执行以下确定步骤:将第二权重集合作为目标卷积层的权重,并确定当前阶段的总量化比例是否达到预设比例值;响应于确定当前阶段的总量化比例达到预设比例值,生成目标卷积神经网络。
可选地,训练单元还配置用于:响应于确定当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;从预置的量化比例中,获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对第二输入值集合中未量化取整的第一输入值和第二权重集合中未量化取整的第一权重分别进行量化取整,并继续执行上述确定步骤。
进一步地,第一响应子单元可以进一步配置用于:根据当前阶段的量化比例,在第一输入值集合和第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整,其中,选取包括按照数值由大到小,从数值大的一端选取,或者按照量化误差由小到大,从误差小的一端选取。
在一些实施例中,训练单元还可以包括第二响应子单元,配置用于:响应于确定对输入值和权重的量化方式不是多阶段量化,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间,其中,预设数目与量化编码的位数正相关;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合;对第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合;将第四输入值集合作为输入,将第四权重集合作为目标卷积层的权重,进行卷积运算;利用反向传播算法对初始权重进行修正,直至卷积神经网络满足预设条件,生成目标卷积神经网络。
可选地,第二响应子单元可以进一步配置用于:将初始输入值的范围和初始权重的范围均放缩至预设范围内,其中,预设范围的边界值为整数;将预设范围均匀划分为预设数目个子区间;将预设范围内的各输入值作为第三输入值,生成第三输入值集合,并将预设范围内的各权重作为第三权重,生成第三权重集合。
作为示例,第二响应子单元可以进一步配置用于:根据预设量化方法,对第三输入值集合中的各第三输入值进行量化取整,并将量化取整后的第三输入值作为第四输入值,生成第四输入值集合;根据第三权重集合中的各第三权重的分布概率,对第三权重集合中的各第三权重进行上取整或下取整,并将取整后的第三权重作为第四权重,生成第四权重集合。
此外,第二响应子单元还可以进一步配置用于:根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间;以第一数值为底数,计算各初始输入值的对数,将计算结果作为第三输入值,生成第三输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第三权重,生成第三权重集合。
在一些应用场景中,第二响应子单元可以进一步配置用于:对第三输入值集合中的各第三输入值进行量化取整,并以量化取整后的各第三输入值分别为指数,计算第一数值的指数幂,以作为第四输入值,生成第四输入值集合;根据各子区间的顺序,依次对各第三权重建立序号,生成查询表,并将各第三权重对应的序号作为第四权重,生成第四权重集合,其中,序号为整数,且查询表中序号与第三权重以键值对形式存储。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括触摸屏、键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、量化单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取目标卷积神经网络的目标卷积层的初始输入信息的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取目标卷积神经网络的目标卷积层的初始输入信息;对初始输入信息进行量化取整,得到整数输入值;将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息;其中,目标卷积层的权重为整数。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (20)
1.一种信息处理方法,包括:
获取目标卷积神经网络的目标卷积层的初始输入信息;
对所述初始输入信息进行量化取整,得到整数输入值;
将所述整数输入值输入所述目标卷积层,并与所述目标卷积层的权重进行卷积运算,生成输出信息;
其中,所述目标卷积层的权重为整数。
2.根据权利要求1所述的方法,其中,所述目标卷积神经网络通过以下训练步骤得到:
获取卷积神经网络的目标卷积层的初始输入值和初始权重;
根据预置的量化比例,确定对输入值和权重的量化方式是否为多阶段量化;
响应于确定对输入值和权重的量化方式是多阶段量化,根据所述初始输入值和所述初始权重,分别生成第一输入值集合和第一权重集合;从所述预置的量化比例中,获取当前阶段的量化比例;根据当前阶段的量化比例,对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,所述第二权重集合中包括量化取整后的第一权重;执行以下确定步骤:将所述第二权重集合作为所述目标卷积层的权重,并确定当前阶段的总量化比例是否达到预设比例值;响应于确定当前阶段的总量化比例达到预设比例值,生成目标卷积神经网络。
3.根据权利要求2所述的方法,其中,所述目标卷积神经网络的训练步骤还包括:
响应于确定当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整所述第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;从所述预置的量化比例中,获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对所述第二输入值集合中未量化取整的第一输入值和所述第二权重集合中未量化取整的第一权重分别进行量化取整,并继续执行所述确定步骤。
4.根据权利要求2所述的方法,其中,所述根据当前阶段的量化比例,对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,包括:
根据当前阶段的量化比例,在所述第一输入值集合和所述第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整,其中,所述选取包括按照数值由大到小,从数值大的一端选取,或者按照量化误差由小到大,从误差小的一端选取。
5.根据权利要求2所述的方法,其中,所述目标卷积神经网络的训练步骤还包括:
响应于确定对输入值和权重的量化方式不是多阶段量化,根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间,其中,所述预设数目与所述量化编码的位数正相关;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合;对所述第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合;将所述第四输入值集合作为输入,将所述第四权重集合作为所述目标卷积层的权重,进行卷积运算;利用反向传播算法对所述初始权重进行修正,直至卷积神经网络满足预设条件,生成目标卷积神经网络。
6.根据权利要求5所述的方法,其中,所述根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合,包括:
将所述初始输入值的范围和所述初始权重的范围均放缩至预设范围内,其中,所述预设范围的边界值为整数;
将预设范围均匀划分为预设数目个子区间;
将预设范围内的各输入值作为第三输入值,生成第三输入值集合,并将预设范围内的各权重作为第三权重,生成第三权重集合。
7.根据权利要求6所述的方法,其中,所述对所述第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合,包括:
根据预设量化方法,对所述第三输入值集合中的各第三输入值进行量化取整,并将量化取整后的第三输入值作为第四输入值,生成第四输入值集合;
根据所述第三权重集合中的各第三权重的分布概率,对所述第三权重集合中的各第三权重进行上取整或下取整,并将取整后的第三权重作为第四权重,生成第四权重集合。
8.根据权利要求5所述的方法,其中,所述根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合,包括:
根据预设的第一数值,将所述初始输入值的范围和所述初始权重的范围划分为预设数目个区间长度不同的子区间;
以所述第一数值为底数,计算各初始输入值的对数,将计算结果作为第三输入值,生成第三输入值集合;
根据位于各子区间的各初始权重,确定区间权重,以作为第三权重,生成第三权重集合。
9.根据权利要求8所述的方法,其中,所述对所述第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合,包括:
对所述第三输入值集合中的各第三输入值进行量化取整,并以量化取整后的各第三输入值分别为指数,计算所述第一数值的指数幂,以作为第四输入值,生成第四输入值集合;
根据各子区间的顺序,依次对各第三权重建立序号,生成查询表,并将各第三权重对应的序号作为第四权重,生成第四权重集合,其中,所述序号为整数,且所述查询表中序号与第三权重以键值对形式存储。
10.一种信息处理装置,包括:
获取单元,配置用于获取目标卷积神经网络的目标卷积层的初始输入信息;
量化单元,配置用于对所述初始输入信息进行量化取整,得到整数输入值;
生成单元,配置用于将所述整数输入值输入所述目标卷积层,并与所述目标卷积层的权重进行卷积运算,生成输出信息;
其中,所述目标卷积层的权重为整数。
11.根据权利要求10所述的装置,其中,所述装置还包括训练单元,其中,所述训练单元包括:
获取子单元,配置用于获取卷积神经网络的目标卷积层的初始输入值和初始权重;
确定子单元,配置用于根据预置的量化比例,确定对输入值和权重的量化方式是否为多阶段量化;
第一响应子单元,配置用于响应于确定对输入值和权重的量化方式是多阶段量化,根据所述初始输入值和所述初始权重,分别生成第一输入值集合和第一权重集合;从所述预置的量化比例中,获取当前阶段的量化比例;根据当前阶段的量化比例,对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,所述第二权重集合中包括量化取整后的第一权重;执行以下确定步骤:将所述第二权重集合作为所述目标卷积层的权重,并确定当前阶段的总量化比例是否达到预设比例值;响应于确定当前阶段的总量化比例达到预设比例值,生成目标卷积神经网络。
12.根据权利要求11所述的装置,其中,所述训练单元还配置用于:
响应于确定当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整所述第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;从所述预置的量化比例中,获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对所述第二输入值集合中未量化取整的第一输入值和所述第二权重集合中未量化取整的第一权重分别进行量化取整,并继续执行所述确定步骤。
13.根据权利要求11所述的装置,其中,所述第一响应子单元进一步配置用于:
根据当前阶段的量化比例,在所述第一输入值集合和所述第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整,其中,所述选取包括按照数值由大到小,从数值大的一端选取,或者按照量化误差由小到大,从误差小的一端选取。
14.根据权利要求11所述的装置,其中,所述训练单元还包括第二响应子单元,配置用于:
响应于确定对输入值和权重的量化方式不是多阶段量化,根据量化编码的位数,根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间,其中,所述预设数目与所述量化编码的位数正相关;根据位于预设数目个子区间中的各初始输入值和各初始权重,分别生成第三输入值集合和第三权重集合;对所述第三输入值集合中的各第三输入值和第三权重集合中的各第三权重分别进行量化取整,生成第四输入值集合和第四权重集合;将所述第四输入值集合作为输入,将所述第四权重集合作为所述目标卷积层的权重,进行卷积运算;利用反向传播算法对所述初始权重进行修正,直至卷积神经网络满足预设条件,生成目标卷积神经网络。
15.根据权利要求14所述的装置,其中,所述第二响应子单元进一步配置用于:
将所述初始输入值的范围和所述初始权重的范围均放缩至预设范围内,其中,所述预设范围的边界值为整数;
将预设范围均匀划分为预设数目个子区间;
将预设范围内的各输入值作为第三输入值,生成第三输入值集合,并将预设范围内的各权重作为第三权重,生成第三权重集合。
16.根据权利要求15所述的装置,其中,所述第二响应子单元进一步配置用于:
根据预设量化方法,对所述第三输入值集合中的各第三输入值进行量化取整,并将量化取整后的第三输入值作为第四输入值,生成第四输入值集合;
根据所述第三权重集合中的各第三权重的分布概率,对所述第三权重集合中的各第三权重进行上取整或下取整,并将取整后的第三权重作为第四权重,生成第四权重集合。
17.根据权利要求14所述的装置,其中,所述第二响应子单元还进一步配置用于:
根据预设的第一数值,将所述初始输入值的范围和所述初始权重的范围划分为预设数目个区间长度不同的子区间;
以所述第一数值为底数,计算各初始输入值的对数,将计算结果作为第三输入值,生成第三输入值集合;
根据位于各子区间的各初始权重,确定区间权重,以作为第三权重,生成第三权重集合。
18.根据权利要求17所述的装置,其中,所述第二响应子单元进一步配置用于:
对所述第三输入值集合中的各第三输入值进行量化取整,并以量化取整后的各第三输入值分别为指数,计算所述第一数值的指数幂,以作为第四输入值,生成第四输入值集合;
根据各子区间的顺序,依次对各第三权重建立序号,生成查询表,并将各第三权重对应的序号作为第四权重,生成第四权重集合,其中,所述序号为整数,且所述查询表中序号与第三权重以键值对形式存储。
19.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810084096.2A CN108256632A (zh) | 2018-01-29 | 2018-01-29 | 信息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810084096.2A CN108256632A (zh) | 2018-01-29 | 2018-01-29 | 信息处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108256632A true CN108256632A (zh) | 2018-07-06 |
Family
ID=62743174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810084096.2A Pending CN108256632A (zh) | 2018-01-29 | 2018-01-29 | 信息处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108256632A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175641A (zh) * | 2019-05-22 | 2019-08-27 | 中国科学院苏州纳米技术与纳米仿生研究所 | 图像识别方法、装置、设备和存储介质 |
WO2020057000A1 (zh) * | 2018-09-19 | 2020-03-26 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
WO2021077283A1 (zh) * | 2019-10-22 | 2021-04-29 | 深圳鲲云信息科技有限公司 | 神经网络计算压缩方法、系统及存储介质 |
WO2023208091A1 (zh) * | 2022-04-29 | 2023-11-02 | 上海微电子装备(集团)股份有限公司 | 检测配方设置与优化方法、装置、电子设备和存储介质 |
-
2018
- 2018-01-29 CN CN201810084096.2A patent/CN108256632A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020057000A1 (zh) * | 2018-09-19 | 2020-03-26 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
CN110175641A (zh) * | 2019-05-22 | 2019-08-27 | 中国科学院苏州纳米技术与纳米仿生研究所 | 图像识别方法、装置、设备和存储介质 |
WO2021077283A1 (zh) * | 2019-10-22 | 2021-04-29 | 深圳鲲云信息科技有限公司 | 神经网络计算压缩方法、系统及存储介质 |
WO2023208091A1 (zh) * | 2022-04-29 | 2023-11-02 | 上海微电子装备(集团)股份有限公司 | 检测配方设置与优化方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108288089A (zh) | 用于生成卷积神经网络的方法和装置 | |
CN108229663A (zh) | 用于生成卷积神经网络的方法和装置 | |
CN108256632A (zh) | 信息处理方法和装置 | |
CN110766142A (zh) | 模型生成方法和装置 | |
CN110929869B (zh) | 序列数据处理方法、装置、设备及存储介质 | |
CN108304919A (zh) | 用于生成卷积神经网络的方法和装置 | |
WO2019155064A1 (en) | Data compression using jointly trained encoder, decoder, and prior neural networks | |
CN110852438A (zh) | 模型生成方法和装置 | |
CN108334945B (zh) | 深度神经网络的加速与压缩方法及装置 | |
CN108090218B (zh) | 基于深度强化学习的对话系统生成方法和装置 | |
WO2020026741A1 (ja) | 情報処理方法、情報処理装置及び情報処理プログラム | |
CN112434188B (zh) | 一种异构数据库的数据集成方法、装置及存储介质 | |
CN109388779A (zh) | 一种神经网络权重量化方法和神经网络权重量化装置 | |
CN113792880B (zh) | 基于脉冲的量子门实现方法及装置、电子设备和介质 | |
CN112768056A (zh) | 基于联合学习框架的疾病预测模型建立方法和装置 | |
CN106776925A (zh) | 一种移动终端用户性别的预测方法、服务器和系统 | |
CN112116104A (zh) | 自动集成机器学习的方法、装置、介质及电子设备 | |
CN116684330A (zh) | 基于人工智能的流量预测方法、装置、设备及存储介质 | |
CN110222816B (zh) | 深度学习模型的建立方法、图像处理方法及装置 | |
CN114186479A (zh) | 冲压工艺参数处理方法、装置、电子设备及存储介质 | |
CN116861259B (zh) | 奖励模型的训练方法和装置、存储介质及电子设备 | |
CN110489435B (zh) | 基于人工智能的数据处理方法、装置、及电子设备 | |
CN110046670B (zh) | 特征向量降维方法和装置 | |
CN115293056B (zh) | 一种面向Modelica模型的多目标优化方法 | |
CN113762687B (zh) | 一种仓库内的人员排班调度方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |