CN110928576A - 一种卷积神经网络的卷积处理方法、装置及存储介质 - Google Patents

一种卷积神经网络的卷积处理方法、装置及存储介质 Download PDF

Info

Publication number
CN110928576A
CN110928576A CN201811103473.9A CN201811103473A CN110928576A CN 110928576 A CN110928576 A CN 110928576A CN 201811103473 A CN201811103473 A CN 201811103473A CN 110928576 A CN110928576 A CN 110928576A
Authority
CN
China
Prior art keywords
convolution
weight
data
weight value
processed
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
CN201811103473.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 CN201811103473.9A priority Critical patent/CN110928576A/zh
Priority to JP2021516435A priority patent/JP7461344B2/ja
Priority to US17/278,379 priority patent/US20210350205A1/en
Priority to EP19861877.9A priority patent/EP3855362A4/en
Priority to PCT/CN2019/106649 priority patent/WO2020057593A1/zh
Publication of CN110928576A publication Critical patent/CN110928576A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands

Abstract

本发明实施例公开了一种卷积神经网络的卷积处理方法、装置及存储介质,其中,所述方法包括:对所述卷积神经网络中子卷积核中的权重值进行分类;根据每一所述权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址;根据所述权重值的地址获取对应的待处理数据;根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果。

Description

一种卷积神经网络的卷积处理方法、装置及存储介质
技术领域
本发明实施例涉及神经网络深度学习技术,尤其涉及但不限于一种卷积神经网络的卷积处理方法、装置及存储介质。
背景技术
目前,人工智能技术在在全世界范围内得到了迅猛的发展,业界投入了大量的精力开展人工智能技术的研究工作,取得了显著的成果,特别是在图像检测和识别以及语言识别等方向上,人工智能的识别率已经超过了人类。
而与此同时,神经网络的规模不断增长,典型的神经网络动辄几十层甚至上百层,神经元之间的连接数以亿计,即随着算法的性能指标不断提升,计算量也不断的增加,完成推理需要的时间也需来越长。
但实际应用中,在如此高的运算量中,并不是所有的计算都是有效计算,对于算法经过定点化或是稀疏化,即通过训练对算法进行压缩、减枝或是聚类等,出现的权重为零的点,实际运行中是不需要计算的。
发明内容
本发明实施例提供一种卷积神经网络的卷积处理方法、装置及存储介质。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供了一种卷积神经网络的卷积处理方法,所述方法包括:
对所述卷积神经网络中子卷积核中的权重值进行分类;
根据每一所述权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址;
根据所述权重值的地址获取对应的待处理数据;
根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果。
第二方面,本发明实施例提供了一种卷积神经网络的卷积处理装置,所述装置包括:
分类单元,配置为对所述卷积神经网络中子卷积核中的权重值进行分类;
生成单元,配置为根据每一所述权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址;
获取单元,配置为根据所述权重值的地址获取对应的待处理数据;
卷积处理单元,配置为根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求实施例提供的卷积神经网络的卷积处理装置的装置。
本发明实施例提供了一种卷积神经网络的卷积处理方法、装置及存储介质,所述方法包括:对所述卷积神经网络中子卷积核中的权重值进行分类;根据每一所述权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址;根据所述权重值的地址获取对应的待处理数据;根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果。这样,通过权重转换和新处理单元的结合,能够充分发挥权重的稀疏特性。
附图说明
图1为本发明实施例一提供的卷积神经网络的卷积处理方法流程示意图;
图2A为本发明实施例二提供的卷积神经网络的卷积处理方法流程示意图;
图2B为本发明实施例二提供的另一卷积神经网络的卷积处理方法流程示意图;
图2C为本发明实施例二提供的另一卷积神经网络的卷积处理方法流程示意图;
图3为本发明实施例三提供的卷积神经网络的卷积处理方法流程示意图;
图4为本发明实施例三提供的权重分类重排的流程示意图;
图5为本发明实施例三提供的将原始卷积核切割为子卷积核的结构示意图;
图6为本发明实施例三提供的生成的指示符表和映射表的示意图;
图7为本发明实施例三提供的权重重排后的权重表项结构示意图;
图8为本发明实施例三提供的方式二权重重排后的权重表项结构示意图;
图9为本发明实施例三提供的方式三权重重排后的权重表项结构示意图;
图10为本发明实施例三提供的方式四权重重排后的权重表项结构示意图;
图11为本发明实施例三提供的卷积神经网络的卷积处理结构示意图;
图12为本发明实施例三提供的另一卷积神经网络的卷积处理结构示意图;
图13为本发明实施例三提供的另一卷积神经网络的卷积处理结构示意图;
图14为本发明实施例四提供的卷积神经网络的卷积处理装置的组成结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明实施例中,通过提供一种新的处理单元结构,相对于传统处理单元的乘加结构,将处理单元拆分为分类累加单元和分类乘法单元,扩展性更好,可以支持计算提前中止功能,时钟门控功能,以及零数据停止计算等功能;通过权重转换,可以根据神经网络结构的特性,选择适合的转换策略;通过权重转换和新处理单元的结合,能够充分发挥权重的稀疏特性。通过本发明实施例,神经网络的硬件加速器和处理器能够利用权重的稀疏特性减少计算量,降低处理时间,提高效能。
实施例一
本发明实施例提供一种卷积神经网络的卷积处理方法,图1为本发明实施例一提供的卷积神经网络的卷积处理方法流程示意图,如图1所示,该方法包括:
步骤S101,对卷积神经网络中子卷积核中的权重值进行分类。
这里,将卷积神经网络中的子卷积核根据预设策略进行分类,并根据分类结果将权重值进行重排,对重排后的权重值进行相应的转换。
在其他的实施例中,所述对所述卷积神经网络中子卷积核中的权重值进行分类,包括:将所述子卷积核中的相同权重值分为一类;或者,将绝对值相同的权重值分为一类;或者,将为2的幂次方倍数的权重值分为一类;或者,将正权重值和负权重值分别作为一类。
这里,以将所述子卷积核中的相同权重值分为一类为例,在本发明实施例中,可以仅将子卷积核中相同的权重值分为一类,只将相同的权重值排在一起。假设子卷积核的列宽、行宽和信道数分别为R、S、C,一共有256类权重值,根据相关技术中的技术方案,需要进行R*S*C次乘加操作,但通过本发明实施例,最多只需要R*S*C+256次加法操作和256次乘法操作。在其他的实施例中,也可以通过将正负绝对值相同的权值合并,或者通过将2的冥次方倍数权重合并等合并方式,把权重类型降到64种或是更少,或者将正数权重和负数权重分开合并,正数权重类型排在前面,负数则排在后面,重排后的指示符表和映射表存储在全局缓存中。
步骤S102,根据每一权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址。
这里,根据权重值的分类重排结果,可以将权重值转换为相应的指示符表和映射表,指示符表用于存储对数据进行相应操作的指示符;映射表用于表征权重值的地址。
本发明实施例中,指示符表示用于存储所有类别的权重值对应的相应操作的指示符,每一个指示符对应一类权重值,每一个指示符对应的映射表中存储有这一类权重值中所有的权重值对应的地址,其中,指示符对应的操作包括:权重值,结束地址,移位值,加减类型,扩展信息和分类指示;映射表包括权重值的地址,即表征权重值对应的行编号、列编号和信道数编号的参数。
步骤S103,根据权重值的地址获取对应的待处理数据。
这里,权重值的地址与待处理的数据地址有对应关系,可以根据该对应关系获取对应的待处理数据。待处理数据可以是图像,车辆运行数据、语言数据等。
步骤S104,根据指示符对待处理数据进行卷积操作,得到卷积结果。
这里,由于指示符包括:权重值,结束地址,移位值,加减类型,扩展信息和分类指示;可以根据指示符中的操作对待处理数据进行相应的处理,如进行移位、或者加/减操作。
本发明实施例中,通过权重转换提前对权重进行了非零压缩,使得卷积操作的时间只与非零权重的个数有关,完全利用了权重卷积核的稀疏率,极大的节省了推理运行时间。
实施例二
本发明实施例提供一种卷积神经网络的卷积处理方法,图2A为本发明实施例二提供的卷积神经网络的卷积处理方法流程示意图,图2A所述,该方法包括:
步骤S201a,将所述卷积神经网络中的原始卷积核进行切割,得到至少两个子卷积核。
这里,以使用编译器进行权重转换为例,可以通过编译器进行迭代操作,将一个R*S*CH大小的卷积核切割成多个R*S*C的子卷积核(其中,R为卷积核的列宽,S为卷积核的行宽,C为子卷积核的通道数,假设本层的卷积核通道数为Ch,则C<=Ch)。
步骤S202a,对每一所述子卷积核中的原始权重值进行定点化处理,得到所述子卷积核中的权重值。
步骤S203a,对卷积神经网络中子卷积核中的权重值进行分类。
这里,将卷积神经网络中的子卷积核根据预设策略进行分类,并根据分类结果将权重值进行重排,对重排后的权重值进行相应的转换。
步骤S204a,根据每一权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址。
这里,根据权重值的分类重排结果,可以将权重值转换为相应的指示符表和映射表,指示符表中的指示符用于存储对数据进行相应操作的指示符;映射表用于表征权重值的地址。
本发明实施例中,指示符表示用于存储所有类别的权重值对应的相应操作的指示符,每一个指示符对应一类权重值,每一个指示符对应的映射表中存储有这一类权重值中所有的权重值对应的地址,其中,指示符对应的操作包括:权重值,结束地址,移位值,加减类型,扩展信息和分类指示;映射表包括权重值的地址,即表征权重值对应的行编号、列编号和信道数编号的参数。
步骤S205a,根据权重值的地址获取对应的待处理数据。
这里,权重值的地址与待处理的数据地址有对应关系,可以根据该对应关系获取对应的待处理数据。
步骤S206a,根据指示符对待处理数据进行卷积操作,得到卷积结果。
这里,由于指示符包括:权重值,结束地址,移位值,加减类型,扩展信息和分类指示;可以根据指示符中的操作对待处理数据进行相应的处理,如进行移位、或者加/减操作。
在其他的实施例中,所述根据所述权重值的地址获取对应的待处理数据,包括:从输入的原始待处理数据集合中确定与所述子卷积核的行宽、列宽和信道数均相同的待处理数据集合;建立所述待处理数据集合中每一待处理数据的地址与所述子卷积核中相应的权重值的地址之间的对应关系;根据所述对应关系获取所述待处理数据集合中相应地址的待处理数据。
图2B为本发明实施例二提供的另一卷积神经网络的卷积处理方法流程示意图,如图2B所示,该方法包括:
步骤S201b,将卷积神经网络中的原始卷积核进行切割,得到至少两个子卷积核。
步骤S202b,对每一子卷积核中的原始权重值进行定点化处理,得到子卷积核中的权重值。
步骤S203b,对卷积神经网络中子卷积核中的权重值进行分类。
步骤S204b,根据每一权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址。
步骤S205b,从输入的原始待处理数据集合中确定与子卷积核的行宽、列宽和信道数均相同的待处理数据集合。
这里,原始待处理数据集合为所有待处理数据的集合,本发明实施例中,需要从原始待处理数据集合获取相应的待处理数据集合,该待处理数据集合的行宽、列宽和信道数与子卷积核的行宽、列宽和信道数均相同。
步骤S206b,建立待处理数据集合中每一待处理数据的地址与子卷积核中相应的权重值的地址之间的对应关系。
这里,待处理数据集合中每一待处理数据与子卷积核中相应的权重值是一一对应的关系,根据子卷积核中某一权重值的地址即可获取相应的某一待处理数据的地址。
步骤S207b,根据对应关系获取所述待处理数据集合中相应地址的待处理数据。
这里,根据子卷积核中某一权重值的地址即可获取相应的某一待处理数据的地址,则可以根据该地址确定相应的待处理数据。
步骤S208b,根据指示符对待处理数据进行卷积操作,得到卷积结果。
在其他的实施例中,所述根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果,包括:根据所述指示符获取每一类权重值中所有权重值对应的所有待处理数据的累加和;将所述累加和与对应的权重值相乘,得到部分和;将所有类别的权重值对应的所有的部分和相加,得到卷积结果。
图2C为本发明实施例二提供的另一卷积神经网络的卷积处理方法流程示意图,如图2C所示,该方法包括:
步骤S201c,将卷积神经网络中的原始卷积核进行切割,得到至少两个子卷积核。
步骤S202c,对每一子卷积核中的原始权重值进行定点化处理,得到子卷积核中的权重值。
步骤S203c,对卷积神经网络中子卷积核中的权重值进行分类。
步骤S204c,根据每一权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址。
这里,根据权重值的分类重排结果,可以将权重值转换为相应的指示符表和映射表,指示符表用于存储对数据进行相应操作的指示符;映射表用于表征权重值的地址。
本发明实施例中,指示符表用于存储所有类别的权重值对应的相应操作的指示符,每一个指示符对应一类权重值,每一个指示符对应的映射表中存储有这一类权重值中所有的权重值对应的地址,其中,指示符对应的操作包括:权重值,结束地址,移位值,加减类型,扩展信息和分类指示;映射表包括权重值的地址,即表征权重值对应的行编号、列编号和信道数编号的参数。
步骤S205c,从输入的原始待处理数据集合中确定与子卷积核的行宽、列宽和信道数均相同的待处理数据集合。
步骤S206c,建立所述待处理数据集合中每一待处理数据的地址与所述子卷积核中相应的权重值的地址之间的对应关系。
这里,权重值的地址与待处理的数据地址有对应关系,可以根据该对应关系获取对应的待处理数据。
步骤S207c,根据对应关系获取所述待处理数据集合中相应地址的待处理数据。
步骤S208c,根据所述指示符获取每一类权重值中所有权重值对应的所有待处理数据的累加和。
本发明实施例中,当读取同一个指示符内对应的映射表时,在处理单元的分类累加单元进行计算预处理和加/减操作。当同一个指示符内的映射表读取时,即没有达到同一权重的结束条件时,根据不同的实施策略,即权重重排策略,在处理单元的分类累加单元进行计算预处理,即移位操作和加/减操作,其中,移位量取决于指示符表中的配置,其中,加减取决于指示符表中的配置;当同一个指示符对应的映射表读取完时,查看分类结束标志,如果分类结束标志为未结束,则读取下一个指示符;当同一个指示符内的映射表读取完时,查看分类结束标志,如果分类结束标志为结束,则将累加/减的结果,对应的权重值和分类累加处理单元编号送到分类乘加处理单元;同时,读取下一个指示符,即下一类权重值对应的指示符,将分类累加处理器中的累加值清零,直到指示符表中的分类结束标志指示为所有类别的权重值对应的待处理数据的累加操作完成。
在其他的实施例中,所述根据所述指示符获取每一类权重值中所有权重值对应的所有待处理数据的累加和,包括:根据所述指示符对每一类权重值中所有权重值对应的所有待处理数据进行预处理;获取经过预处理的所有待处理数据的累加和,其中,所述待处理数据不为零。
这里,预处理可以为移位操作,具体移位值从指示符中的移位值获取。
步骤S209c,将所述累加和与对应的权重值相乘,得到部分和。
在其他的实施例中,所述将所述累加和与对应的权重值相乘,得到部分和,包括:如果确定所述累加和大于或者等于预设偏置值,将所述累加和与对应的权重值相乘,得到部分和。如果确定所述累加和小于预设偏置值,则终止卷积操作。
步骤S210c,将所有类别的权重值对应的所有的部分和相加,得到卷积结果。
在其他的实施例中,确定所述部分和与预设偏置值的差值;如果确定所述部分和与预设偏置值的差值大于或者等于零,将所有类别的权重值对应的所有部分和相加,得到卷积结果。如果确定所述部分和与预设偏置值的差值小于零,则终止卷积操作。
在其他的实施例中,通过时钟门控信号控制卷积操作的相应操作,可以把权重分类结束点作为使能信号触发时钟门控功能,在其他的时间里关闭门控功能。
本发明实施例中,通过权重转换提前对权重进行了非零压缩,使得卷积操作的时间只与非零权重的个数有关,完全利用了权重卷积核的稀疏率,极大的节省了推理运行时间。与此同时,新的处理单元结构扩展性更好,可以支持计算提前中止功能,时钟门控功能以及零数据停止计算等功能,即可以利用数据的稀疏特性,进一步降低运算量,通过时钟的门控减少功耗。
实施例三
本发明实施例提供一种卷积神经网络的卷积处理方法,图3为本发明实施例三提供的卷积神经网络的卷积处理方法流程示意图,如图3所示,该方法包括以下步骤:
步骤S301,权重转换单元进行权重转换。
这里,权重转换单元可以是软件编译码、脚本文件等工具或是采用人工方式,负责对卷积核进行切分和重排,通过对处理单元的模拟,以最优方式切分和重排卷积核,重排后的指示符表和映射表存储在全局缓存中。
本发明实施例中,通过编译器、脚本或手动方式对权重进行转换。以使用编译器进行权重转换为例,通过编译器进行迭代操作,将一个R*S*CH大小的卷积核切割成多个R*S*C的子卷积核(其中,R为卷积核的列宽,S为卷积核的行宽,C为子卷积核的通道数,假设本层的卷积核通道数为Ch,则C<=Ch),并对每个子卷积核中定点化后的权重值重新编排,将编排后的权重转换为指示符表和映射表的形式。
图4为本发明实施例三提供的权重分类重排的流程示意图,本发明实施例中,采用编译器进行权重转换,其中,编译器内部分为卷积核切割模块、重排策略选择模块、子卷积核重排模块和重排性能仿真模块,如图4所示,权重分类重排包括如下步骤:
步骤S401,编译器获取原始卷积核。
步骤S402,卷积核切割模块将原始卷积核进行切割。
这里,通过卷积核切割模块对原始卷积核进行切割,形成子卷积核。图5为本发明实施例三提供的将原始卷积核切割为子卷积核的结构示意图,图5示出了将原始卷积核切分成的多个子卷积核和各个子卷积核的行宽501、列宽502和信道数503。
步骤S403,重排策略选择模块选择与子卷积核对应的重排策略。
步骤S404,子卷积核重排模块根据重排策略对子卷积核进行重排。
步骤S405,重排性能仿真模块根据重排的结果生成对应的指示符表和映射表。
图6为本发明实施例三提供的生成的指示符表和映射表的示意图,如图6所示,指示符表601和映射表602存在对应的关联关系。图7为本发明实施例三提供的权重重排后的权重表项结构示意图,如图7所示,指示符表71用于存储权重值701,结束地址702,移位值703,加减类型704,扩展信息705和分类指示706;映射表72中表示表征对权重的行、列和信道数的编址方式707。编码方式可以用L(iwx,jwx,kwx)表示,L(iwx,jwx,kwx)表示对行、列和信道数的编址方式,其中iwx表示权重wx所对应的行编号,取值范围为(0,R-1)其中jwx表示权重wx所对应的列编号,取值范围为(0,R-1);kwx表示权重wx所对应的信道编号,取值范围(0,R-1),R为子卷积的核的列宽。
在其他的实施例中,还可以通过编译脚本或手动操作等对权重进行转换。
本发明实施例中,可以选择不同的重排策略,每种重排策略对应一种重排模式,以8Bit定点化后的权重为例说明这些重排策略:
方式一:无策略重排,不启用提前停止功能。
本发明实施例中,将相同的权重重排在一起,假设如果有256个权重,该权重对应的卷积核的列宽为R,行宽为S,通道数为C,通过本发明实施例,可以使原来需要R*S*C次的乘加操作,转换成最多只需要R*S*C+256次加法操作和256次乘法操作。
方式二:无策略重排,启用提前停止功能。
本发明实施例中,只把相同权重重排在一起,先排正数权重,之后排负数权重。如果有256个权重,该权重对应的卷积核的列宽为R,行宽为S,通道数为C,通过本发明实施例,可以使原来需要R*S*C次乘加操作,而转换后最多只需要R*S*C+256次加法操作和256次乘法操作,同时,当卷积计算的累加和小于偏置时,可以提前停止卷积运算。
图8为本发明实施例三提供的方式二权重重排后的权重表项结构示意图,如图8所示,指示符表81中的每一行表示一个权重分类对应的指示符,第1行包括:权重值为1,结束地址为权重1结束地址,无移位,进行加操作,扩展信息,权重和分类结束指示;第2行包括:权重值为2,结束地址为权重2结束地址,无移位,进行加操作,扩展信息,权重和分类结束指示;第3行包括:权重值为3,结束地址为权重3结束地址,无移位,进行加操作,扩展信息,权重和分类结束指示;第4行包括:权重值为-1,结束地址为权重-1结束地址,无移位,进行减操作,扩展信息,重排结束指示。映射表82表征各个指示符对应的各类权重的权重值的地址。
方式三:优先减少类型重排,不启用提前停止功能。
本发明实施例中,可以通过将正负绝对值相同的权值合并,2的冥次方倍数权重合并等合并方式,把权重类型降到64种或是更少,以降为64种分类为例,这种情况下不启用卷积的提前停止功能,假设该权重对应的卷积核的列宽为R,行宽为S,通道数为C,通过本发明实施例,可以使原来需要R*S*C次乘加操作,而转换后最多只需要R*S*C+64次加法操作和64次乘法操作。
图9为本发明实施例三提供的方式三权重重排后的权重表项结构示意图,如图9所示,指示符表91中的每一行表示一个权重分类对应的指示符,第1行包括:权重值为1,结束地址为权重1结束地址,无移位,进行加操作,扩展信息,权重结束指示;第2行包括:权重值为-1,结束地址为权重-1结束地址,无移位,进行减操作,扩展信息,权重结束指示;第3行包括:权重值为2,结束地址为权重2结束地址,移位1,进行加操作,扩展信息,权重结束指示;第4行包括:权重值为-64,结束地址为权重-64结束地址,移位6,进行减操作,扩展信息,权重结束指示;第5行包括:权重值为3,结束地址为权重3结束地址,无移位,进行加操作,扩展信息,权重结束指示;第6行包括:权重值为n-1,结束地址为权重n-1结束地址,移位x,进行加/减操作,扩展信息,重排结束指示。映射表92表征各个指示符对应的各类权重的权重值的地址。
方式四:启用提前停止功能,尽量合并类型。
本发明实施例中,将正数权重和负数权重分开合并,正数权重类型排在前面,负数则排在后面,可以兼容两种功能的特点,但通过本方式进行权重重排的乘法的使用率比方式三中乘法的使用率高。
图10为本发明实施例三提供的方式四权重重排后的权重表项结构示意图,如图10所示,指示符表1001中的每一行表示一个权重分类对应的指示符,第1行包括:权重值为1,结束地址为权重1结束地址,无移位,进行加操作,扩展信息,权重结束指示;第2行包括:权重值为2,结束地址为权重2结束地址,移位1,进行加操作,扩展信息,权重结束指示;第3行包括:权重值为64,结束地址为权重64结束地址,移位6,进行加操作,扩展信息,权重和分类结束指示;第4行包括:权重值为3,结束地址为权重3结束地址,无移位,进行加操作,扩展信息,权重结束指示;第5行包括:权重值为127,结束地址为权重127结束地址,无移位,进行加操作,扩展信息,权重和分类结束指示;第6行包括:权重值为-1,结束地址为权重-1结束地址,无移位,进行减操作,扩展信息,权重结束指示;第7行包括:权重值为-128,结束地址为权重-128结束地址,无移位,进行减操作,扩展信息,重排结束指示。映射表1002表征各个指示符对应的各类权重的权重值的地址。
步骤S302,控制器进行命令解析和参数配置。
这里,图11为本发明实施例三提供的卷积神经网络的卷积处理结构示意图,如图11所示,控制单元1101中的控制器对指令1102进行解析之后对处理单元1103进行参数配置,通过从缓存单元1104中的全局缓存中的数据1105选择输入的数据块,对处理单元进行功能参数配置。
步骤S303,数据块和权重指示符导入。
这里,对于一个处理单元的一次调度执行,从全局缓存中读取与切分后子卷积核相同大小,即列宽为R,行宽为S,通道数为C(R*S*C)的数据存入到数据缓存中(其中,R为子卷积核的列宽,S为子卷积核的行宽,C为子卷积核的通道数)。从全局缓存中将需要处理的子卷积核的权重指示符读取到指示符缓存中。
步骤S304,读取数据流。
这里,按照顺序读取权重重排后的映射表内容,以映射表内容为地址或者选择条件,从处理器内部缓存中读取数据。本发明实施例中,处理单元的控制器将第一个指示符读到控制器中,之后按照顺序读取权重重排后的映射表内容,以映射表内容为地址/选择条件,从数据缓存中读取数据。
步骤S305,分类累加单元进行分类累加操作。
这里,分类累加单元主要完成某个权重分类的累加操作,同时支持零数据跳过操作。
本发明实施例中,当读取同一个指示符表项内对应的映射表项时,在处理单元的分类累加单元进行计算预处理和加/减操作。图12为本发明实施例三提供的另一卷积神经网络的卷积处理结构示意图,如图12所示,缓存单元包括:全局缓存1201、权重指示符缓存1202、权重映射表缓存1203和数据缓存1204;处理单元122包括分类累加单元1205与分类乘法及部分和累加单元1206,控制单元123用于接收和发送控制各个单元的控制指令。
在其他的实施例中,图13为本发明实施例三提供的另一卷积神经网络的卷积处理结构示意图,如图13所示,处理单元13包括分类累加单元131和分类乘法及部分和累加单元132,其中,分类累加单元131包括:控制器模块1301、分类累加和模块1302、预处理模块1303、判零停止模块1304和加/减操作模块1305;分类乘法及部分和累加单元132包括:停止判断模块1306、乘法模块1307、部分和模块1308和加法模块1309。在处理单元13的分类累加单元131进行计算预处理和加/减操作。根据不同的实施策略,即权重重排策略在处理单元13的分类累加单元131进行计算预处理,即移位操作和加/减操作,其中,移位量取决于指示符表中的配置;加/减操作取决于指示符表中的配置。当输入的数据为0时,暂停或者停止处理累加/减动作。分类乘法和部分和累加单元132用于完成分类累加单元131输出的累加和与对应的权重的乘法操作,以及将乘法结果累加到部分和的工作。同时支持时钟门控制功能和提前停止功能。
步骤S306,分类累加单元判断是否分类累加是否结束。
这里,当同一个指示符表项对应的映射表项读取完时,查看分类结束标志,如果分类结束标志为未结束,则读取下一个指示符表项,重复步骤S305。
步骤S307,分类切换控制。
这里,当同一个指示符内的映射表项读取完时,查看分类结束标志,如果分类结束标志为结束,则将累加/减的结果,对应的权重值和分类累加处理单元编号送到分类乘加处理单元;同时,读取下一个指示符表项,将分类累加处理器中的累加值清零,重新开始步骤S305的操作,直到指示符表项的中的分类结束标志指示为整个卷积操作完成。
步骤S308,分类乘法和部分和累加单元进行分类乘法。
这里,分类乘法和部分和累加单元主要完成分类累加单元输出的累加和与对应的权重的乘法操作,以及将乘法结果累加到部分和的工作。同时支持时钟门控制功能和提前停止功能。
本发明实施例中,分类乘加处理单元完成输入的权重和数据的乘法操作,并将乘的结果累加到部分和中。如果配置中,选择判断是否能够提前停止运算,则判断当前部分和的值与偏置值的差值是否小于0,如果小于零,则反馈给处理单元的控制器,停止处理。
时钟门控以重排后的权重分类结束点为使能信号,其他时间里可以关闭时钟。根据步骤S301所提供的不同实施方案,配置分类乘法单元是否能够提前停止运算,如果使能提前停止功能,则判断当前部分和的值与偏置值的差值是否小于0,如果小于零,则反馈给处理单元的控制器,停止处理。如果未使能此功能,则不进行部分值与偏置值的判断。
本发明实施例中,稀疏卷积神经网络的实现装置包括:权重转换单元、缓存单元、控制单元和处理单元。
权重转换单元可以是软件编译码、脚本文件等工具或是可以采用人工方式,负责对卷积核进行切分和重排,通过对处理单元的模拟,以最优方式切分和重排卷积核,重排后的指示符表和映射表存储在全局缓存中。
处理单元分为两个部分,分类累加单元与分类乘法和部分和累加单元。
分类累加单元用于完成某个权重分类的累加操作,同时支持零数据跳过操作。
分类乘法和部分和累加单元用于完成分类累加单元输出的部分和与对应的权重的乘法操作,以及乘法结果到部分和的累加工作。同时支持时钟门控制功能和提前停止功能。
缓存单元可以采用单级结构或是多级缓存结构。以二级缓存为例:
全局缓存给数据缓存和权重指示符缓存以及权重映射缓存提供一次调度,即子卷积核的卷积操作所需要的数据和权重指示符表和权重映射表。
权重映射缓存将权重映射表值送给数据缓存,作为数据缓存的地址,读取对应位置的数据,送给分类累加单元。
权重指示符缓存,将指示符送给分类累加单元,用来控制分类累加单元的内部操作,以及是否需要将分类累加单元运算结果送给分类乘法单元继续计算。
本发明实施例中,通过权重转换和新处理单元相结合,提前对权重进行了非零压缩,使得卷积操作的时间只与非零权重的个数有关,完全利用了权重卷积核的稀疏率,极大的节省了推理运行时间。与此同时,新的处理单元结构扩展性更好,可以支持计算提前中止功能,时钟门控功能以及零数据停止计算等功能,即可以利用数据的稀疏特性,进一步降低运算量,通过时钟的门控减少功耗。
实施例四
基于前述的实施例,本发明实施例提供一种卷积神经网络的卷积处理装置,该装置所包括的各单元、以及各单元所包括的各子单元,都可以通过计算机设备的处理器来实现;当然也可通过的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等,其中,计算机设备可以是手机、笔记本、台式机、服务器。
图14为本发明实施例四提供的卷积神经网络的卷积处理装置的组成结构示意图,如图14所示,所述装置包括:
分类单元1401,配置为对所述卷积神经网络中子卷积核中的权重值进行分类;
生成单元1402,配置为根据每一所述权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址;
获取单元1403,配置为根据所述权重值的地址获取对应的待处理数据;
卷积处理单元1404,配置为根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果。
在其他的实施例中,所述装置还包括:
切割单元,配置为将所述卷积神经网络中的原始卷积核进行切割,得到至少两个子卷积核;
定点化单元,配置为对每一所述子卷积核中的原始权重值进行定点化处理,得到所述子卷积核中的权重值。
在其他的实施例中,所述获取单元,还配置为:
从输入的原始待处理数据集合中确定与所述子卷积核的列宽、行宽和信道数均相同的待处理数据集合;
建立所述待处理数据集合中每一待处理数据的地址与所述子卷积核中相应的权重值的地址之间的对应关系;
根据对应关系获取所述待处理数据集合中相应地址的待处理数据。
在其他的实施例中,所述卷积处理单元,还配置为:
根据所述指示符获取每一类权重值中所有权重值对应的所有待处理数据的累加和;
将所述累加和与对应的权重值相乘,得到部分和;
将所有类别的权重值对应的所有的部分和相加,得到卷积结果。
在其他的实施例中,所述卷积处理单元,还配置为:
根据所述指示符对每一类权重值中所有权重值对应的所有待处理数据进行预处理;获取经过预处理的所有待处理数据的累加和,其中,所述待处理数据不为零。
在其他的实施例中,所述卷积处理单元,还配置为:
如果确定所述累加和大于或者等于预设偏置值,将所述累加和与对应的权重值相乘,得到部分和。
在其他的实施例中,所述卷积处理单元,还配置为:
确定所述部分和与预设偏置值的差值;
如果确定所述部分和与预设偏置值的差值大于或者等于零,将所有类别的权重值对应的所有部分和相加,得到卷积结果。
在其他的实施例中,分类单元,还配置为:
将所述子卷积核中的相同权重值分为一类;或者,
将绝对值相同的权重值分为一类;或者,
将为2的幂次方倍数的权重值分为一类;或者,
将正权重值和负权重值分别作为一类。
需要说明的是,本发明实施例中,如果以软件功能单元的形式实现上述卷积神经网络的卷积处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备执行本发明各个实施例所述装置的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
对应地,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例提供的卷积神经网络的卷积处理方法中的步骤。
对应地,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例提供的卷积神经网络的卷积处理方法中的步骤。
本发明装置实施例的描述,与上述装置实施例的描述是类似的,具有同装置实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明装置实施例的描述而理解。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述装置实施例的描述是类似的,具有同装置实施例相似的有益效果。对于本发明存储介质和设备实施例中未披露的技术细节,请参照本发明装置实施例的描述而理解。
当然,本发明实施例中的装置还可有其他类似的协议交互实现案例,在不背离本发明精神及其实质的情况下,本领域的技术人员当可根据本发明实施例做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明装置所附的权利要求的保护范围。
本领域内的技术人员应明白,本发明的实施例可提供为装置、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的装置、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和装置,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述装置实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述装置实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台服务器执行本发明各个实施例所述装置的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种卷积神经网络的卷积处理方法,其特征在于,所述方法包括:
对所述卷积神经网络中子卷积核中的权重值进行分类;
根据每一所述权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址;
根据所述权重值的地址获取对应的待处理数据;
根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述卷积神经网络中的原始卷积核进行切割,得到至少两个子卷积核;
对每一所述子卷积核中的原始权重值进行定点化处理,得到所述子卷积核中的权重值。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述权重值的地址获取对应的待处理数据,包括:
从输入的原始待处理数据集合中确定与所述子卷积核的列宽、行宽和信道数均相同的待处理数据集合;
建立所述待处理数据集合中每一待处理数据的地址与所述子卷积核中相应的权重值的地址之间的对应关系;
根据所述对应关系获取所述待处理数据集合中相应地址的待处理数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果,包括:
根据所述指示符获取每一类权重值中所有权重值对应的所有待处理数据的累加和;
将所述累加和与对应的权重值相乘,得到部分和;
将所有类别的权重值对应的所有的部分和相加,得到卷积结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述指示符获取每一类权重值中所有权重值对应的所有待处理数据的累加和,包括:
根据所述指示符对每一类权重值中所有权重值对应的所有待处理数据进行预处理;获取经过预处理的所有待处理数据的累加和,其中,所述待处理数据不为零。
6.根据权利要求4所述的方法,其特征在于,所述将所述累加和与对应的权重值相乘,得到部分和,包括:
如果确定所述累加和大于或者等于预设偏置值,将所述累加和与对应的权重值相乘,得到部分和。
7.根据权利要求4所述的方法,其特征在于,所述将所有类别的权重值对应的部分和相加,得到卷积结果,包括:
确定所述部分和与预设偏置值的差值;
如果确定所述部分和与预设偏置值的差值大于或者等于零,将所有类别的权重值对应的所有部分和相加,得到卷积结果。
8.根据权利要求1所述的方法,其特征在于,所述对所述卷积神经网络中子卷积核中的权重值进行分类,包括:
将所述子卷积核中的相同权重值分为一类;或者,
将绝对值相同的权重值分为一类;或者,
将为2的幂次方倍数的权重值分为一类;或者,
将正权重值和负权重值分别作为一类。
9.一种卷积神经网络的卷积处理装置,其特征在于,所述装置包括:
分类单元,配置为对所述卷积神经网络中子卷积核中的权重值进行分类;
生成单元,配置为根据每一所述权重值的分类结果,为对应的权重值生成用于存储对数据进行相应操作的指示符和用于表征权重值的地址;
获取单元,配置为根据所述权重值的地址获取对应的待处理数据;
卷积处理单元,配置为根据所述指示符对所述待处理数据进行卷积操作,得到卷积结果。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1至8任一项提供的卷积神经网络的卷积处理方法。
CN201811103473.9A 2018-09-20 2018-09-20 一种卷积神经网络的卷积处理方法、装置及存储介质 Pending CN110928576A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811103473.9A CN110928576A (zh) 2018-09-20 2018-09-20 一种卷积神经网络的卷积处理方法、装置及存储介质
JP2021516435A JP7461344B2 (ja) 2018-09-20 2019-09-19 畳み込みニューラルネットワークの畳み込み処理方法、装置及び記憶媒体
US17/278,379 US20210350205A1 (en) 2018-09-20 2019-09-19 Convolution Processing Method and Apparatus for Convolutional Neural Network, and Storage Medium
EP19861877.9A EP3855362A4 (en) 2018-09-20 2019-09-19 CONVOLUTION TREATMENT PROCESS, DEVICE AND CONVOLUTIONAL NEURONAL NETWORK STORAGE SUPPORT
PCT/CN2019/106649 WO2020057593A1 (zh) 2018-09-20 2019-09-19 一种卷积神经网络的卷积处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811103473.9A CN110928576A (zh) 2018-09-20 2018-09-20 一种卷积神经网络的卷积处理方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN110928576A true CN110928576A (zh) 2020-03-27

Family

ID=69856439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811103473.9A Pending CN110928576A (zh) 2018-09-20 2018-09-20 一种卷积神经网络的卷积处理方法、装置及存储介质

Country Status (5)

Country Link
US (1) US20210350205A1 (zh)
EP (1) EP3855362A4 (zh)
JP (1) JP7461344B2 (zh)
CN (1) CN110928576A (zh)
WO (1) WO2020057593A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885213A (zh) * 2020-06-09 2020-11-03 中国科学院信息工程研究所 一种基于门控卷积变分自编码器的IPv6地址发现方法和装置
WO2022000225A1 (zh) * 2020-06-30 2022-01-06 华为技术有限公司 一种卷积神经网络数据处理方法及其相关设备
JP7485396B2 (ja) 2022-10-18 2024-05-16 國立中正大學 内積計算装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304923B (zh) * 2017-12-06 2022-01-18 腾讯科技(深圳)有限公司 卷积运算处理方法及相关产品
CN111783378B (zh) * 2020-06-30 2022-05-17 迈普通信技术股份有限公司 数据处理方法及fpga
JP2023056644A (ja) * 2021-10-08 2023-04-20 LeapMind株式会社 ニューラルネットワーク回路およびニューラルネットワーク回路の制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4513865B2 (ja) * 2008-01-25 2010-07-28 セイコーエプソン株式会社 並列演算装置および並列演算方法
CN107977704B (zh) * 2017-11-10 2020-07-31 中国科学院计算技术研究所 权重数据存储方法和基于该方法的神经网络处理器
CN108416425B (zh) * 2018-02-02 2020-09-29 浙江大华技术股份有限公司 一种卷积运算方法及装置
CN108510058B (zh) * 2018-02-28 2021-07-20 中国科学院计算技术研究所 神经网络中的权重存储方法以及基于该方法的处理器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885213A (zh) * 2020-06-09 2020-11-03 中国科学院信息工程研究所 一种基于门控卷积变分自编码器的IPv6地址发现方法和装置
WO2022000225A1 (zh) * 2020-06-30 2022-01-06 华为技术有限公司 一种卷积神经网络数据处理方法及其相关设备
JP7485396B2 (ja) 2022-10-18 2024-05-16 國立中正大學 内積計算装置

Also Published As

Publication number Publication date
JP2022502747A (ja) 2022-01-11
WO2020057593A1 (zh) 2020-03-26
JP7461344B2 (ja) 2024-04-03
EP3855362A4 (en) 2021-11-24
US20210350205A1 (en) 2021-11-11
EP3855362A1 (en) 2021-07-28

Similar Documents

Publication Publication Date Title
CN110928576A (zh) 一种卷积神经网络的卷积处理方法、装置及存储介质
CN110110851B (zh) 一种lstm神经网络的fpga加速器及其加速方法
CN107239829B (zh) 一种优化人工神经网络的方法
US10691996B2 (en) Hardware accelerator for compressed LSTM
JP6605573B2 (ja) 並列ディシジョン・ツリー・プロセッサー・アーキテクチャ
WO2018004829A1 (en) Methods and apparatus for subgraph matching in big data analysis
CN109948036B (zh) 一种分词词项权重的计算方法和装置
CN106610867B (zh) 一种片上网络任务调度方法及装置
US20200110988A1 (en) Computing device and method
CN113705775A (zh) 一种神经网络的剪枝方法、装置、设备及存储介质
CN116127899B (zh) 芯片设计系统、方法、电子设备和存储介质
CN112580793A (zh) 基于时间域存内计算的神经网络加速器及加速方法
CN109634714B (zh) 一种智能调度的方法及装置
Peng et al. Adaptive runtime exploiting sparsity in tensor of deep learning neural network on heterogeneous systems
CN113807499A (zh) 轻量级神经网络模型训练方法、系统、装置及存储介质
CN108604313B (zh) 自动化的预测性建模与框架
Bağbaba et al. Improving the I/O performance of applications with predictive modeling based auto-tuning
CN114547286A (zh) 一种信息搜索方法、装置及电子设备
CN110309139B (zh) 高维近邻对搜索方法和系统
CN104572134A (zh) 一种优化方法及装置
CN1511303A (zh) 优化图像质量随机算法系统的可伸缩可扩展的系统和方法
CN111767204A (zh) 溢出风险检测方法、装置及设备
CN117332810A (zh) 用于优化人工神经网络图的峰值存储器使用的方法和系统
CN114297946B (zh) 一种实现多学科仿真模型降阶的工业互联网平台
US20230004788A1 (en) Hardware architecture for processing tensors with activation sparsity

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