CN111079890A - 一种数据处理方法及装置、计算机可读存储介质 - Google Patents

一种数据处理方法及装置、计算机可读存储介质 Download PDF

Info

Publication number
CN111079890A
CN111079890A CN201811223953.9A CN201811223953A CN111079890A CN 111079890 A CN111079890 A CN 111079890A CN 201811223953 A CN201811223953 A CN 201811223953A CN 111079890 A CN111079890 A CN 111079890A
Authority
CN
China
Prior art keywords
processing result
weight
weights
dimension
result
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
Application number
CN201811223953.9A
Other languages
English (en)
Inventor
余金清
梁敏超
闫盛男
刘杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811223953.9A priority Critical patent/CN111079890A/zh
Priority to EP19873082.2A priority patent/EP3869410A4/en
Priority to US17/286,545 priority patent/US20210390398A1/en
Priority to PCT/CN2019/108580 priority patent/WO2020078200A1/zh
Priority to JP2021521345A priority patent/JP7444870B2/ja
Publication of CN111079890A publication Critical patent/CN111079890A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2137Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/24765Rule-based classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Neurology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据处理的方法及装置、计算机可读存储介质,该方法包括:获取至少一类权重及各类权重对应的特征数据;根据所述至少一类权重,获取各类权重对应的分类特征;根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果;根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果。

Description

一种数据处理方法及装置、计算机可读存储介质
技术领域
本发明涉及人工智能神经网络技术领域,尤其涉及一种数据处理方法及装置、计算机可读存储介质。
背景技术
深度神经网络(Deep Neural Network,DNN)是一种人工神经网络,深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性,其在语音分析和图像识别领域有着广泛的应用。
随着深度学习技术的不断发展,深度神经网络运算量也越来越大,因此,目前有效减少深度神经网络的运算量成为了亟待解决的问题。
发明内容
为解决上述技术问题,本发明实施例期望提供一种数据处理方法及装置、计算机可读存储介质,能够减少神经网络的运算量。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供一种数据处理方法,所述方法包括:
获取至少一类权重及各类权重对应的特征数据;
根据所述至少一类权重,获取各类权重对应的分类特征;
根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果;
根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果。
在上述方案中,所述在所述获取至少一类权重之前,还包括:
获取历史权重;
按照设定筛选条件对所述历史权重进行筛选,得到筛选后的权重;
按照设定分类规则对所述筛选后的权重进行分类,得到所述至少一类权重。
在上述方案中,所述根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果,包括:
根据所述至少一类权重和所述分类特征,获取所述特征数据对应的分类数据;
根据所述分类数据对所述特征数据进行计算,得到各类权重对应的第一处理结果。
在上述方案中,所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果,包括:
按照设定排列规则对每类权重对应的第一处理结果排列顺序,得到排列顺序后的第一处理结果;
从所述排列后的第一处理结果中按照排列顺序依次选取一个待处理的第一处理结果;
根据所述分类特征和所述待处理的第一处理结果进行计算,得到第一计算结果;
将当前得到的第一计算结果与已得到的第一技术结果进行计算,得到第二计算结果;
当确定所述第二计算结果是负数时,将所述第二计算结果作为第二处理结果。
在上述方案中,所述在所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果之后,还包括:
获取所述特征数据的第一维度及对应的网络维度;
获取所述第二处理结果的第二维度;
当确定所述第二维度小于所述第一维度时,根据所述网络维度和预定阈值范围,调整所述第二处理结果对应的当前网络维度;
获取第二处理结果对应的权重;
基于所述当前网络维度和所述第二处理结果对应的权重,对所述第二处理结果进行计算得到第三处理结果。
在上述方案中,所述当确定所述第二维度小于所述第一维度时,根据所述网络维度和预定阈值范围,调整所述第二处理结果对应的当前网络维度,包括:
当确定所述第二维度小于所述第一维度时,将所述网络维度与待调整网络维度进行取模运算,得到取模结果;
根据所述取模结果和所述待调整网络维度进行比值,得到比值结果;
当所述比值结果在预定阈值范围内时,确定所述待调整维度为所述第二处理结果对应的当前网络维度。
在上述方案中,所述根据所述分类数据对所述特征数据进行计算,得到各类权重对应的第一处理结果,包括:
根据所述分类数据对所述特征数据进行左移位计算,得到各类权重对应的第一处理结果;
对应地,所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果,包括:
根据所述分类特征和所述第一处理结果进行乘加计算,得到第二处理结果。
第二方面,本发明实施例提供一种数据处理装置,所述装置包括:
第一获取模块,配置为获取至少一类权重及各类权重对应的特征数据;
第二获取模块,配置为根据所述至少一类权重,获取各类权重对应的分类特征;
第一得到模块,配置为根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果;
第二得到模块,配置为根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果。
第三方面,本发明实施例提供一种数据处理装置,其中,所述数据处理装置包括处理器、存储有所述处理器可执行指令的存储器,和用于连接所述处理器、所述存储器的总线,当所述指令被执行时,所述处理器执行时实现上述数据处理的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述数据处理的方法。
本发明实施例提供了一种神经网络的运算方法及装置、计算机可读存储介质,方法包括:获取至少一类权重及各类权重对应的特征数据;根据至少一类权重,获取各类权重对应的分类特征;根据至少一类权重和特征数据进行计算,得到各类权重对应的第一处理结果;根据分类特征和第一处理结果进行计算,得到第二处理结果,如此,先对权重进行分类得到分类特征,再根据分类特征对特征数据进行计算,能够对庞大的权重进行分析并整理归类成较少的情况,进而有效减少计算量。
附图说明
图1为本发明实施例提供的一种数据处理方法的实现流程示意图一;
图2为本发明实施例提供的一种数据处理方法的实现流程示意图二;
图3为本发明实施例提供的一种数据处理方法的实现流程示意图三;
图4为本发明实施例提供的一种数据处理方法的实现流程示意图四;
图5为本发明实施例提供的一种数据处理方法的实现流程示意图五;
图6为本发明实施例提供的一种数据处理方法的实现流程示意图六;
图7为本发明实施例提供的神经网络硬件架构组成结构示意图;
图8为本发明实施例提供的计算单元结构示意图;
图9为本发明实施例提供的计算单元中分类运算单元的结构示意图;
图10为本发明实施例提供的计算单元中一个CP运算单元对应一个乘加运算单元的结构示意图;
图11为本发明实施例提供的计算单元中一个CP运算单元对应多个乘加运算单元的结构示意图;
图12为本发明实施例提供一种数据处理方法的实现流程示意图七;
图13为本发明实施例中计算单元维度匹配组成示意图;
图14为本发明实施例提供的计算单元中运算结构示意图;
图15为本发明实施例提供的一种数据处理装置示意图;
图16为本发明实施例提供的一种数据处理装置的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例提供了一种数据处理方法,图1为本发明实施例提供的一种数据处理方法的实现流程示意图一,如图1所示,在本发明实施例中,实现数据处理方法可以包括以下步骤:
步骤101、获取至少一类权重及各类权重对应的特征数据。
本发明实施例中,在对特征数据和权重进行计算之前,需要获取至少一类权重及各类权重对应的特征数据。
需要说明的是,获取的至少一类权重是预先按照筛选条件和分类规则处理后得到的分类后的权重,并且,由于每个权重都各自对应着相应的特征数据,因此,将各类权重指示符、权重对应的位置索引信息及各类权重对应的特征数据提前存储在存储单元中,权重指示符用于标识权重,权重对应的位置索引信息用于标识特征数据的存储位置,即权重指示符对应权重,权重对应位置索引信息,故权重指示符与位置索引信息是对应的。这里,从存储单元中顺序读出权重指示符及对应的位置索引信息,通过权重指示符恢复权重,通过位置索引信息来索引对应位置的特征数据,即权重对应的特征数据,将该权重以及特征数据做卷积运算,以此类推,完成所有卷积运算操作。
示例性地,上述筛选条件可以是去除设定阈值的权重,保留非设定阈值的权重,例如,阈值为0,筛选条件为去除取值为0的权重,保留取值不为0的权重。上述分类规则可以是将取值正负数的绝对值相同的权重归为一类,再按照公因子乘以2的幂次的方式对各类权重进行分类;也可以是将取值为负数的权重分为一类、取值为正数的权重分为另一类,再按照公因子乘以2的幂次的方式对各类权重进行分类;还可以是直接按照公因子乘以2的幂次的方式进行分类,例如,取值为1、3、4、6的权重按照公因子乘以2的幂次的方式,可以转化成1=1*20、3=3*20、4=1*22、6=3*21,提取公因子后,可以将公因子为3的权重3和6分为一类,将公因子为1的权重1和4分为另一类,上述筛选条件和分类规则本发明实施例并不做限制。
步骤102、根据至少一类权重,获取各类权重对应的分类特征。
本发明实施例中,在获取至少一类权重之后,还可以根据至少一类权重获取各类权重对应的分类特征。
需要说明的是,对权重进行分类就可以获取各类权重对应的分类特征,例如,为1、3、4、6的权重按照公因子乘以2的幂次的方式可以转化成1=1*20、3=3*20、4=1*22、6=3*21,如此,可以将公因子为3的权重分为一类,该类权重3和6对应的公因子3即为该类权重对应的分类特征;将公因子为1的权重分为另一类,该类权重1和4对应的公因子1即为该类权重对应的分类特征。
步骤103、根据至少一类权重和特征数据进行计算,得到各类权重对应的第一处理结果。
本发明实施例中,在获取权重和特征数据之后,可以根据权重获取分类特征,再根据分类特征和权重进行计算,得到特征数据对应的分类数据,再根据分类数据对特征数据进行加法计算得到各类权重对应的第一处理结果。
示例性地,如果一类权重的权重值分别为1和4,权重1对应的特征数据为1,权重4对应的特征数据为2;另一类权重的权重值分别为6和-12,权重6对应的特征数据是3,权重-12对应的特征数据是4,则权重按照公因子乘以2的幂次的方式可以转化为1=1*20、4=1*22、6=3*21、12=3*22,其中,权重1和4对应的分类特征、即公因子为1,对应的分类数据、即2的幂次分别为0和2;权重6和-12对应的分类特征、即公因子为3,对应的分类数据、即2的幂次分别为1和2。
由上述描述可知,根据分类数据对特征数据进行加法计算得到各类权重对应的第一处理结果,具体可以是:一类权重1和4对应的第一处理结果为(1<<0)+(2<<2)=1+8=9;另一类权重6和-12对应的第一处理结果为(3<<1)-(4<<2)=6-16=-10。
需要说明的是,为负数的权重对应的计算为加负数计算、即减法计算。
本发明实施例中,步骤102得到分类特征和步骤103得到第一处理结果是用于步骤104根据步骤102和步骤103计算得到第二处理结果,因此,步骤103也可以在步骤102之前执行,本发明实施例对步骤102和步骤103的执行先后顺序不作具体限定。
步骤104、根据分类特征和第一处理结果进行计算,得到第二处理结果。
本发明实施例中,在得到分类特征和第一处理结果后,根据分类特征和第一处理结果进行乘加计算,得到第二处理结果。
示例性地,权重1、-12、4、6按照公因子乘以2的幂次的方式将权重1和4划分为一类,将权重6和-12划分另一类,权重1和4对应的第一处理结果为9,对应的分类特征为1;权重6和-12对应的第一处理结果为-10,对应的分类特征为3,则第二处理结果为9*1+(-10)*3=-21。
图2为本发明实施例提供的一种数据处理方法的实现流程示意图二,如图2所示,在本发明实施例中,获取至少一类权重数据之前,即步骤101之前实现数据处理方法还可以包括以下步骤:
步骤101a、获取历史权重。
本发明实施例中,通过采集足够的样本数据,根据预设的模型如人工神经网络的反向传播算法对样本数据进行训练得到历史权重。
步骤101b、按照筛选条件对历史权重进行筛选,得到筛选后的权重。
本发明实施例中,为了支持神经网络的稀疏运算,可以按照设定的筛选条件对历史权重进行筛选,得到筛选后的权重。
示例性地,上述筛选条件可以是删除取值为0的权重,保留取值不为0的权重,即仅存储取值不为0的权重,对取值为0的权重不需要进行存储和计算,这样既可以减少存储带宽,也可以减少计算量,从而支持神经网络的稀疏运算。
步骤101c、按照设定分类规则对筛选后的权重进行分类,得到至少一类权重。
本发明实施例中,在得到筛选后的权重之后,还可以按照分类规则对筛选后的权重进行分类,得到至少一类权重,该分类规则可以是将取值正负数的绝对值相同的权重分为一类,再按照公因子乘以2的幂次的方式对分类后的权重继续进行分类。
示例性地,如以8bit定点为例,权重为-128~127有256种情况,将取值正负数的绝对值相同的权重归为一类,归类后的权重有128种情况;再对归类后的权重按照公因子乘以2的幂次的方式对128种情况进行分类,如1、2、4、8、16、32、64分为一类,对应的分类特征、即公因子为1;3、6、12、24、48、96分为一类,对应的分类特征、即公因子为3;经过分类后,将权重合并为64种情况,如此能够将原来的256种情况通过分类整理为64种情况。
图3为本发明实施例提供的一种数据处理方法的实现流程示意图三,如图3所示,在本发明实施例中,根据至少一类权重和特征数据进行计算,得到各类权重对应的第一处理结果,即步骤103实现数据处理方法可以包括以下步骤:
步骤103a、根据至少一类权重和分类特征,获取特征数据对应的分类数据。
本发明实施例中,在获取权重和分类特征之后,可以根据至少一类权重和分类特征,获取特征数据对应的分类数据。
示例性地,如果一类权重的权重值为1和4,对应的特征数据分别为1和2;另一类权重的权重值为6和-12,对应的特征数据分别是3和4,则权重按照公因子乘以2的幂次的方式可以转化为1=1*20、4=1*22、6=3*21、12=3*22,其中,一类权重1和4的分类特征、即公因子为1,对应的分类数据、即2的幂次分别为0和2;另一类权重6和-12对应的分类特征、即公因子为3,对应的分类数据、即2的幂次分别为1和2。
步骤103b、根据分类数据对特征数据进行左移位计算,得到各类权重对应的第一处理结果。
步骤104a、根据分类特征和第一处理结果进行乘加计算,得到第二处理结果。
示例性的,如果一类权重的权重值为1和4,对应的特征数据分别为1和2,对应的分类数据、即2的幂次分别为0和2,对应的分类特征、即公因子为1;另一类权重的权重值为6和-12,对应的特征数据分别为3和4,对应的分类数据、即2的幂次分别为1和2,对应的分类特征、即公因子为3,则权重1和4对应的第一处理结果为(1<<0)+(2<<2)=1+8=9;权重6和-12对应的第一处理结果为(3<<1)-(4<<2)=6-16=-10,进而根据分类特征和第一处理结果进行先乘后累加计算,即先进行乘法9*1得到9,再进行10*3得到30,再进行累加得到第二处理结果为9+(-30)=-21。
基于上述描述,如以8bit定点为例,权重为-128~127有256种情况,现有技术是直接将权重和对应的特征数据进行先乘后加,因此,得到第二处理结果需要进行256次乘法计算,为了减小计算量,本发明实施例中先对所有权重进行分类得到64类权重,然后根据分类后的各类权重和对应的特征数据进行先移位累加得到64类权重对应第一处理结果,再对所述第一处理结果和对应的分类特征进行先乘后累加,即本发明实施例得到第二处理结果只需要进行64次乘法计算,因此,本发明实施例能够达到有效减少计算量的效果。
图4为本发明实施例提供的一种数据处理方法的实现流程示意图四,如图4所示,在本发明实施例中,根据分类特征和第一处理结果进行计算,得到第二处理结果,即步骤104实现数据处理方法可以包括以下步骤:
步骤104a1、按照设定排列规则对每类权重对应的第一处理结果排列顺序,得到排列顺序后的第一处理结果。
本发明实施例中,在获取各类权重对应的第一处理结果之后,可以按照设定排列规则对各类权重对应的第一处理结果排列顺序,得到排列顺序后的第一处理结果。这里,如果针对每类权重都得到一个对应的第一处理结果,则对各类权重对应的第一处理结果排列顺序,即为对得到的各个第一处理结果排列顺序,也就是说,第一处理结果的数量与权重的类的数量相同。
需要说明的是,在按照设定排列规则对每类权重对应的第一处理结果排列顺序之前,本发明实施例需要先按照步骤101a至步骤101c对权重进行预处理,具体预处理可以为:先识别权重取值的正负,将取值为正数的权重分为一类,将取值为负数的权重分为另一类,即可以按照正数和负数对筛选后的权重分为两类,再根据公因子乘以2的幂次的方式分别对该正负两类权重继续分类,得到至少一类权重和各类权重对应的第一处理结果;紧接着,按照设定排序规则对各类权重对应的第一处理结果进行排序得到各类权重对应的排列顺序后的第一处理结果。
这里,排序规则可以是将取值为正数的第一处理结果放在排序结果的前面,将取值为负数的第一处理结果放在排序结果的后面,则按照排序规则对各类权重对应的第一处理结果进行排序得到排列顺序后的第一处理结果包括:先识别第一处理结果的取值是正数还是负数,按照第一处理结果取值的正负将第一处理结果划分为正数的第一处理结果和负数的第一处理结果,则选取正数的第一处理结果放在排序结果的前面,选取负数的第一处理结果放在排序结果的后面、即正数的第一处理结果的后面,这样便于在计算得到第二处理结果时先把前面正数的第一处理结果计算完之后,再对负数的第一处理结果进行计算。对于放在排序结果前面的正数的第一处理结果,可以按大小排列顺序,也可以随意排列顺序,只要保证在负数的第一处理结果前面进行计算即可;对于放在排序结果后面的负数的第一处理结果,可以随意排列顺序,为了进一步减少运算量,可以对放在排序结果后面的所有负数的第一处理结果按照从小到大的顺序排列。
步骤104b1、从排列顺序后的第一处理结果中按照排列顺序依次选取待处理的第一处理结果;
需要说明的是,这里的排列排序是将正数的第一处理结果放在前面,负数的第一处理结果均放在正数的第一处理结果后面,本发明实施例中,按照排列顺序依次选取待处理的第一处理结果可以是先选取排列在最前面的正数的第一处理结果,等各正数的第一处理都依次被选取进行计算之后,再选取后面的负数权重对应的第一处理结果进行计算。
步骤104c1、根据待处理的第一处理结果和分类特征进行计算,得到第一计算结果。
步骤104d1、将当前得到的第一计算结果与已得到的第一计算结果进行计算,得到第二计算结果。
步骤104e1、当确定第二计算结果是负数时,将第二计算结果作为第二处理结果。
本发明实施例中,在选取待处理的第一处理结果之后,根据待处理的第一处理结果和分类特征进行计算,得到第一计算结果,将当前得到的第一计算结果与已得到的第一计算结果进行计算,得到第二计算结果,判断第二计算结果是否为负数,如果第二计算结果是负数,则根据排列顺序可知下一个选取的第一处理结果也应该是负数,此时停止进行下一个选取的计算过程,直接将第二计算结果作为第二处理结果;如果第二计算结果是正数,则继续选取下一个待处理的第一处理结果并进行计算得到第二计算结果,再次判断该第二计算结果是否为负数,以此类推,直到确定第二计算结果为负数或者排列顺序中最后一个第一处理结果计算完毕为止。
示例性地,如果排列顺序后的第一处理结果为A、B、C、D,对应的分类特征分别是A1、B1、C1、D1,则先计算A*A1,判断A*A1是否为负数,如果第二计算结果A*A1是负数,则直接将第二计算结果A*A1作为第二处理结果,如果第二计算结果A*A1为正数,则计算B*B1,再将当前得到的第一计算结果B*B1与已得到的第一计算结果A*A1进行计算得到第二计算结果为A*A1+B*B1,判断该第二计算结果A*A1+B*B1是否为负数,如果该第二计算结果A*A1+B*B1是负数,则直接将该第二计算结果A*A1+B*B1作为第二处理结果,如果该第二计算结果A*A1+B*B1为正数,则计算C*C1,再将当前得到的第一计算结果C*C1与已得到的第一计算结果A*A1+B*B1进行计算得到第二计算结果为A*A1+B*B1+C*C1,再次判断该第二计算结果A*A1+B*B1+C*C1是否为负数,以此类推,直到确定第二计算结果为负数或者排列顺序中最后的一个第一处理结果D计算完毕为止。
需要说明的是,对于深度神经网络计算而言,第二处理结果只要为负数,对于线性修正线性单元(Rectified Linear Unit,ReLU)激活函数而言,都将视为0输出,基于上述描述可见,本发明实施例对整个计算过程进行了改进,先将所有的权重按照正数和负数进行分为两类,再将按照分类规则如公因子乘以2的幂次对该两类权重进行再次分类,由于当一类权重对应的权重值均为负数时,其计算的第一处理结果是负数,当一类权重对应的权重值均为正数时,其计算的第一处理结果是正数,这样对各类权重对应的第一处理结果进行排列,将正数放在排列顺序的前面,将负数放在排列顺序中正数的后面,再按照排列顺序进行依次选取,当确定第二计算结果为负数时,则后续计算的过程也必然是负数,即可终止该计算,能够达到提前终止卷积计算的目的,从而可以减少计算量和计算功耗,进而提高能效比。
图5为本发明实施例提供的一种数据处理方法的实现流程示意图五,如图5所示,在本发明实施例中,在根据分类特征和第一处理结果进行计算,得到第二处理结果之后,即步骤104之后实现数据处理方法还可以包括以下步骤:
步骤105、获取特征数据的第一维度及对应的网络维度。
本发明实施例中,第一维度表征根据权重和特征数据进行计算的实际需要的网络模型,网络维度表征计划分配给权重和特征数据进行计算的网络模型。
步骤106、获取第二处理结果的第二维度。
本发明实施例中,为了进一步确保第二处理结果对应的计算资源,本发明实施例需要获取当前特征数据对应的第一维度和第二处理结果对应的第二维度;
步骤107、当确定第二维度小于第一维度时,根据网络维度和预定阈值范围,调整第二处理结果对应的当前网络维度。
本发明实施例中,在获取第二处理结果之后,进行下一层计算之前,本发明实施例需要确定第二维度是否小于第一维度,如果第二维度小于第一维度,则表明根据当前层对应的网络维度去处理下一层计算会明显浪费计算资源,如果第二维度不小于第一维度,则表明根据当前层对应的网络维度去处理下一层计算并不会浪费资源,即不需要调整第二处理结果对应的当前网络维度,因此,本发明实施例设置一个预定阈值范围,根据网络维度和预定阈值范围,调整第二处理结果对应的当前网络维度,避免资源的浪费。
步骤108、获取第二处理结果对应的权重。
步骤109、基于当前网络维度和第二处理结果对应的权重,对第二处理结果进行计算得到第三处理结果。
本发明实施例中,在得到当前网络维度之后,根据第二处理结果对应的权重对第二处理结果进行计算得到第三处理结果,这样在计算过程中,一旦发现计算的网络维度变小时,便可以实时调整当前的网络维度,实现最大限度的利用计算资源。
图6为本发明实施例提供的一种数据处理方法的实现流程示意图六,如图6所示,在本发明实施例中,当确定第二维度小于第一维度时,根据第二维度和预定阈值范围,调整第二处理结果对应的当前维度,即步骤107实现数据处理方法还可以包括以下步骤:
步骤107a、当确定第二维度小于第一维度时,将网络维度与待调整网络维度进行取模运算,得到取模结果。
本发明实施例中,当确定第二维度小于第一维度即需要调整当前网络维度时,将网络维度与待调整维度进行取模,得到取模结果。
示例性地,假定网络维度为18,待调整网络维度为16,则两个取模得到取模结果为2。
步骤107b、根据取模结果和待调整网络维度进行比值,得到比值结果。
本发明实施例中,当得到取模结果之后,根据取模结果和待调整网络维度进行比值,得到比值结果。
示例性地,假定网络维度为18,待调整网络维度为16,则两个取模得到取模结果为2,取模结果和待调整网络维度比值结果为2/16=1/8。
步骤107c、当比值结果在预定阈值范围内时,确定待调整维度为第二处理结果对应的当前网络维度。
本发明实施例中,假定预定阈值范围是0到1/6,基于上述举例可得,该比值结果1/8在预定阈值范围内,则确定该待调整维度16为第二处理结果对应的当前网络维度。
本发明实施例中,通过获取至少一类权重及各类权重对应的特征数据;根据至少一类权重,获取各类权重对应的分类特征;根据至少一类权重和特征数据进行计算,得到各类权重对应的第一处理结果;根据分类特征和第一处理结果进行计算,得到第二处理结果,如此,先对权重进行分类得到分类特征,再根据分类特征对特征数据进行计算,能够对庞大的权重进行分析并整理归类成较少的情况,进而有效减少计算量。
实施例二
基于实施例一的同一发明构思,将上述数据处理方法应用在神经网络中,为了更好的理解本发明实施例,下面将对卷积神经网络(Convolutional Neural Network,CNN)进行简要说明:
DNN包括CNN和循环神经网络(Recurrent Neural Network,RNN),其一般包括输入层、隐含层和输出层。
CNN是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。CNN通常由卷积层、池化层以及全连接层(Full Connection layer,FC)组成,其中,
卷积层通过现象卷积核与非线性激活函数产生输入数据的特征图,卷积核重复与输入数据的不同区域进行内积,之后通过非线性函数输出;
池化层通常为平均池化层或极大池化层,该层只是找出前一层得到的特征图某一区域的平均值或最大值;
全连接层中输入段的所有元素全都与输出的神经元连接,每个输出元素都是所有输入元素乘以各自权重后再求和得到的。
图7为本发明实施例提供的神经网络硬件架构组成结构示意图,如图7所示,该神经网络硬件架构包括:中央处理器(Central Processing Unit,CPU)、存储单元、直接存储器访问(Direct Memory Access,DMA)控制器、命令解析单元、控制单元、输入输出缓存单元和计算单元,其中,
CPU,用于发送控制指令给DMA控制器;
存储单元,用于存储神经网络的特征数据、权重和计算单元计算的结果,该存储单元可以是外部双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR)或者片内随机存储器(Random Access Memory,RAM);
DMA控制器,用于接收来自CPU的卷积计算的控制指令,该指令携带有起始地址和结束地址,将以该起始地址和结束地址标识的地址段内存储的特征数据和权重从存储单元中存储到输入输出缓存单元中,同时会发送指令给命令解析单元,或者用于接收来自CPU的存储计算结果的控制指令,将计算单元得到的计算结果从输入输出缓存单元中存储到存储单元中;
命令解析单元,用于接收来自DMA控制器的指令,并解析该指令得到指令的内容,并发送解析该指令得到的内容给控制单元;
控制单元,用于接收来自命令解析单元得到的内容,根据命令解析单元得到的内容发送指令给输入输出缓存单元;
输入输出缓存单元,用于接收来自控制单元的指令,根据控制单元的指令输入输出缓存单元为计算单元准备待计算的特征数据和权重;或者,用于存储计算单元待计算的特征数据和权重以及计算单元得到的计算结果,该输入输出缓存单元可以是片内动态随机存储器(Dynamic Random Access Memory,DRAM)或者是寄存器阵列;
该输入输出缓存单元包括两部分:一部分用来缓存权重和特征数据,为减少该缓存数据容量,可以将该缓存的大小和每层的通道数量以及对应的卷积核大小进行关联;例如,如果卷积核大小为3*3,则可以缓存64个通道大小的数据;如果卷积核为7*7,则可以缓存比64个通道大小的数据;
另一部分缓存用来存储待计算的权重和特征数据,并输出权重和特征数据给计算单元;
计算单元,用于接收来自输入输出缓存单元的特征数据和权重,根据该特征数据和权重完成卷积计算得到第二处理结果。在深度神经网络中,需要先进行卷积运算,再进行FC中的FC乘加运算、ReLU激活函数以及池化处理,因此,本发明实施例的计算单元除了完成卷积运算,还可以用于完成FC的乘加运算、ReLU激活函数以及池化处理。基于本发明实施例是针对计算单元中的卷积计算的改进以减少计算量,故下面将详细说明计算单元完成卷积计算的过程。
图8为本发明实施例提供的计算单元结构示意图,如图8所示,计算单元包括选择器、分类(Classification Processor,CP)运算单元和乘加运算单元(Multiply Add Unit,MAU),其中,
选择器,用于接收来自输入输出缓存单元输出的特征数据和权重,根据权重指示符及对应的位置索引信息从特性数据和权重中去选择对应的权重和特征数据,并输出该权重和特征数据给CP运算单元;
CP运算单元,用于接收选择器输出的特征数据和权重,并对特征数据和权重进行移位计算,输入第一处理结果和分类特征给MAU;
MAU,用于接收CP运算单元输出的第一处理结果和分类特征,并对第一处理结果和分类特征进行乘加计算,得到第二处理结果。
图9为本发明实施例提供的计算单元中CP运算单元的结构示意图,如图9所示,CP运算单元包括分类器和加法器,其中,
分类器,用于接收来自选择器输出的权重和特征数据,并对权重进行分类得到分类特征和分类数据,并将分类特征、分类数据和特征数据输入给加法器。
加法器,用于接收来自分类器输出的分类特征、分类数据和特征数据,再根据分类数据对特征数据进行移位加法运算,得到第一处理结果,然后将第一处理结果和分类特征输入给MAU,其中当权重为负数时,则加法器执行该负数权重对应的计算为加负数计算,即减法计算。
MAU,用于接收来自加法器输出的第一处理结果和分类特征,并对第一处理结果和分类特征先进行乘法计算再进行累加计算,输出第二处理结果。MAU可以对应一个或者多个CP运算单元,图10为本发明实施例提供的计算单元中一个CP运算单元对应一个乘加运算单元的结构示意图,如图10所示,MAU包括乘法器和累加器,CP运算单元将各类权重对应的第一处理结果和对应的分类特征依次输出给MAU,乘法器先对前两类权重的第一处理结果对应的分类特征进行乘法运算,将得到对应的两个乘法运算结果输出给累加器,然后累加器对两个乘法运算结果进行相加,然后乘法器将第三类权重的第一处理结果对应的分类特征进行乘法运算,将得到对应的乘法运算结果输出给累加器,然后累加器在之前的基础上再进行累加,直到最后一类权重对应的第一处理结果和对应的分类特征先进行乘法之后再进行累加,将得到的累加结果作为第二处理结果。图11为本发明实施例提供的计算单元中多个CP运算单元对应一个乘加运算单元的结构示意图,如图11所示,在乘法器之前增加一个乘法器队列,完成多个CP运算单元到一个乘法器的路由选择功能,此设计可以有效增加乘法器使用频率,进而减少乘法器使用数量。
基于上述描述,图12为本发明实施例提供一种数据处理方法的实现流程示意图七,如图12所示,为了更好的说明本发明实施例提供的数据处理方法,可以将数据处理方法应用在上述神经网络硬件架构的计算单元中,本发明实施例实现数据处理方法可以包括以下步骤:
步骤201、将权重和特征数据提前存储在存储单元中。
需要说明的是,对于分类数据可以是先存储正数,再存储负数,以备后续提前终止乘加运算。对于权重为0的数据,由于完成卷积运算结果还是0,则将权重为0的数据丢弃,不参与计算,即在存储单元中都不需要存储与读出,从而节省存储资源与数据读写带宽,并提高资源处理效率,进而达到支持稀疏运算的效果。
步骤202、计算单元生成对应的网络维度。
需要说明的是,对于计算单元,由于不同网络模型对应的网络维度是不一样,如300*300和416*416;另外,针对不同的网络模型,其支持的维度大小也可能不一致,如1*1、3*3、5*5、7*7等,因此,本发明实施例的计算单元设计为弹性可伸缩结构,即在不同网络模型对应的维度不一样时,可以将计算单元匹配到对应的网络结构模型对应的维度中,达到最大限度利用计算资源。
图13为本发明实施例中计算单元维度匹配组成示意图,如图13所示,如果卷积核为1*1或者3*3时或者特征图片为4*4及以下的,网络维度可以变成图13左边的,若卷积核大于3*3或者特征图片大于4*4时,网络维度可以变成图13右边的。
本发明实施例中,当控制单元发送适配当前神经网络模型对应的维度指令给计算单元时,计算单元根据该指令生成对应的硬件结构模型即该层计算对应的网络维度,具体的:获取特征数据的第一维度及对应的网络维度;获取第二处理结果的第二维度;当确定第二维度小于所述第一维度时,根据网络维度和预定阈值范围,调整第二处理结果对应的当前网络维度;获取第二处理结果对应的权重;基于当前网络维度和第二处理结果对应的权重,对第二处理结果进行计算得到第三处理结果。
其中,确定当前网络维度的方法可以是当确定第二维度小于第一维度时,将网络维度与待调整网络维度进行取模运算,得到取模结果;根据取模结果和待调整网络维度进行比值,得到比值结果;当比值结果在预定阈值范围内时,确定待调整维度为第二处理结果对应的当前网络维度。
步骤203、DMA控制器从存储单元中读出相应的权重和特征数据并存储到输入输出缓存单元。
本发明实施例中,CPU发送指令给DMA控制器,DMA控制器根据发送的指令从存储单元中读取的权重以及特性数据输出给输入输出缓存单元。
需要说明的是,在运行到一定过程时,会通过中断形式告知CPU当前处理进度,控制单元根据当前处理进度下发对应的指令给输入输出缓存单元,输入输出缓存单元输出指令给计算单元,并为计算单元准备待计算的权重和特征数据,然后计算单元按照指令要求执行相应操作,例如,卷积计算完成后,需要计算全连接,计算单元以及缓存单元按照指令进行匹配全连接操作。
步骤204、输入输出缓存单元获取权重和特征数据。
本发明实施例中,缓存单元需要获取权重对应的位置索引信息,并根据权重对应的位置索引信息,去索引对应的特征数据,例如,假设权重值A1,其在滤波器对应的原始位置为编号为100,则可以根据权重值A1对应的位置编号100去索引该位置的特征数据。
步骤205、计算单元中的CP运算单元对输入的权重和特征数据进行计算得到第一处理结果。
本发明实施例中,在获取权重和特征数据之后,输入输出缓存单元将权重和特征数据输出给计算单元中,计算单元中的CP运算单元对输入的权重和特征数据进行计算得到第一处理结果。
这里,CP运算单元先根据权重对应的分类特征将同一类权重对应的特征数据进行累加,待相同分类数据累加完成后,累加器清零,并进行下一个分类数据的累加,直到所有数据均处理完毕。
需要说明的是,权重若为正数则CP运算单元执行加法;若为负数则CP运算单元执行减法。
示例性地,如果一类权重的权重值为6、12、-24、48,对应的特征数据分别为2、6、8、3,那么该权重对应的分类特征、即公因子为3,对应的分类数据、即2的幂次分别为1、2、3、4,则该类权重对应的第一处理结果为(2<<1)+(6<<2)-(8<<3)+(3<<4)=4+24-64+48=12。
步骤206、MAU对输入的分类特征和第一处理结果进行计算得到第二处理结果。
本发明实施例中,将多个CP运算的结果输出给MAU后,先转成串行数据流送给乘法器模块,完成乘法运算后,再进行不同分类数据的累加运算。
图14为本发明实施例提供的计算单元中运算结构示意图,如图14所示,计算单元中运算结构由特征数据、权重、CP阵列和MAU阵列组成,该计算单元计算过程为:
将权重和特征数据通过选择器输出到对应的CP运算单元中,CP运算单元完成分类累加处理输出第一处理结果和分类特征给MAU,MAU对第一处理结果和分类特征进行乘加运算得到第二处理结果。
通过本发明实施例,通过分类特征对特征数据先进行累加计算得到第一处理结果,再基于第一处理结果和分类特征进行乘加运算,这样先加后乘的运算方式能够有效减少运算量。
实施例三
基于实施例一和实施例二的同一发明构思,本发明实施例提供一种数据处理装置,上述实施例二的神经网络的硬件架构中的计算单元可以应用该数据处理装置,图15为本发明实施例提供的一种数据处理装置示意图,如图15所示,所述数据处理装置包括:
第一获取模块301,配置为获取至少一类权重及各类权重对应的特征数据;
第二获取模块302,配置为根据所述至少一类权重,获取各类权重对应的分类特征;
第一得到模块303,配置为根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果;
第二得到模块304,配置为根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果。
在其他实施例中,所述第一获取模块包括:
获取历史权重;
按照设定筛选条件对所述历史权重进行筛选,得到筛选后的权重;
按照设定分类规则对所述筛选后的权重进行分类,得到所述至少一类权重。
在其他实施例中,所述第一得到模块包括:
根据所述至少一类权重和所述分类特征,获取所述特征数据对应的分类数据;
根据所述分类数据对所述特征数据进行计算,得到各类权重对应的第一处理结果。
在其他实施例中,所述第二得到模块包括:
按照设定排列规则对每类权重对应的第一处理结果排列顺序,得到排列顺序后的第一处理结果;
从所述排列后的第一处理结果中按照排列顺序依次选取一个待处理的第一处理结果;
根据所述分类特征和所述待处理的第一处理结果进行计算,得到第一计算结果;
将当前得到的第一计算结果与已得到的第一计算结果进行计算,得到第二计算结果;
当确定所述第二计算结果是负数时,将所述第二计算结果作为第二处理结果。
在其他实施例中,所述数据处理装置还包括:
在所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果之后,获取所述特征数据的第一维度及对应的网络维度;
获取所述第二处理结果的第二维度;
当确定所述第二维度小于所述第一维度时,根据所述网络维度和预定阈值范围,调整所述第二处理结果对应的当前网络维度;
获取第二处理结果对应的权重;
基于所述当前网络维度和所述第二处理结果对应的权重,对所述第二处理结果进行计算得到第三处理结果。
在其他实施例中,所述数据处理装置还包括:
当确定所述第二维度小于所述第一维度时,将所述网络维度与待调整网络维度进行取模运算,得到取模结果;
根据所述取模结果和所述待调整网络维度进行比值,得到比值结果;
当所述比值结果在预定阈值范围内时,确定所述待调整维度为所述第二处理结果对应的当前网络维度。
在其他实施例中,所述第一得到模块还包括:
根据所述分类数据对所述特征数据进行左移位计算,得到各类权重对应的第一处理结果;
对应地,所述第二得到模块还包括:
根据所述分类特征和所述第一处理结果进行乘加计算,得到第二处理结果。
通过本发明实施例,数据处理装置利用分类特征对特征数据先进行累加计算,再基于累加计算结果和分类特征进行乘法运算,这样先加后乘的运算方式能够有效减少运算量。
实施例四
基于实施例一至实施例三的同一发明构思,本发明实施例提供一种数据处理装置,图16为本发明实施例数据处理装置的组成结构示意图,如图16所示,数据处理装置至少包括处理器01、存储有所述处理器01可执行指令的存储器02、通信接口03,和用于连接所述处理器、所述存储器、所述通信接口的总线04,当所述指令被执行时,所述处理器执行时实现以下步骤:
获取至少一类权重及各类权重对应的特征数据;
根据所述至少一类权重,获取各类权重对应的分类特征;
根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果;
根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果。
在一种可选实施例中,第一处理器还用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
获取历史权重;
按照设定筛选条件对所述历史权重进行筛选,得到筛选后的权重;
按照设定分类规则对所述筛选后的权重进行分类,得到所述至少一类权重。
在一种可选实施例中,第一处理器用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
根据所述至少一类权重和所述分类特征,获取所述特征数据对应的分类数据;
根据所述分类数据对所述特征数据进行计算,得到各类权重对应的第一处理结果。
在一种可选实施例中,第一处理器用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
按照设定排列规则对每类权重对应的第一处理结果排列顺序,得到排列顺序后的第一处理结果;
从所述排列后的第一处理结果中按照排列顺序依次选取一个待处理的第一处理结果;
根据所述分类特征和所述待处理的第一处理结果进行计算,得到第一计算结果;
将当前得到的第一计算结果与已得到的第一计算结果进行计算,得到第二计算结果;
当确定所述第二计算结果是负数时,将所述第二计算结果作为第二处理结果。
在一种可选实施例中,第一处理器还用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
在所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果之后,获取所述特征数据的第一维度及对应的网络维度;
获取所述第二处理结果的第二维度;
当确定所述第二维度小于所述第一维度时,根据所述网络维度和预定阈值范围,调整所述第二处理结果对应的当前网络维度;
获取第二处理结果对应的权重;
基于所述当前网络维度和所述第二处理结果对应的权重,对所述第二处理结果进行计算得到第三处理结果。
在一种可选实施例中,第一处理器用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
当确定所述第二维度小于所述第一维度时,将所述网络维度与待调整网络维度进行取模运算,得到取模结果;
根据所述取模结果和所述待调整网络维度进行比值,得到比值结果;
当所述比值结果在预定阈值范围内时,确定所述待调整维度为所述第二处理结果对应的当前网络维度。
在一种可选实施例中,第一处理器用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
根据所述分类数据对所述特征数据进行左移位计算,得到各类权重对应的第一处理结果;
根据所述分类特征和所述第一处理结果进行乘加计算,得到第二处理结果。
通过本发明实施例,数据处理装置利用分类特征对特征数据先进行累加计算,再基于累加计算结果和分类特征进行乘法运算,这样先加后乘的运算方式能够有效减少运算量。
在实际应用中,处理器可以为中央处理器(Central Processing Unit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital Signal Processing,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
另外,在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:磁性随机存取存储器(ferromagnetic random access memory,FRAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,
EEPROM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CompactDisc Read-Only Memory,CD-ROM)等各种可以存储程序代码的介质,本发明实施例不作限制。
基于前述实施例,本发明实施例提供了一种计算机可读存储介质,其上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述一个或多个实施例中的数据处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
获取至少一类权重及各类权重对应的特征数据;
根据所述至少一类权重,获取各类权重对应的分类特征;
根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果;
根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果。
2.根据权利要求1所述的方法,其特征在于,所述在所述获取至少一类权重之前,还包括:
获取历史权重;
按照设定筛选条件对所述历史权重进行筛选,得到筛选后的权重;
按照设定分类规则对所述筛选后的权重进行分类,得到所述至少一类权重。
3.根据权利要求1所述的方法,其特征在于,所述根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果,包括:
根据所述至少一类权重和所述分类特征,获取所述特征数据对应的分类数据;
根据所述分类数据对所述特征数据进行计算,得到各类权重对应的第一处理结果。
4.根据权利要求2所述方法,其特征在于,所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果,包括:
按照设定排列规则对每类权重对应的第一处理结果排列顺序,得到排列顺序后的第一处理结果;
从所述排列后的第一处理结果中按照排列顺序依次选取一个待处理的第一处理结果;
根据所述分类特征和所述待处理的第一处理结果进行计算,得到第一计算结果;
将当前得到的第一计算结果与已得到的第一计算结果进行计算,得到第二计算结果;
当确定所述第二计算结果是负数时,将所述第二计算结果作为第二处理结果。
5.根据权利要求1所述的方法,其特征在于,所述在所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果之后,还包括:
获取所述特征数据的第一维度及对应的网络维度;
获取所述第二处理结果的第二维度;
当确定所述第二维度小于所述第一维度时,根据所述网络维度和预定阈值范围,调整所述第二处理结果对应的当前网络维度;
获取第二处理结果对应的权重;
基于所述当前网络维度和所述第二处理结果对应的权重,对所述第二处理结果进行计算得到第三处理结果。
6.根据权利要求5所述的方法,其特征在于,所述当确定所述第二维度小于所述第一维度时,根据所述网络维度和预定阈值范围,调整所述第二处理结果对应的当前网络维度,包括:
当确定所述第二维度小于所述第一维度时,将所述网络维度与待调整网络维度进行取模运算,得到取模结果;
根据所述取模结果和所述待调整网络维度进行比值,得到比值结果;
当所述比值结果在预定阈值范围内时,确定所述待调整维度为所述第二处理结果对应的当前网络维度。
7.根据权利要求3所述的方法,其特征在于,
所述根据所述分类数据对所述特征数据进行计算,得到各类权重对应的第一处理结果,包括:
根据所述分类数据对所述特征数据进行左移位计算,得到各类权重对应的第一处理结果;
对应地,所述根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果,包括:
根据所述分类特征和所述第一处理结果进行乘加计算,得到第二处理结果。
8.一种数据处理装置,其特征在于,
第一获取模块,配置为获取至少一类权重及各类权重对应的特征数据;
第二获取模块,配置为根据所述至少一类权重,获取各类权重对应的分类特征;
第一得到模块,配置为根据所述至少一类权重和所述特征数据进行计算,得到各类权重对应的第一处理结果;
第二得到模块,配置为根据所述分类特征和所述第一处理结果进行计算,得到第二处理结果。
9.一种数据处理装置,其中,所述运算装置至少包括处理器、存储有所述处理器可执行指令的存储器,和用于连接所述处理器、所述存储器的总线,当所述指令被执行时,所述处理器执行时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其上存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
CN201811223953.9A 2018-10-19 2018-10-19 一种数据处理方法及装置、计算机可读存储介质 Pending CN111079890A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811223953.9A CN111079890A (zh) 2018-10-19 2018-10-19 一种数据处理方法及装置、计算机可读存储介质
EP19873082.2A EP3869410A4 (en) 2018-10-19 2019-09-27 DATA PROCESSING METHOD AND DEVICE AND COMPUTER READABLE STORAGE MEDIA
US17/286,545 US20210390398A1 (en) 2018-10-19 2019-09-27 Data processing method and device, and computer-readable storage medium
PCT/CN2019/108580 WO2020078200A1 (zh) 2018-10-19 2019-09-27 一种数据处理方法及装置、计算机可读存储介质
JP2021521345A JP7444870B2 (ja) 2018-10-19 2019-09-27 データ処理方法及び装置、コンピュータで読み取り可能な記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811223953.9A CN111079890A (zh) 2018-10-19 2018-10-19 一种数据处理方法及装置、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111079890A true CN111079890A (zh) 2020-04-28

Family

ID=70283547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811223953.9A Pending CN111079890A (zh) 2018-10-19 2018-10-19 一种数据处理方法及装置、计算机可读存储介质

Country Status (5)

Country Link
US (1) US20210390398A1 (zh)
EP (1) EP3869410A4 (zh)
JP (1) JP7444870B2 (zh)
CN (1) CN111079890A (zh)
WO (1) WO2020078200A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0451386A (ja) * 1990-06-19 1992-02-19 Canon Inc ニューラルネットワーク及びその構築方法
JP3757722B2 (ja) * 1999-12-15 2006-03-22 Kddi株式会社 多層ニューラルネットワークユニット数最適化方法及び装置
FR2983622B1 (fr) * 2011-12-02 2014-01-24 Morpho Ecriture de donnees dans une memoire non volatile de carte a puce
US20170039470A1 (en) * 2013-12-25 2017-02-09 Hitachi, Ltd. Factor extraction system and factor extraction method
CN106214123B (zh) * 2016-07-20 2019-01-25 杨一平 一种基于深度学习算法的心电图综合分类方法
CN106651001A (zh) * 2016-11-08 2017-05-10 浙江理工大学 一种改进神经网络的金针菇产量预测方法及实施***
CN107563279B (zh) * 2017-07-22 2020-12-22 复旦大学 针对人体属性分类的自适应权重调整的模型训练方法
CN107633295B (zh) * 2017-09-25 2020-04-28 南京地平线机器人技术有限公司 用于适配神经网络的参数的方法和装置

Also Published As

Publication number Publication date
EP3869410A1 (en) 2021-08-25
WO2020078200A1 (zh) 2020-04-23
US20210390398A1 (en) 2021-12-16
JP7444870B2 (ja) 2024-03-06
EP3869410A4 (en) 2022-06-15
JP2022505356A (ja) 2022-01-14

Similar Documents

Publication Publication Date Title
CN110175671B (zh) 神经网络的构建方法、图像处理方法及装置
US20200311552A1 (en) Device and method for compressing machine learning model
CN111684473B (zh) 提高神经网络阵列的性能
CN113469073B (zh) 一种基于轻量级深度学习的sar图像舰船检测方法及***
WO2019060670A1 (en) LOW PROFOUND CONVOLUTIVE NETWORK WEIGHT COMPRESSION
CN107657263A (zh) 一种用于实现ann的深度处理单元
CN112199190A (zh) 内存分配方法、装置、存储介质及电子设备
Chu et al. Mixed-precision quantized neural networks with progressively decreasing bitwidth
CN114118402A (zh) 基于分组注意力机制的自适应剪枝模型压缩算法
Muhammad et al. Tree-based deep networks for edge devices
CN112308825B (zh) 一种基于SqueezeNet的农作物叶片病害识别方法
US20220335293A1 (en) Method of optimizing neural network model that is pre-trained, method of providing a graphical user interface related to optimizing neural network model, and neural network model processing system performing the same
EP3637327A1 (en) Computing device and method
CN111062450A (zh) 基于fpga和scnn架构的图像分类装置及方法
Wang et al. Evolutionary multi-objective model compression for deep neural networks
CN111079890A (zh) 一种数据处理方法及装置、计算机可读存储介质
CN114298291A (zh) 一种模型量化处理***及一种模型量化处理方法
CN114492797A (zh) 模型剪枝方法、装置、设备和存储介质
Chu et al. Mixed-precision quantized neural network with progressively decreasing bitwidth for image classification and object detection
Mishra et al. Wrpn & apprentice: Methods for training and inference using low-precision numerics
CN114626501A (zh) 数据处理方法、装置、电子设备和存储介质
CN114792127A (zh) 神经网络模型的训练方法、图像处理方法及装置
CN115146757A (zh) 一种神经网络模型的训练方法及装置
CN113159297A (zh) 一种神经网络压缩方法、装置、计算机设备及存储介质
US20230004800A1 (en) Complementary sparsity in processing tensors

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