CN109597965B - 基于深度神经网络的数据处理方法、系统、终端及介质 - Google Patents
基于深度神经网络的数据处理方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN109597965B CN109597965B CN201811376251.4A CN201811376251A CN109597965B CN 109597965 B CN109597965 B CN 109597965B CN 201811376251 A CN201811376251 A CN 201811376251A CN 109597965 B CN109597965 B CN 109597965B
- Authority
- CN
- China
- Prior art keywords
- matrix
- neural network
- deep neural
- input
- hidden layer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于深度神经网络的数据处理方法,所述方法包括:获取输入至深度神经网络隐藏层的输入矩阵;判断所述隐藏层的运算类型是否为矩阵乘运算;若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算;获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;输出所述输出矩阵。本发明还公开了一种深度神经网络的数据处理系统、终端及介质。本发明能够提高深度神经网络中矩阵乘运算的运算速度,从而缩短整体计算时间。
Description
技术领域
本发明涉及神经网络技术领域,尤其涉及基于深度神经网络的数据处理方法、系统、终端及介质。
背景技术
随着人工智能的发展,深度神经网络已经广泛应用于社会安全、公共服务等各种领域,基于深度神经网络的各种深度学习框架不断提出;而随着深度神经网络层数的不断增加,深度学习框架的参数量和计算量也变得越来越大;以矩阵为基本单元进行操作的深度学习框架中,目前现有计算方法是采用矩阵直接相乘的方式,存在的弊端是:当矩阵尺寸过大,不论在CPU(Central Processing Unit,中央处理器)还是GPU(Graphics ProcessingUnit,图形处理器)上做矩阵直接相乘都会带来较大的耗能,且算法的运算效率低。
发明内容
本发明的主要目的在于提出一种基于深度神经网络的数据处理方法、系统、终端及介质,旨在通过对深度神经网络中的输入矩阵及参数矩阵进行分块后再分配到不同的计算单元进行乘法运算,以此提高了深度神经网络矩阵乘运算的运算速度,缩短了整体计算时间。
为实现上述目的,本发明提供一种基于深度神经网络的数据处理方法,应用于深度神经网络,所述数据处理方法包括如下步骤:
获取输入至深度神经网络隐藏层的输入矩阵;
判断所述隐藏层的运算类型是否为矩阵乘运算;
若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算;
获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;
输出所述输出矩阵。
可选地,所述获取输入至深度神经网络隐藏层的输入矩阵的步骤之前还包括:
获取输入至深度神经网络输入层的目标数据;
基于所述目标数据,根据预设的数据预处理规则对所述目标数据进行预处理,得到输入矩阵。
可选地,所述获取输入至深度神经网络输入层的目标数据的步骤之前还包括:
建立深度神经网络,所述深度神经网络以矩阵为运算单元。
可选地,所述判断所述隐藏层的运算类型是否为矩阵乘运算的步骤之后还包括:
若否,则基于所述隐藏层的运算类型,对所述输入矩阵进行计算以获取所述隐藏层的输出矩阵,并进入步骤:输出所述输出矩阵。
可选地,所述输出所述输出矩阵的步骤之后还包括:
根据预设的神经元激活函数,对所述输出矩阵激活得到激活值;
根据所述激活值,获取所述目标数据基于所述深度神经网络的决策结果。
可选地,所述根据所述激活值,获取所述目标数据基于所述深度神经网络的决策结果的步骤包括:
判断所述激活值是否为所述深度神经网络的输出特征;
若是,则基于所述深度神经网络决策层对所述激活值进行决策,得到决策结果。
可选地,所述判断所述激活值是否为所述深度神经网络的输出特征的步骤之后还包括:
若否,则将所述激活值作为输入矩阵输入至所述深度神经网络的后一层隐藏层,并进入步骤:判断所述隐藏层的运算类型是否为矩阵乘运算。
此外,为实现上述目的,本发明还提供一种基于深度神经网络的数据处理系统,包括获取模块、判断模块、执行模块、计算模块和输出模块;
所述获取模块,用于获取输入至深度神经网络隐藏层的输入矩阵,并将所述输入矩阵发送至所述执行模块;
所述判断模块,用于判断所述隐藏层的运算类型是否为矩阵乘运算,并将判断结果发送至所述执行模块;
所述执行模块,用于在接收到所述判断模块发送的判断结果为“是”后,根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,并将分块后的输入矩阵、分块后的网络参数矩阵分别分配至所述计算模块的若干个计算节点;
所述计算模块,用于根据所述若干个计算节点接收到的分块后的输入矩阵、分块后的网络参数矩阵进行矩阵乘运算,并将分块计算结果组合作为输出矩阵;
所述输出模块,用于输出所述输出矩阵。
此外,为实现上述目的,本发明还提供一种移动终端,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于深度神经网络的数据处理程序,所述基于深度神经网络的数据处理程序被处理器执行时实现如上所述的基于深度神经网络的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种可读存储介质,应用于计算机,所述可读存储介质上存储有基于深度神经网络的数据处理程序,所述基于深度神经网络的数据处理程序被处理器执行时实现如上所述的基于深度神经网络的数据处理方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明通过获取输入至深度神经网络隐藏层的输入矩阵;判断所述隐藏层的运算类型是否为矩阵乘运算;若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算;获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;输出所述输出矩阵。对深度神经网络中的输入矩阵及参数矩阵进行分块,并将分块后的矩阵分配到不同的计算单元进行乘法运算,实现了对复杂的矩阵乘法的并行化计算,能够提升深度神经网络中矩阵乘运算的运算速度,从而能够提升深度神经网络的整体计算效率,节约整体计算时间。
附图说明
图1为本发明实施例方案涉及的移动终端的硬件运行环境的结构示意图;
图2为本发明基于深度神经网络的数据处理方法第一实施例的流程示意图;
图3为本发明基于深度神经网络的数据处理方法第二实施例的流程示意图;
图4为本发明深度神经网络的基本结构示意图;
图5为本发明基于深度神经网络的数据处理方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明实施例的主要解决方案是:获取输入至深度神经网络隐藏层的输入矩阵;判断所述隐藏层的运算类型是否为矩阵乘运算;若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算;获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;输出所述输出矩阵。
现有技术中,随着深度神经网络层数的不断增加,深度学习框架的参数量和计算量也变得越来越大;以矩阵为基本单元进行运算的深度学习框架中,目前采用的矩阵直接相乘的计算方法,给处理器带来较大的耗能,且算法的运算效率低。
本发明通过获取输入至深度神经网络隐藏层的输入矩阵;判断所述隐藏层的运算类型是否为矩阵乘运算;若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算;获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;输出所述输出矩阵;对深度神经网络中的输入矩阵及参数矩阵进行分块,并将分块后的矩阵分配到不同的计算单元进行乘法运算,实现了对复杂的矩阵乘法的并行化计算,能够提升深度神经网络中矩阵乘运算的运算速度,从而能够提升深度神经网络的整体计算效率,节约整体计算时间。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,图1为本发明实施例方案涉及的移动终端的硬件运行环境的结构示意图。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
如图1所示,该移动终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于深度神经网络的数据处理程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于深度神经网络的数据处理程序,并执行以下操作:
获取输入至深度神经网络隐藏层的输入矩阵;
判断所述隐藏层的运算类型是否为矩阵乘运算;
若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算;
获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;
输出所述输出矩阵。
进一步地,处理器1001可以调用存储器1005中存储的基于深度神经网络的数据处理程序,还执行以下操作:
获取输入至深度神经网络输入层的目标数据;
基于所述目标数据,根据预设的数据预处理规则对所述目标数据进行预处理,得到输入矩阵。
进一步地,处理器1001可以调用存储器1005中存储的基于深度神经网络的数据处理程序,还执行以下操作:
建立深度神经网络,所述深度神经网络以矩阵为运算单元。
进一步地,处理器1001可以调用存储器1005中存储的基于深度神经网络的数据处理程序,还执行以下操作:
若所述隐藏层的运算类型不是矩阵乘运算,则基于所述隐藏层的运算类型,对所述输入矩阵进行计算以获取所述隐藏层的输出矩阵,并进入步骤:输出所述输出矩阵。
进一步地,处理器1001可以调用存储器1005中存储的基于深度神经网络的数据处理程序,还执行以下操作:
根据预设的神经元激活函数,对所述输出矩阵激活得到激活值;
根据所述激活值,获取所述目标数据基于所述深度神经网络的决策结果。
进一步地,处理器1001可以调用存储器1005中存储的基于深度神经网络的数据处理程序,还执行以下操作:
判断所述激活值是否为所述深度神经网络的输出特征;
若是,则基于所述深度神经网络决策层对所述激活值进行决策,得到决策结果。
进一步地,处理器1001可以调用存储器1005中存储的基于深度神经网络的数据处理程序,还执行以下操作:
若所述激活值不是所述深度神经网络的输出特征,则将所述激活值作为输入矩阵输入至所述深度神经网络的后一层隐藏层,并进入步骤:判断所述隐藏层的运算类型是否为矩阵乘运算。
基于上述硬件结构,提出本发明基于深度神经网络的数据处理方法实施例。
参照图2,图2为本发明基于深度神经网络的数据处理方法第一实施例的流程示意图,所述方法包括:
步骤S100,获取输入至深度神经网络隐藏层的输入矩阵;
随着人工智能的发展,深度神经网络已经广泛应用于社会安全、公共服务等各种领域,基于深度神经网络的各种深度学习框架不断提出;而随着深度神经网络层数的不断增加,深度学习框架的参数量和计算量也变得越来越大;以矩阵为基本单元进行操作的深度学习框架中,目前现有计算方法是采用矩阵直接相乘的方式,存在的弊端是:当矩阵尺寸过大,不论在CPU(Central Processing Unit,中央处理器)还是GPU(Graphics ProcessingUnit,图形处理器)上做矩阵直接相乘都会带来较大的耗能,且算法的运算效率低。
在深度学习领域中,主要处理的数据包括视频、图像、语音、文本等;首先需要将这些数据处理成深度学习网络可以接受的输入形式,一般而言为矩阵,然后将处理后的数据输入到带有大量参数的深度学习网络,进行逐层计算,最后将经过多层运算得到的特征进行分类、回归等应用,在深度学习网络的逐层的运算中,矩阵相乘是主要的运算操作之一,但目前主流的深度学习框架采用直接相乘的方法进行矩阵相乘操作,增加了资源消耗,降低了算法的运算效率。
在本实施例中,首先将目标数据如视频、文本或语音等数据进行数据清洗、变换、规约等数据预处理操作,将目标数据转换成深度学习网络可以接受的输入:输入矩阵,将输入矩阵输入至深度神经网络的隐藏层。
可以理解的是,深度神经网络可以包括若干个隐藏层,第一隐藏层接收来自输入层的输入矩阵,其它隐藏层接收来自前一隐藏层的输入矩阵。
步骤S200,判断所述隐藏层的运算类型是否为矩阵乘运算;
每一隐藏层根据其算法需求会有不同的运算类型,如乘法、加法、池化等,矩阵乘特别是高阶矩阵直接相乘会造成处理器能耗增大,并且计算速度缓慢,数据处理效率低下。
本实施例中,若所述隐藏层的运算类型是矩阵乘运算,则进入步骤S300,根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算。
在本实施例中,当深度神经网络进行矩阵相乘操作时,将输入矩阵及隐藏层的网络参数矩阵分别按预设的分块规则进行分块,然后将分块后的输入矩阵、分块后的网络参数矩阵分别分配到不同的计算节点进行计算;若干个计算节点可以分布在单台服务器上的一块GPU中或是分布在单台服务器上的多块GPU中,还可以采用分布式技术,若干个计算节点分布在分布式环境下的多台服务器的多块GPU中,由此,将大量的分块矩阵分配到多个服务器上,平衡了单台计算机的负载,节约整体计算时间,提升计算效率。
步骤S400,获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;
将分块矩阵相乘的结果组合成新的矩阵作为当前隐藏层的输出矩阵。
步骤S500,输出所述输出矩阵。
输出矩阵输出后,作为一种实施方式,可以经过神经元激活函数进行运算,得到神经元的激活值,接下来输入到下一隐藏层进行计算或者输入决策层决策;若当前层的输出为深度学习网络的输出特征,则将该特征应用到分类、预测等具体任务中;否则,继续进行逐层计算,逐层计算时,若当前隐藏层的运算类型为矩阵乘,则进入本发明上述基于深度神经网络的数据处理方法的步骤。
本实施例通过获取输入至深度神经网络隐藏层的输入矩阵;判断所述隐藏层的运算类型是否为矩阵乘运算;若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算;获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;输出所述输出矩阵;对深度神经网络中的输入矩阵及参数矩阵进行分块,并将分块后的矩阵分配到不同的计算单元进行乘法运算,实现了对复杂的矩阵乘法的并行化计算,能够提升深度神经网络中矩阵乘运算的运算速度,从而能够提升深度神经网络的整体计算效率,节约整体计算时间。
进一步地,参照图3,图3为本发明基于深度神经网络的数据处理方法第二实施例的流程示意图。基于上述图2所示的实施例,步骤S100,获取输入至深度神经网络隐藏层的输入矩阵之前还包括:
步骤S101,获取输入至深度神经网络输入层的目标数据;
步骤S102,基于所述目标数据,根据预设的数据预处理规则对所述目标数据进行预处理,得到输入矩阵。
在本实施例中,首先对目标数据进行预处理操作,数据预处理是整个深度学习算法的必要前提,是算法方案是否有效的关键因素之一,对于视频、音频、文本等不同类型的输入数据,各自又包含了不同的数据预处理方法,根据目标数据对应的预处理方法处理后,得到本实施例输入至隐藏层的对应于目标数据的输入矩阵。
进一步地,步骤S101,获取输入至深度神经网络输入层的目标数据的步骤之前还可以包括步骤:建立深度神经网络;所述深度神经网络以矩阵为运算单元。
随着深度学习技术的发展,各种深度学习框架不断提出,如Caffe、Tensorflow、PaddlePaddle、Theano、Torch等,其中如Tensorflow,是以矩阵为基本单元进行操作,本实施例数据处理前首先选用或构建适合的深度神经网络模型。
进一步地,在其它实施例中,步骤S200,判断所述隐藏层的运算类型是否为矩阵乘运算的步骤之后还包括:若所述隐藏层的运算类型不是矩阵乘运算,则执行步骤:基于所述隐藏层的运算类型,对所述输入矩阵进行计算以获取所述隐藏层的输出矩阵,并进入步骤:步骤S500,输出所述输出矩阵,若当前隐藏层的运算类型不是矩阵乘运算,则根据现有的运算方式对输入当前隐藏层的输入矩阵进行运算并获取输出矩阵,作为一种实施方式,可以经过神经元激活函数进行运算,得到神经元的激活值,接下来输入到下一隐藏层进行计算或者输入决策层决策;若当前层的输出为深度学习网络的输出特征,则将该特征应用到分类、预测等具体任务中;否则,继续进行逐层计算,逐层计算时,若当前隐藏层的运算类型为矩阵乘,则进入本发明上述基于深度神经网络的数据处理方法的步骤。
进一步地,步骤S500,输出所述输出矩阵的步骤之后还包括:
步骤S501,根据预设的神经元激活函数,对所述输出矩阵激活得到激活值;
步骤S600,根据所述激活值,获取所述目标数据基于所述深度神经网络的决策结果。
具体地,本实施例以下以目标数据为文本为例做具体说明,请同时参照图4,图4为本实施例深度神经网络的基本结构示意图,首先输入层需要对目标数据文本进行分词、去停用词、繁简转换、向量化等预处理操作,将目标数据转换成由词向量组成的矩阵X,即输入矩阵。
将输入矩阵X输入到包含N层隐藏层的深度神经网络中进行计算,若判断出当前隐藏层的运算类型为乘法,输入矩阵X首先需要与隐藏层1连间的权重矩阵W1、W2、...、Wn进行乘法运算,本实施例以输入矩阵X与权重矩阵W1相乘为例,叙述矩阵分块乘法的具体过程。
假设W1为b*c的矩阵,X为c*d的矩阵,计算Z=W1X。对于矩阵W1,首先将其按列分解为m块,如果c能被m整除,则每块的列数为[c/m],否则前m-1块的每块列数为[c/m],第m块的列数为c-(m-1)*[c/m];然后在按列分块的基础上将每一块矩阵再按行分解为q块,如果b能被q整除,则每个块矩阵的行数为b/q,否则前q-1块的每块列数为[b/q],第q块为b-(q-1)*[b/q]。对于矩阵X,首先需要保证X的行分块数和W1的列分块数相等,即行分块数为m,并保证X对应的分块行数和W1对应的分块列数相等;然后将X在按行分块的基础上再按列分解为n块,如果d能被n整除,则每一块的列数为d/n,否则前n-1块的每块列数为[d/n],第n块的列数为d-(n-1)*[d/n]。再将W1和X所分的相应块矩阵(如W1(ij)与X(jk))分配到不同的计算单元进行乘法操作W1(ij)*X(jk)。本实施例中,不同的计算单元可以分布在单台服务器上的一块GPU中或是分布在单台服务器上的多块GPU中,还可以采用分布式技术,若干个计算节点分布在分布式环境下的多台服务器的多块GPU中,由此,将大量的分块矩阵分配到多个服务器上,平衡了单台计算机的负载,节约整体计算时间,提升计算效率。
将分块矩阵相乘的结果组合成新的矩阵A,即输出矩阵,其中A(ij)=W1(i.)X(.j)=W1(i1)X(1j)+W1(i2)X(2j)+...+W1(im)X(mj)。然后将新的矩阵A经过神经元激活函数进行运算。假设神经元激活函数为ReLu,则经过激活函数的值为Y=ReLu(A+b),b为偏置参数。在得到神经元的激活值Y之后,接下来输入到下一隐藏层进行隐藏层间的逐层运算,首先将上一隐藏层的输出与隐藏层之间的权重矩阵进行乘法操作,其方法如上所述,对矩阵进行分块并行化运算,然后将得到的新矩阵输入到神经元激活函数中得到激活值。
将经过多层神经网络得到的特征输入到决策层进行决策,作为一种实施方式,若最后的决策操作为分类,则将隐藏层的输出特征输入到softmax分类器中,得到每个类别标签的概率,以概率最大的类别标签作为分类的最终结果。
本实施例通过上述方式,对深度神经网络中的输入矩阵及参数矩阵进行分块,并将分块后的矩阵分配到不同的计算单元进行乘法运算,实现了对复杂的矩阵乘法的并行化计算,能够提升深度神经网络中矩阵乘运算的运算速度,从而能够提升深度神经网络的整体计算效率,节约整体计算时间。
进一步地,参照图5,图5为本发明基于深度神经网络的数据处理方法第三实施例的流程示意图。基于上述图3所示的实施例,步骤S600,根据所述激活值,获取所述目标数据基于所述深度神经网络的决策结果的步骤包括:
步骤S601,判断所述激活值是否为所述深度神经网络的输出特征;
若所述激活值是所述深度神经网络的输出特征,则执行步骤S602,基于所述深度神经网络决策层对所述激活值进行决策,得到决策结果。
若所述激活值不是所述深度神经网络的输出特征,则将所述激活值作为输入矩阵输入至所述深度神经网络的后一层隐藏层,并进入步骤,判断所述隐藏层的运算类型是否为矩阵乘运算。
在本实施例中,将经过多层神经网络隐藏层得到的特征输入到决策层进行决策,得到决策结果,作为一种实施方式,若最后的决策操作为分类,则将隐藏层的输出特征输入到softmax分类器中,得到每个类别标签的概率,以概率最大的类别标签作为分类的最终结果;若所述激活值不是所述深度神经网络的输出特征,则输入所述深度神经网络的后一层隐藏层继续进行逐层计算,若当前隐藏层的算法类型为矩阵乘时,通过对深度神经网络中的输入矩阵及参数矩阵进行分块,并将分块后的矩阵分配到不同的计算单元进行乘法运算,实现了对复杂的矩阵乘法的并行化计算,提升了深度神经网络中矩阵乘运算的运算速度,从而也提升了深度神经网络的整体计算效率。
本发明还提供一种基于深度神经网络的数据处理系统。
本发明基于深度神经网络的数据处理系统包括获取模块、判断模块、执行模块、计算模块和输出模块;
所述获取模块,用于获取输入至深度神经网络隐藏层的输入矩阵,并将所述输入矩阵发送至所述执行模块;
所述判断模块,用于判断所述隐藏层的运算类型是否为矩阵乘运算,并将判断结果发送至所述执行模块;
所述执行模块,用于在接收到所述判断模块发送的判断结果为“是”后,根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,并将分块后的输入矩阵、分块后的网络参数矩阵分别分配至所述计算模块的若干个计算节点;
所述计算模块,用于根据所述若干个计算节点接收到的分块后的输入矩阵、分块后的网络参数矩阵进行矩阵乘运算,并将分块计算结果组合作为输出矩阵;
所述输出模块,用于输出所述输出矩阵。
本实施例基于深度神经网络的数据处理系统各个组成部件运行时实现如上所述的基于深度神经网络的数据处理方法的步骤,在此不再赘述。
本发明实施例还提供一种移动终端。
本实施例移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于深度神经网络的数据处理程序,所述基于深度神经网络的数据处理程序被处理器执行时实现如上所述的基于深度神经网络的数据处理方法的步骤。
其中,在所述处理器上运行的基于深度神经网络的数据处理程序被执行时所实现的方法可参照本发明基于深度神经网络的数据处理方法各个实施例,此处不再赘述。
本发明实施例还提供一种可读存储介质,应用于计算机,所述可读存储介质上存储有基于深度神经网络的数据处理程序,所述基于深度神经网络的数据处理程序被处理器执行时实现如上所述的基于深度神经网络的数据处理方法的步骤。
其中,在所述处理器上运行的基于深度神经网络的数据处理程序被执行时所实现的方法可参照本发明基于深度神经网络的数据处理方法各个实施例,此处不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种基于深度神经网络的数据处理方法,其特征在于,应用于深度神经网络,所述数据处理方法包括如下步骤:
获取输入至深度神经网络输入层的目标数据,其中,所述目标数据包括视频、文本或语音中的至少一种;
基于所述目标数据,根据预设的数据预处理规则对所述目标数据进行预处理,得到输入矩阵;
其中,所述根据预设的数据预处理规则对所述目标数据进行预处理的步骤包括:将所述目标数据进行数据清洗、变换和规约的预处理操作;
获取输入至深度神经网络隐藏层的输入矩阵;
判断所述隐藏层的运算类型是否为矩阵乘运算;
若是,则根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,将分块后的输入矩阵、分块后的网络参数矩阵分别分配至若干个计算节点进行矩阵乘运算,其中,所述若干个计算节点分布在单台服务器上的一块GPU中,或分布在单台服务器上的多块GPU中,或分布在分布式环境下的多台服务器的多块GPU中;
获取分块计算结果,将所述分块计算结果组合以获取所述隐藏层的输出矩阵;
输出所述输出矩阵。
2.如权利要求1所述的基于深度神经网络的数据处理方法,其特征在于,所述获取输入至深度神经网络输入层的目标数据的步骤之前还包括:
建立深度神经网络,所述深度神经网络以矩阵为运算单元。
3.如权利要求2所述的基于深度神经网络的数据处理方法,其特征在于,所述判断所述隐藏层的运算类型是否为矩阵乘运算的步骤之后还包括:
若否,则基于所述隐藏层的运算类型,对所述输入矩阵进行计算以获取所述隐藏层的输出矩阵,并进入步骤:输出所述输出矩阵。
4.如权利要求1-3中任一项所述的基于深度神经网络的数据处理方法,其特征在于,所述输出所述输出矩阵的步骤之后还包括:
根据预设的神经元激活函数,对所述输出矩阵激活得到激活值;
根据所述激活值,获取所述目标数据基于所述深度神经网络的决策结果。
5.如权利要求4所述的基于深度神经网络的数据处理方法,其特征在于,所述根据所述激活值,获取所述目标数据基于所述深度神经网络的决策结果的步骤包括:
判断所述激活值是否为所述深度神经网络的输出特征;
若是,则基于所述深度神经网络决策层对所述激活值进行决策,得到决策结果。
6.如权利要求5所述的基于深度神经网络的数据处理方法,其特征在于,所述判断所述激活值是否为所述深度神经网络的输出特征的步骤之后还包括:
若否,则将所述激活值作为输入矩阵输入至所述深度神经网络的后一层隐藏层,并进入步骤:判断所述隐藏层的运算类型是否为矩阵乘运算。
7.一种基于深度神经网络的数据处理系统,其特征在于,包括获取模块、判断模块、执行模块、计算模块和输出模块;
所述获取模块,用于获取输入至深度神经网络隐藏层的输入矩阵,并将所述输入矩阵发送至所述执行模块;
所述判断模块,用于判断所述隐藏层的运算类型是否为矩阵乘运算,并将判断结果发送至所述执行模块;
所述执行模块,用于在接收到所述判断模块发送的判断结果为“是”后,根据预设的矩阵分块规则,对所述输入矩阵及所述隐藏层的网络参数矩阵分别分块,并将分块后的输入矩阵、分块后的网络参数矩阵分别分配至所述计算模块的若干个计算节点,其中,所述若干个计算节点分布在单台服务器上的一块GPU中,或分布在单台服务器上的多块GPU中,或分布在分布式环境下的多台服务器的多块GPU中;
所述计算模块,用于根据所述若干个计算节点接收到的分块后的输入矩阵、分块后的网络参数矩阵进行矩阵乘运算,并将分块计算结果组合作为输出矩阵;
所述输出模块,用于输出所述输出矩阵;
其中,所述基于深度神经网络的数据处理系统包括:
获取输入至深度神经网络输入层的目标数据,其中,所述目标数据包括视频、文本或语音中的至少一种;
基于所述目标数据,将所述目标数据进行数据清洗、变换和规约的预处理操作,得到输入矩阵。
8.一种移动终端,其特征在于,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于深度神经网络的数据处理程序,所述基于深度神经网络的数据处理程序被处理器执行时实现如权利要求1至6中任一项所述的基于深度神经网络的数据处理方法的步骤。
9.一种可读存储介质,其特征在于,应用于计算机,所述可读存储介质上存储有基于深度神经网络的数据处理程序,所述基于深度神经网络的数据处理程序被处理器执行时实现如权利要求1至6中任一项所述的基于深度神经网络的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811376251.4A CN109597965B (zh) | 2018-11-19 | 2018-11-19 | 基于深度神经网络的数据处理方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811376251.4A CN109597965B (zh) | 2018-11-19 | 2018-11-19 | 基于深度神经网络的数据处理方法、系统、终端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597965A CN109597965A (zh) | 2019-04-09 |
CN109597965B true CN109597965B (zh) | 2023-04-18 |
Family
ID=65958787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811376251.4A Active CN109597965B (zh) | 2018-11-19 | 2018-11-19 | 基于深度神经网络的数据处理方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597965B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529145A (zh) * | 2019-09-18 | 2021-03-19 | 北京声智科技有限公司 | 一种数据处理方法、电子设备及计算机可读存储介质 |
CN112541564B (zh) * | 2019-09-20 | 2024-02-20 | 腾讯科技(深圳)有限公司 | 降低贝叶斯深度神经网络计算复杂度的方法和装置 |
CN111047017B (zh) * | 2019-12-18 | 2023-06-23 | 北京安兔兔科技有限公司 | 一种神经网络算法的评估方法、装置及电子设备 |
CN111211864B (zh) * | 2019-12-25 | 2022-07-29 | 安徽机电职业技术学院 | 一种数据传输错误处理方法及系统 |
CN112748953B (zh) * | 2020-07-02 | 2023-08-15 | 腾讯科技(深圳)有限公司 | 基于神经网络模型的数据处理方法、装置及电子设备 |
CN112328674B (zh) * | 2020-11-17 | 2024-05-14 | 深圳力维智联技术有限公司 | 跨数据格式的模型转化加速方法及装置 |
CN112818012A (zh) * | 2021-01-26 | 2021-05-18 | 深圳力维智联技术有限公司 | 设备数据匹配方法、装置、设备及存储介质 |
CN112862071B (zh) * | 2021-01-28 | 2023-04-28 | 展讯通信(上海)有限公司 | 一种数据处理方法及装置 |
CN114120057A (zh) * | 2021-11-09 | 2022-03-01 | 华侨大学 | 一种基于PaddleDetection的混淆矩阵生成方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301456A (zh) * | 2017-05-26 | 2017-10-27 | 中国人民解放军国防科学技术大学 | 基于向量处理器的深度神经网络多核加速实现方法 |
CN107451653A (zh) * | 2017-07-05 | 2017-12-08 | 深圳市自行科技有限公司 | 深度神经网络的计算方法、装置及可读存储介质 |
CN107633298A (zh) * | 2017-03-10 | 2018-01-26 | 南京大学 | 一种基于模型压缩的递归神经网络加速器的硬件架构 |
CN108133270A (zh) * | 2018-01-12 | 2018-06-08 | 清华大学 | 卷积神经网络加速方法及装置 |
CN108292374A (zh) * | 2015-11-09 | 2018-07-17 | 谷歌有限责任公司 | 训练表示为计算图的神经网络 |
-
2018
- 2018-11-19 CN CN201811376251.4A patent/CN109597965B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292374A (zh) * | 2015-11-09 | 2018-07-17 | 谷歌有限责任公司 | 训练表示为计算图的神经网络 |
CN107633298A (zh) * | 2017-03-10 | 2018-01-26 | 南京大学 | 一种基于模型压缩的递归神经网络加速器的硬件架构 |
CN107301456A (zh) * | 2017-05-26 | 2017-10-27 | 中国人民解放军国防科学技术大学 | 基于向量处理器的深度神经网络多核加速实现方法 |
CN107451653A (zh) * | 2017-07-05 | 2017-12-08 | 深圳市自行科技有限公司 | 深度神经网络的计算方法、装置及可读存储介质 |
CN108133270A (zh) * | 2018-01-12 | 2018-06-08 | 清华大学 | 卷积神经网络加速方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109597965A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597965B (zh) | 基于深度神经网络的数据处理方法、系统、终端及介质 | |
US20220391771A1 (en) | Method, apparatus, and computer device and storage medium for distributed training of machine learning model | |
EP3540652B1 (en) | Method, device, chip and system for training neural network model | |
US11928595B2 (en) | Method of managing data representation for deep learning, method of processing data for deep learning and deep learning system performing the same | |
CN109117953B (zh) | 网络参数训练方法和系统、服务器、客户端及存储介质 | |
CN110956202B (zh) | 基于分布式学习的图像训练方法、系统、介质及智能设备 | |
CN106503791A (zh) | 用于有效神经网络部署的系统和方法 | |
CN109964238A (zh) | 使用神经网络生成视频帧 | |
CN109214543B (zh) | 数据处理方法及装置 | |
CN113435682A (zh) | 分布式训练的梯度压缩 | |
CN111860853A (zh) | 在线预测系统、设备、方法及电子设备 | |
US20220004849A1 (en) | Image processing neural networks with dynamic filter activation | |
CN114841315A (zh) | 混合专家模型实现方法、系统、电子设备及存储介质 | |
CN114626503A (zh) | 模型的训练方法、目标检测方法、装置、电子设备及介质 | |
WO2022217210A1 (en) | Privacy-aware pruning in machine learning | |
CN109214515A (zh) | 一种深度神经网络推理方法及计算设备 | |
CN114116995B (zh) | 基于增强图神经网络的会话推荐方法、系统及介质 | |
CN114519425A (zh) | 一种规模可扩展的卷积神经网络加速系统 | |
CN110942345B (zh) | 种子用户的选取方法、装置、设备及存储介质 | |
CN112884513A (zh) | 基于深度因子分解机的营销活动预测模型结构和预测方法 | |
CN110574047A (zh) | 使用比特块生成输出示例 | |
CN111275062A (zh) | 模型训练方法、装置、服务器及计算机可读存储介质 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN114648666A (zh) | 分类模型训练和数据分类方法、装置和电子设备 | |
CN112506644A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |