CN109816108A - 深度学习加速装置、设备及方法 - Google Patents
深度学习加速装置、设备及方法 Download PDFInfo
- Publication number
- CN109816108A CN109816108A CN201910116441.0A CN201910116441A CN109816108A CN 109816108 A CN109816108 A CN 109816108A CN 201910116441 A CN201910116441 A CN 201910116441A CN 109816108 A CN109816108 A CN 109816108A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- module
- carries out
- layer
- input
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本公开涉及深度学习加速装置、设备及方法,所述装置包括:缓存模块,用于缓存输入数据及权值数据,所述权值数据包括多种类型;控制模块,电连接于所述缓存模块,用于根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;运算模块,电连接于所述控制模块,用于接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。本公开利用同一个运算模块可以进行多种类型的深度学习运算,通过这样的方式,可以显著节省计算资源、简化计算结构。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种深度学习加速装置、设备及方法。
背景技术
近年来,神经网络领域依靠深度学习技术使其算法性能方面的优异表现被广泛关注,其中卷积神经网络表现突出。卷积神经网络广泛的应用于机器视觉、机器学习等应用领域,与在大规模服务器的中央处理单元(Center process Unit,CPU)上进行具有海量计算量的复杂网络结构和复杂算法不同,在嵌入式系统中,要求在CPU计算资源有限的情况下完成CNN大规模计算。
因此,为了提高CNN算法的硬件电路性能,采用具有很多专用算术功能单元、大量通用逻辑资源、片上存储资源、外围I/O接口和高速网络接口的FPGA器件是一个非常好的选择。
发明内容
根据本公开的一个方面,提出了一种深度学习加速装置,所述装置包括:
缓存模块,用于缓存输入数据及权值数据,所述权值数据包括多种类型;
控制模块,电连接于所述缓存模块,用于根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;
运算模块,电连接于所述控制模块,用于接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。
在一种可能的实施方式中,所述深度学习运算类型包括卷积运算类型、平均池化类型、最大池化类型的其中之一,其中:
所述控制模块还用于在所述深度学习运算类型为所述卷积运算类型时,控制所述缓存模块输出进行卷积运算的权值数据;或
所述控制模块,还用于在所述深度学习运算类型为所述平均池化类型时,控制所述缓存模块输出进行平均池化的权值数据;或
所述控制模块,还用于在所述深度学习运算类型为所述最大池化类型时,控制所述缓存模块输出进行最大池化的权值数据。
在一种可能的实施方式中,所述进行平均池化的权值数据为1/n2和/或所述进行最大池化的权值数据为1,其中,n表示深度学习运算中的卷积核的维度。
在一种可能的实施方式中,所述运算模块包括K*M个运算单元,所述运算单元用于利用预设卷积核进行乘法运算及累加运算,其中,K表示深度学习运算中一层输入层的输入通道数目,M表示深度学习运算中一层输出层的输出通道数目。
在一种可能的实施方式中,所述装置还包括:
移位寄存器模块,电连接于所述缓存模块及运算模块,用于接收所述缓存模块传输的输入数据,其中:
所述控制模块还用于对所述移位模块进行移位控制,将所述输入数据传输到所述运算模块。
在一种可能的实施方式中,所述装置还包括:
偏置模块,所述偏置模块用于在所述运算模块进行卷积运算时,对所述运算模块的中间数据进行偏置处理;
激活函数模块,电连接于所述偏置模块,用于在所述运算模块完成卷积运算后,对卷积运算的结果数据进行激活处理,并更新所述运算结果。
在一种可能的实施方式中,所述装置还包括:
最大值选择模块,用于在所述运算模块完成运算后,选择所述运算结果中多个指定区域的最大值,并更新所述运算结果。
在一种可能的实施方式中,所述装置还包括归一化模块,所述归一化模块用于对输入到所述归一化模块的数据进行归一化运算,其中:
所述控制模块还用于根据所述深度学习运算类型确定是否利用所述归一化模块对所述运算结果进行归一化运算,在进行归一化运算后,更新所述运算结果。
在一种可能的实施方式中,所述装置还包括:
反馈模块,用于将所述运算结果传输到所述缓存模块,并利用所述运算结果更新所述输入数据;
所述运算模块还用于根据更新后的所述输入数据进行深度学习运算。
根据本公开的另一方面,提出了一种深度学习加速设备,所述设备包括多个所述的深度学习加速装置;
控制装置,用于在接收到多个输入图片数据时,根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,包括:
当在第一时刻接收到第一输入图片时,利用第一深度学习加速装置对所述第一输入图片进行第一层深度学习运算;
当在第二时刻接收到第二输入图片时,利用第一深度学习加速装置对所述第二输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第一输入图片进行第二层深度学习运算。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,还包括:
当第N输入图片在第N时刻到来时,利用第一深度学习加速装置对所述第N输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第N-1输入图片进行第二层深度学习运算,…,利用第N深度学习加速装置对所述第一输入图片进行第N层深度学习运算,其中,N为大于2的整数。
在一种可能的实施方式中,所述第一层深度学习运算~第N层深度学习运算中的任意一个可以为卷积层深度学习运算、平均池化层深度学习运算、最大池化层深度学习运算的任意一种。
根据本公开的另一方面,提出了一种深度学习加速方法,应用于深度学习加速装置,所述深度学习加速装置包括缓存模块、控制模块、运算模块,所述方法包括:
利用所述缓存模块缓存输入数据及权值数据,所述权值数据包括多种类型;
利用所述控制模块根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;
利用所述运算模块接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。
在一种可能的实施方式中,所述深度学习运算类型包括卷积运算类型、平均池化类型、最大池化类型的其中之一,所述方法还包括:
利用所述控制模块在所述深度学习运算类型为所述卷积运算类型时,控制所述缓存模块输出进行卷积运算的权值数据;或
利用所述控制模块在所述深度学习运算类型为所述平均池化类型时,控制所述缓存模块输出进行平均池化的权值数据;或
利用所述控制模块在所述深度学习运算类型为所述最大池化类型时,控制所述缓存模块输出进行最大池化的权值数据。
在一种可能的实施方式中,所述进行平均池化的权值数据为1/n2和/或所述进行最大池化的权值数据为1,其中,n表示深度学习运算中的卷积核的维度。
在一种可能的实施方式中,所述运算模块包括K*M个运算单元,所述运算单元用于利用预设卷积核进行乘法运算及累加运算,其中,K表示深度学习运算中一层输入层的输入通道数目,M表示深度学习运算中一层输出层的输出通道数目。
在一种可能的实施方式中,所述装置还包括移位寄存器模块,所述方法还包括:
利用所述移位寄存器模块接收所述缓存模块传输的输入数据,其中,所述方法还包括:
利用所述控制模块对所述移位模块进行移位控制,将所述输入数据传输到所述运算模块。
在一种可能的实施方式中,所述装置还包括偏置模块及激活函数模块,所述方法还包括:
利用所述偏置模块在所述运算模块进行卷积运算时,对所述运算模块的中间数据进行偏置处理;
利用所述激活函数模块在所述运算模块完成卷积运算后,对卷积运算的结果数据进行激活处理,并更新所述运算结果。
在一种可能的实施方式中,所述装置还包括最大值选择模块,所述方法还包括:
利用所述最大值选择模块在所述运算模块完成运算后,选择所述运算结果中多个指定区域的最大值,并更新所述运算结果。
在一种可能的实施方式中,所述装置还包括归一化模块,所述归一化模块用于对输入到所述归一化模块的数据进行归一化运算,其中,所述方法还包括:
利用所述控制模块根据所述深度学习运算类型确定是否利用所述归一化模块对所述运算结果进行归一化运算,在进行归一化运算后,更新所述运算结果。
在一种可能的实施方式中,所述装置还包括反馈模块,所述方法还包括:
利用所述反馈模块将所述运算结果传输到所述缓存模块,并利用所述运算结果更新所述输入数据;
利用所述运算模块根据更新后的所述输入数据进行深度学习运算。
根据本公开的另一方面,提出了一种深度学习加速方法,应用于深度学习加速设备,所述设备包括多个所述的深度学习加速装置及控制装置,所述方法包括:
利用所述控制装置在接收到多个输入图片数据时,根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,包括:
当在第一时刻接收到第一输入图片时,利用第一深度学习加速装置对所述第一输入图片进行第一层深度学习运算;
当在第二时刻接收到第二输入图片时,利用第一深度学习加速装置对所述第二输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第一输入图片进行第二层深度学习运算。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,还包括:
当第N输入图片在第N时刻到来时,利用第一深度学习加速装置对所述第N输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第N-1输入图片进行第二层深度学习运算,…,利用第N深度学习加速装置对所述第一输入图片进行第N层深度学习运算,其中,N为大于2的整数。
在一种可能的实施方式中,所述第一层深度学习运算~第N层深度学习运算中的任意一个可以为卷积层深度学习运算、平均池化层深度学习运算、最大池化层深度学习运算的任意一种。
根据本公开的另一方面,提供了一种深度学习加速装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
通过以上装置,本公开的控制模块可以根据深度学习运算的类型控制缓存模块选择对应的权值数据传输到运算模块,并利用运算模块对接收到的输入数据及对应的权值数据进行对应的深度学习运算,输出运算结果。本公开利用同一个运算模块可以进行多种类型的深度学习运算,通过这样的方式,可以显著节省计算资源、简化计算结构。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出了根据本公开一实施方式的深度学习加速装置的框图。
图2示出了根据本公开一实施方式的深度学习加速装置的示意图。
图3示出了根据本公开一实施方式的深度学习加速设备的示意图。
图4示出了根据本公开一实施方式的种深度学习加速方法的流程图。
图5示出了根据本公开一实施方式的深度学习加速方法的流程图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
请参阅图1,图1示出了根据本公开一实施方式的深度学习加速装置的框图。
如图1所示,所述装置包括:
缓存模块10,用于缓存输入数据及权值数据,所述权值数据包括多种类型;
控制模块20,电连接于所述缓存模块10,用于根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;
运算模块30,电连接于所述控制模块20,用于接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。
通过以上装置,本公开的控制模块可以根据深度学习运算的类型控制缓存模块选择对应的权值数据传输到运算模块,并利用运算模块对接收到的输入数据及对应的权值数据进行对应的深度学习运算,输出运算结果。本公开利用同一个运算模块可以进行多种类型的深度学习运算,通过这样的方式,可以显著节省计算资源、简化计算结构。
在一种可能的实施方式中,所述深度学习加速装置可以在FPGA中实现,在其他的实施方式中,所述深度学习加速装置也可以在其他类型的芯片中实现,例如一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件、人工智能芯片等,本公开对此不作限定,本公开将以FPGA为例进行介绍,应该明白的是,以下描述不应视为对本公开的限制。
在一种可能的实施方式中,所述深度学习运算可以包括CNN、RNN、DNN等多种。
本公开对控制模块20的具体实现方式不做限定,本领域技术人员可以根据需要利用FPGA的资源进行设计,只要可以实现本公开的控制功能即可。
请参阅图2,图2示出了根据本公开一实施方式的深度学习加速装置的示意图。
在一种可能的实施方式中,如图2所示,所述缓存模块10可以是FPGA中的片上缓存资源。
在一种可能的实施方式中,所述缓存模块10可以包括输入数据缓存子模块11、权值数据缓存子模块13。
输入数据缓存子模块11可以包括输入数据缓存单元111及输入数据缓存单元112,输入数据缓存单元111和输入数据缓存单元112可以以乒乓(ping-pong)模式工作。权值数据缓存子模块13可以包括权值数据缓存单元131级权值数据缓存单元133,权值数据缓存单元131级权值数据缓存单元133也可以以乒乓模式工作。
通过设置输入数据缓存子模块11及权值数据缓存子模块13工作于乒乓模式,可以提高数据吞吐率,从而提高深度学习加速装置在进行深度学习运算时的运算效率。
在一种可能的实施方式中,如图2所示,缓存模块10可以从外接存储空间(EXTDDR)中获取预先准备好的输入数据及权值数据。
所述外接存储空间可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在一种可能的实施方式中,可以由控制模块20控制输入数据的调度,控制模块20可以以乒乓工作模式将输入数据从外接存储空间缓存到缓存模块10中。应该明白的是,虽然图2中示出了控制模块20与缓存模块10的连接关系,控制模块20也可以是直接与外接存储空间连接的,本公开并不对控制模块20与缓存模块10的连接关系进行限制,他们可以是直接连接,也可以是间接连接的关系。
在一种可能的实施方式中,每一层深度学习运算的可以包括K个输入通道,在一个示例中,当输入数据为图片数据时,第一层深度学习运算可以包括三个输入通道,三个输入通道可以分别表示图片的R通道、G通道、B通道。每一层深度学习运算的输出可以包括M个输出通道,在不同的实施方式中,输出通道的数目、每一个输出通道代表的意义可以根据实际情况设置,本公开对此不作限制。在每一层深度学习运算的中间运算中,深度学习运算的输入通道数目也可以根据实际需要进行设置,本公开对此不作限定。
在一种可能的实施方式中,所述深度学习运算类型可以包括卷积运算类型、平均池化类型、最大池化类型的其中之一,其中:
所述控制模块20还用于在所述深度学习运算类型为所述卷积运算类型时,控制所述缓存模块10输出进行卷积运算的权值数据;或
所述控制模块20,还用于在所述深度学习运算类型为所述平均池化类型时,确定并控制所述缓存模块10输出进行平均池化的权值数据;或
所述控制模块20,还用于在所述深度学习运算类型为所述最大池化类型时,确定并控制所述缓存模块10输出进行最大池化的权值数据。
在一种可能的实施方式中,所述进行平均池化的权值数据为1/n2和/或所述进行最大池化的权值数据为1,其中,n表示深度学习运算中的卷积核的维度(3,4,5等)。
在一个示例中,卷积核的维度为3,4,5时,卷积核的大小可以为3*3,4*4,5*5等。
通过以上装置,本公开利用一个运算模块30就可以完成卷积运算、平均池化运算、最大池化运算,显著的节省了FPGA的计算资源,并极大地简化了计算结构。
在一种可能的实施方式中,所述运算模块30包括K*M个运算单元32,所述运算单元32用于利用预设卷积核进行乘法运算及累加运算,其中,K表示深度学习运算中一层输入层的输入通道数目,M表示深度学习运算中一层输出层的输出通道数目。
在一个示例中,预设卷积核可以为3*3,5*5等,本公开对预设卷积核的维度、大小不作限定。
在一种可能的实施方式中,所述装置还包括:
移位寄存器模块40,电连接于所述缓存模块10及运算模块30,用于接收所述缓存模块10传输的输入数据,其中:
所述控制模块20还用于对所述移位模块40进行移位控制,将所述输入数据传输到所述运算模块。
在一种可能的实施方式中,所述移位寄存器模块40可以包括多个移位寄存器,例如,在卷积核的大小为3*3时,所述移位寄存器模块40可以包括3个移位寄存器,对于移位寄存器的数目本公开不做限制,本领域技术人员可以根据需要进行设置。
控制模块20可以控制所述移位模块40将输入数据以此输入到运算模块30中的各个运算单元32,从而可以使得运算模块30的各个运算单元32同时对K个输入通道并行地进行M个特征的深度学习运算,从而提高深度学习运算的运算效率和运算速度。
在一种可能的实施方式中,所述装置还包括:
偏置模块50,电连接于所述运算模块30,所述偏置模块50用于在所述运算模块进行卷积运算时,对所述运算模块30的中间数据进行偏置处理;
激活函数模块60,电连接于所述偏置模块50,用于在所述运算模块30完成卷积运算后,对卷积运算的结果数据进行激活处理,并更新所述运算结果。
在一种可能的实施方式中,所述偏置模块50用于进行偏置处理的偏置数据可以预先准备在外接存储空间中,在运行所述装置时,可以通过缓存模块10进行缓存,在需要时,控制模块20可以控制所述缓存模块10输出偏置数据到偏置模块50中。
在一种可能的实施方式中,所述激活函数模块60可以以多种激活函数为基础进行激活处理,本公开对激活函数模块60采用的激活函数不作限制。
在一种可能的实施方式中,所述装置还包括:
最大值选择模块70,用于在所述运算模块30完成运算后,选择所述运算结果中多个指定区域的最大值,并更新所述运算结果。
运算模块30在利用最大池化的权值数据进行深度学习运算后,得到了所述运算结果,最大值选择模块70可以在所述运算结果中的多个指定区域选择最大值,获得最大池化的结果,并以最大池化的结果更新所述运算结果。
在一种可能的实施方式中,所述装置还包括归一化模块80,电连接于所述运算模块30、所述激活函数模块60、所述最大值选择模块70,所述归一化模块80用于对输入到所述归一化模块80的数据进行归一化运算,其中:
所述控制模块20还用于根据所述深度学习运算类型确定是否利用所述归一化模块80对所述运算结果进行归一化运算,在进行归一化运算后,更新所述运算结果。
在一种可能的实施方式中,所述控制模块20还可以完成输入数据调度、输出数据调度、层级运算控制等,应该明白的是,所述控制模块20可以完成需要进行控制的多种功能,除了可以完成本公开介绍的多个功能外,控制模块20还可以完成其他的控制功能,本公开对所述控制模块20的功能并不做限制,对应的,控制模块20与其他各个模块之间的连接关系可以是间接的连接关系,也可以是直接的连接关系,本公开对此不做限制。。
例如,控制模块20可以将深度学习运算的中间数据、运算结果存储到外接存储空间中,将运算结果通过反馈模块90反馈到缓存模块10也可以是控制模块20控制。当然以上描述并非穷举,不应认为以上描述是对本公开的限制。
在一种可能的实施方式中,是否利用所述归一化模块80对所述运算结果进行归一化运算可以根据需要设置。
在一种可能的实施方式中,所述归一化运算可以包括softmax运算。
在一种可能的实施方式中,所述装置还包括:
反馈模块90,用于将所述运算结果传输到所述缓存模块10,并利用所述运算结果更新所述输入数据;
所述运算模块30还用于根据更新后的所述输入数据进行深度学习运算。
在所述运算结果传输到缓存模块10后,所述装置利用所述运算结果进行下一层深度学习运算,在这种情况下,该下一层包括K个输入通道,此时K的值可以根据需要设置。
通过以上装置,本公开在一层深度学习运算完成后,将运算结果反馈到输入端以进行下一层深度学习运算,可以利用同一个深度学习加速装置完成多层的深度学习运算,本公开可以显著提高计算资源的利用率。
请参阅图3,图3示出了根据本公开一实施方式的深度学习加速设备的示意图。
如图3所示,所述设备包括:
多个所述的深度学习加速装置1;
控制装置2,耦接于多个所述深度学习加速装置1,用于在接收到多个输入图片数据时,根据预设时序选择对应的深度学习加速装置1对所述多个输入图片进行并行处理。
通过以上设备,本公开可以在接收到多个输入图片数据时,利用多个深度学习加速装置对多个输入图片进行并行处理,从而提高深度学习的运算速率。通过流水计算方式,本公开所述的设备可以在输入图片数据的帧率小于深度学习加速装置的单层处理速率时,显著提高深度学习在进行高帧率输入图片数据时的运算效率。
在一种可能的实施方式中,所述控制装置2可以是FPGA上的具有控制功能的单元。
在一种可能的实施方式中,所述控制装置2也可以是承载多个深度学习加速装置1以外的其他装置或设备。
在一种可能的实施方式中,所述控制装置2也可以包括前述的控制模块20,例如,可以指定多个所述深度学习加速装置1中的一个所述深度学习加速装置1的控制模块20作为所述控制装置2。
在一种可能的实施方式中,多个所述深度学习加速装置1也可以共用一个控制模块20,在这种情况下,多个所述深度学习加速装置1的输入数据调度、输出数据调度、层级运算控制等都可以利用一个控制模块20进行控制。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,可以包括:
当在第一时刻接收到第一输入图片时,利用第一深度学习加速装置对所述第一输入图片进行第一层深度学习运算;
当在第二时刻接收到第二输入图片时,利用第一深度学习加速装置对所述第二输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第一输入图片进行第二层深度学习运算。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,还可以包括:
当第N输入图片在第N时刻到来时,利用第一深度学习加速装置对所述第N输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第N-1输入图片进行第二层深度学习运算,…,利用第N深度学习加速装置对所述第一输入图片进行第N层深度学习运算,其中,N为大于2的整数。
在一种可能的实施方式中,所述第一层深度学习运算~第N层深度学习运算中的任意一个可以为卷积层深度学习运算、平均池化层深度学习运算、最大池化层深度学习运算的任意一种。
举例而言,当在第一时刻接收到第一输入图片frame1时,利用第一深度学习加速装置对所述第一输入图片frame进行Conv1层深度学习运算(可以是第一层卷积1);
当在第二时刻接收到第二输入图片frame2时,利用第一深度学习加速装置对所述第二输入图片frame2进行Conv1深度学习运算,利用第二深度学习加速装置对所述frame1进行Pooling1深度学习运算(可以是第二层池化1)。
当frameN在第N时刻到来时,利用第一深度学习加速装置对所述frameN进行Conv1深度学习运算,利用第二深度学习加速装置对frame(N-1)进行Pooling1深度学习运算,…,利用第N深度学习加速装置对frame1进行第N层深度学习运算,其中,N为大于2的整数。
通过多个深度学习加速装置对连续到来的多个输入图片数据进行并行的深度学习运算,可以显著减少深度学习运算时间,从而提高运算效率,降低成本。
应该说明的是,以上对深度学习加速设备的描述是示例性的,深度学习加速设备中的各个模块的位置关系、连接关系不应理解为是对本公开的限定,在其他的实施方式中,各个模块可以相互耦合,本领域技术人员可以根据需要增加、减少模块的数量或改变各个模块的连接方式,只要各个模块之间可以相互通信,实现本公开的功能即可。
以图1和图2中的控制模块20为例,请参阅图1和图2,虽然在图1和图2中将控制模块20示例性的画在中间位置,但是不应认为在实际场景中控制模块20也应该处于中间位置,控制模块20只要可以实现本公开所述的控制功能,其具体位置可以根据实际需要设定,本公开对此不做限制。
请参与图4,图4示出了根据本公开一实施方式的种深度学习加速方法的流程图。
所述方法可以应用于深度学习加速装置,所述深度学习加速装置包括缓存模块、控制模块、运算模块,如图4所示,所述方法包括:
步骤S110,利用所述缓存模块缓存输入数据及权值数据,所述权值数据包括多种类型;
步骤S120,利用所述控制模块根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;
步骤S130,利用所述运算模块接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。
通过以上方法,本公开的可以利用控制模块根据深度学习运算的类型控制缓存模块选择对应的权值数据传输到运算模块,并利用运算模块对接收到的输入数据及对应的权值数据进行对应的深度学习运算,输出运算结果。本公开利用同一个运算模块可以进行多种类型的深度学习运算,通过这样的方法,可以显著节省计算资源、简化计算结构。
在一种可能的实施方式中,所述深度学习运算类型包括卷积运算类型、平均池化类型、最大池化类型的其中之一,所述方法还包括:
利用所述控制模块在所述深度学习运算类型为所述卷积运算类型时,控制所述缓存模块输出进行卷积运算的权值数据;或
利用所述控制模块在所述深度学习运算类型为所述平均池化类型时,控制所述缓存模块输出进行平均池化的权值数据;或
利用所述控制模块在所述深度学习运算类型为所述最大池化类型时,控制所述缓存模块输出进行最大池化的权值数据。
在一种可能的实施方式中,所述进行平均池化的权值数据为1/n2和/或所述进行最大池化的权值数据为1,其中,n表示深度学习运算中的卷积核的维度。
在一种可能的实施方式中,所述运算模块包括K*M个运算单元,所述运算单元用于利用预设卷积核进行乘法运算及累加运算,其中,K表示深度学习运算中一层输入层的输入通道数目,M表示深度学习运算中一层输出层的输出通道数目。
在一种可能的实施方式中,所述装置还包括移位寄存器模块,所述方法还包括:
利用所述移位寄存器模块接收所述缓存模块传输的输入数据,其中,所述方法还包括:
利用所述控制模块对所述移位模块进行移位控制,将所述输入数据传输到所述运算模块。
在一种可能的实施方式中,所述装置还包括偏置模块及激活函数模块,所述方法还包括:
利用所述偏置模块在所述运算模块进行卷积运算时,对所述运算模块的中间数据进行偏置处理;
利用所述激活函数模块在所述运算模块完成卷积运算后,对卷积运算的结果数据进行激活处理,并更新所述运算结果。
在一种可能的实施方式中,所述装置还包括最大值选择模块,所述方法还包括:
利用所述最大值选择模块在所述运算模块完成运算后,选择所述运算结果中多个指定区域的最大值,并更新所述运算结果。
在一种可能的实施方式中,所述装置还包括归一化模块,所述归一化模块用于对输入到所述归一化模块的数据进行归一化运算,其中,所述方法还包括:
利用所述控制模块根据所述深度学习运算类型确定是否利用所述归一化模块对所述运算结果进行归一化运算,在进行归一化运算后,更新所述运算结果。
在一种可能的实施方式中,所述装置还包括反馈模块,所述方法还包括:
利用所述反馈模块将所述运算结果传输到所述缓存模块,并利用所述运算结果更新所述输入数据;
利用所述运算模块根据更新后的所述输入数据进行深度学习运算。
应该说明的是,所述深度学习加速方法为深度学习加速装置对应的方法,其具体介绍请参阅之前对深度学习加速装置的描述,在此不再赘述。
请参阅图5,图5示出了根据本公开一实施方式的深度学习加速方法的流程图。
所述方法可以应用于深度学习加速设备,所述设备包括多个所述的深度学习加速装置及控制装置,所述方法包括:
步骤S210,利用所述控制装置在接收到多个输入图片数据时,根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理。
通过以上方法,本公开可以在接收到多个输入图片数据时,利用多个深度学习加速装置对多个输入图片进行并行处理,从而提高深度学习的运算速率。通过流水计算方式,本公开所述的方法可以在输入图片数据的帧率小于深度学习加速装置的单层处理速率时,显著提高深度学习在进行高帧率输入图片数据时的运算效率。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,包括:
当在第一时刻接收到第一输入图片时,利用第一深度学习加速装置对所述第一输入图片进行第一层深度学习运算;
当在第二时刻接收到第二输入图片时,利用第一深度学习加速装置对所述第二输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第一输入图片进行第二层深度学习运算。
在一种可能的实施方式中,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,还包括:
当第N输入图片在第N时刻到来时,利用第一深度学习加速装置对所述第N输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第N-1输入图片进行第二层深度学习运算,…,利用第N深度学习加速装置对所述第一输入图片进行第N层深度学习运算,其中,N为大于2的整数。
在一种可能的实施方式中,所述第一层深度学习运算~第N层深度学习运算中的任意一个可以为卷积层深度学习运算、平均池化层深度学习运算、最大池化层深度学习运算的任意一种。
应该明白的是,所述深度学习加速方法为前述的深度学习加速设备对应的方法,其具体介绍请参照之前对深度学习加速设备的描述,在此不再赘述。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (26)
1.一种深度学习加速装置,其特征在于,所述装置包括:
缓存模块,用于缓存输入数据及权值数据,所述权值数据包括多种类型;
控制模块,电连接于所述缓存模块,用于根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;
运算模块,电连接于所述控制模块,用于接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。
2.根据权利要求1所述的装置,其特征在于,所述深度学习运算类型包括卷积运算类型、平均池化类型、最大池化类型的其中之一,其中:
所述控制模块还用于在所述深度学习运算类型为所述卷积运算类型时,控制所述缓存模块输出进行卷积运算的权值数据;或
所述控制模块,还用于在所述深度学习运算类型为所述平均池化类型时,控制所述缓存模块输出进行平均池化的权值数据;或
所述控制模块,还用于在所述深度学习运算类型为所述最大池化类型时,控制所述缓存模块输出进行最大池化的权值数据。
3.根据权利要求2所述的装置,其特征在于,所述进行平均池化的权值数据为1/n2和/或所述进行最大池化的权值数据为1,其中,n表示深度学习运算中的卷积核的维度。
4.根据权利要求1所述的装置,其特征在于,所述运算模块包括K*M个运算单元,所述运算单元用于利用预设卷积核进行乘法运算及累加运算,其中,K表示深度学习运算中一层输入层的输入通道数目,M表示深度学习运算中一层输出层的输出通道数目。
5.根据权利要求1所述的装置,其特征在于,所述装置还包括:
移位寄存器模块,电连接于所述缓存模块及运算模块,用于接收所述缓存模块传输的输入数据,其中:
所述控制模块还用于对所述移位模块进行移位控制,将所述输入数据传输到所述运算模块。
6.根据权利要求1所述的装置,其特征在于,所述装置还包括:
偏置模块,所述偏置模块用于在所述运算模块进行卷积运算时,对所述运算模块的中间数据进行偏置处理;
激活函数模块,电连接于所述偏置模块,用于在所述运算模块完成卷积运算后,对卷积运算的结果数据进行激活处理,并更新所述运算结果。
7.根据权利要求1所述的装置,其特征在于,所述装置还包括:
最大值选择模块,用于在所述运算模块完成运算后,选择所述运算结果中多个指定区域的最大值,并更新所述运算结果。
8.根据权利要求1所述的装置,其特征在于,所述装置还包括归一化模块,所述归一化模块用于对输入到所述归一化模块的数据进行归一化运算,其中:
所述控制模块还用于根据所述深度学习运算类型确定是否利用所述归一化模块对所述运算结果进行归一化运算,在进行归一化运算后,更新所述运算结果。
9.根据权利要求1所述的装置,其特征在于,所述装置还包括:
反馈模块,用于将所述运算结果传输到所述缓存模块,并利用所述运算结果更新所述输入数据;
所述运算模块还用于根据更新后的所述输入数据进行深度学习运算。
10.一种深度学习加速设备,其特征在于,所述设备包括多个如权利要求1-9任一项所述的深度学习加速装置;
控制装置,用于在接收到多个输入图片数据时,根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理。
11.根据权利要求10所述的设备,其特征在于,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,包括:
当在第一时刻接收到第一输入图片时,利用第一深度学习加速装置对所述第一输入图片进行第一层深度学习运算;
当在第二时刻接收到第二输入图片时,利用第一深度学习加速装置对所述第二输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第一输入图片进行第二层深度学习运算。
12.根据权利要求11所述的设备,其特征在于,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,还包括:
当第N输入图片在第N时刻到来时,利用第一深度学习加速装置对所述第N输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第N-1输入图片进行第二层深度学习运算,…,利用第N深度学习加速装置对所述第一输入图片进行第N层深度学习运算,其中,N为大于2的整数。
13.根据权利要求12所述的设备,其特征在于,所述第一层深度学习运算~第N层深度学习运算中的任意一个可以为卷积层深度学习运算、平均池化层深度学习运算、最大池化层深度学习运算的任意一种。
14.一种深度学习加速方法,其特征在于,应用于深度学习加速装置,所述深度学习加速装置包括缓存模块、控制模块、运算模块,所述方法包括:
利用所述缓存模块缓存输入数据及权值数据,所述权值数据包括多种类型;
利用所述控制模块根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;
利用所述运算模块接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。
15.根据权利要求14所述的方法,其特征在于,所述深度学习运算类型包括卷积运算类型、平均池化类型、最大池化类型的其中之一,所述方法还包括:
利用所述控制模块在所述深度学习运算类型为所述卷积运算类型时,控制所述缓存模块输出进行卷积运算的权值数据;或
利用所述控制模块在所述深度学习运算类型为所述平均池化类型时,控制所述缓存模块输出进行平均池化的权值数据;或
利用所述控制模块在所述深度学习运算类型为所述最大池化类型时,控制所述缓存模块输出进行最大池化的权值数据。
16.根据权利要求15所述的方法,其特征在于,所述进行平均池化的权值数据为1/n2和/或所述进行最大池化的权值数据为1,其中,n表示深度学习运算中的卷积核的维度。
17.根据权利要求14所述的方法,其特征在于,所述运算模块包括K*M个运算单元,所述运算单元用于利用预设卷积核进行乘法运算及累加运算,其中,K表示深度学习运算中一层输入层的输入通道数目,M表示深度学习运算中一层输出层的输出通道数目。
18.根据权利要求14所述的方法,其特征在于,所述装置还包括移位寄存器模块,所述方法还包括:
利用所述移位寄存器模块接收所述缓存模块传输的输入数据,其中,所述方法还包括:
利用所述控制模块对所述移位模块进行移位控制,将所述输入数据传输到所述运算模块。
19.根据权利要求14所述的方法,其特征在于,所述装置还包括偏置模块及激活函数模块,所述方法还包括:
利用所述偏置模块在所述运算模块进行卷积运算时,对所述运算模块的中间数据进行偏置处理;
利用所述激活函数模块在所述运算模块完成卷积运算后,对卷积运算的结果数据进行激活处理,并更新所述运算结果。
20.根据权利要求14所述的方法,其特征在于,所述装置还包括最大值选择模块,所述方法还包括:
利用所述最大值选择模块在所述运算模块完成运算后,选择所述运算结果中多个指定区域的最大值,并更新所述运算结果。
21.根据权利要求14所述的方法,其特征在于,所述装置还包括归一化模块,所述归一化模块用于对输入到所述归一化模块的数据进行归一化运算,其中,所述方法还包括:
利用所述控制模块根据所述深度学习运算类型确定是否利用所述归一化模块对所述运算结果进行归一化运算,在进行归一化运算后,更新所述运算结果。
22.根据权利要求14所述的方法,其特征在于,所述装置还包括反馈模块,所述方法还包括:
利用所述反馈模块将所述运算结果传输到所述缓存模块,并利用所述运算结果更新所述输入数据;
利用所述运算模块根据更新后的所述输入数据进行深度学习运算。
23.一种深度学习加速方法,其特征在于,应用于深度学习加速设备,所述设备包括多个如权利要求1-9任一项所述的深度学习加速装置及控制装置,所述方法包括:
利用所述控制装置在接收到多个输入图片数据时,根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理。
24.根据权利要求23所述的方法,其特征在于,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,包括:
当在第一时刻接收到第一输入图片时,利用第一深度学习加速装置对所述第一输入图片进行第一层深度学习运算;
当在第二时刻接收到第二输入图片时,利用第一深度学习加速装置对所述第二输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第一输入图片进行第二层深度学习运算。
25.根据权利要求24所述的方法,其特征在于,所述根据预设时序选择对应的深度学习加速装置对所述多个输入图片进行并行处理,还包括:
当第N输入图片在第N时刻到来时,利用第一深度学习加速装置对所述第N输入图片进行第一层深度学习运算,利用第二深度学习加速装置对所述第N-1输入图片进行第二层深度学习运算,…,利用第N深度学习加速装置对所述第一输入图片进行第N层深度学习运算,其中,N为大于2的整数。
26.根据权利要求25所述的方法,其特征在于,所述第一层深度学习运算~第N层深度学习运算中的任意一个可以为卷积层深度学习运算、平均池化层深度学习运算、最大池化层深度学习运算的任意一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910116441.0A CN109816108A (zh) | 2019-02-15 | 2019-02-15 | 深度学习加速装置、设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910116441.0A CN109816108A (zh) | 2019-02-15 | 2019-02-15 | 深度学习加速装置、设备及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109816108A true CN109816108A (zh) | 2019-05-28 |
Family
ID=66606641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910116441.0A Pending CN109816108A (zh) | 2019-02-15 | 2019-02-15 | 深度学习加速装置、设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816108A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
CN106682731A (zh) * | 2017-01-13 | 2017-05-17 | 首都师范大学 | 卷积神经网络的加速方法及装置 |
CN108090565A (zh) * | 2018-01-16 | 2018-05-29 | 电子科技大学 | 一种卷积神经网络并行化训练加速方法 |
CN108416434A (zh) * | 2018-02-07 | 2018-08-17 | 复旦大学 | 针对神经网络的卷积层与全连接层进行加速的电路结构 |
CN108985449A (zh) * | 2018-06-28 | 2018-12-11 | 中国科学院计算技术研究所 | 一种对卷积神经网络处理器的控制方法及装置 |
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行系统 |
CN109284817A (zh) * | 2018-08-31 | 2019-01-29 | 中国科学院上海高等研究院 | 深度可分离卷积神经网络处理架构/方法/系统及介质 |
-
2019
- 2019-02-15 CN CN201910116441.0A patent/CN109816108A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
CN106682731A (zh) * | 2017-01-13 | 2017-05-17 | 首都师范大学 | 卷积神经网络的加速方法及装置 |
CN108090565A (zh) * | 2018-01-16 | 2018-05-29 | 电子科技大学 | 一种卷积神经网络并行化训练加速方法 |
CN108416434A (zh) * | 2018-02-07 | 2018-08-17 | 复旦大学 | 针对神经网络的卷积层与全连接层进行加速的电路结构 |
CN108985449A (zh) * | 2018-06-28 | 2018-12-11 | 中国科学院计算技术研究所 | 一种对卷积神经网络处理器的控制方法及装置 |
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行系统 |
CN109284817A (zh) * | 2018-08-31 | 2019-01-29 | 中国科学院上海高等研究院 | 深度可分离卷积神经网络处理架构/方法/系统及介质 |
Non-Patent Citations (1)
Title |
---|
万国春,童美松: "《数字系统设计方法与实践》", 31 October 2015 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11494667B2 (en) | Systems and methods for improved adversarial training of machine-learned models | |
US10970854B2 (en) | Visual target tracking method and apparatus based on deep adversarial training | |
US11783227B2 (en) | Method, apparatus, device and readable medium for transfer learning in machine learning | |
Kurach et al. | Neural random-access machines | |
Zhao et al. | A self-adaptive harmony PSO search algorithm and its performance analysis | |
Liu et al. | Social learning discrete Particle Swarm Optimization based two-stage X-routing for IC design under Intelligent Edge Computing architecture | |
CN111176758B (zh) | 配置参数的推荐方法、装置、终端及存储介质 | |
Elsayed et al. | Differential evolution with automatic parameter configuration for solving the CEC2013 competition on real-parameter optimization | |
US20150379075A1 (en) | Maintaining diversity in multiple objective function solution optimization | |
CN109300179A (zh) | 动画制作方法、装置、终端和介质 | |
US11915141B2 (en) | Apparatus and method for training deep neural network using error propagation, weight gradient updating, and feed-forward processing | |
CN113642734A (zh) | 一种深度学习模型的分布式训练方法、装置以及计算设备 | |
CN109271587A (zh) | 一种页面生成方法和装置 | |
Ghosh et al. | An empirical analysis of generative adversarial network training times with varying batch sizes | |
US11709783B1 (en) | Tensor data distribution using grid direct-memory access (DMA) controller | |
CN109816108A (zh) | 深度学习加速装置、设备及方法 | |
CN109389213A (zh) | 存储装置及方法、数据处理装置及方法、电子装置 | |
WO2023024920A1 (zh) | 模型训练方法、系统、集群及介质 | |
CN113112400B (zh) | 一种模型训练方法及模型训练装置 | |
CN109656641A (zh) | 一种多层循环程序的运行系统和方法 | |
CN116911403B (zh) | 联邦学习的服务器和客户端的一体化训练方法及相关设备 | |
CN113780518B (zh) | 网络架构优化方法、终端设备及计算机可读存储介质 | |
CN109726805A (zh) | 利用黑盒模拟器进行神经网络处理器设计的方法 | |
CN116828065A (zh) | 一种基于sac的动态服务编排方法、装置及边缘服务器 | |
CN108363720A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |