神经网络模型的简化装置与简化方法与非暂时性存储媒体与流程

文档序号:36804098发布日期:2024-01-23 12:31阅读:14来源:国知局
神经网络模型的简化装置与简化方法与非暂时性存储媒体与流程

本发明涉及一种机器学习/深度学习,且特别是涉及用于深度学习中神经网络模型的简化装置与简化方法与非暂时性存储媒体。


背景技术:

1、在神经网络的应用中,常需要做多层的矩阵乘法与加法。举例来说,多层感知器(multilayer perceptron,mlp)具有多个线性运算层。每一个线性运算层一般使用权重矩阵(weight matrix)与激励矩阵(activation matrix)做矩阵相乘,将相乘的结果可能再与偏值矩阵(bias matrix)相加后将相加的结果作为下一个线性运算层的输入。

2、图1是mlp中n次的连续线性矩阵运算(神经网络模型的n个线性运算层)之泛型示意图。图1左侧x为输入,图1右侧y为输出。在输入x与输出y之间具有n个线性运算层10_1、…、10_n。在线性运算层10_1中,实线模块12_1表示线性矩阵运算,虚线模块11_1与13_1表示依照实际应用而决定是否省略的矩阵转置(transpose)运算。线性矩阵运算12_1例如为矩阵乘法、矩阵加法、矩阵乘加运算或是其他线性矩阵运算。在线性运算层10_n中,实线模块12_n表示线性矩阵运算,虚线模块11_n与13_n表示依照实际应用而决定是否省略的矩阵转置运算。图1下方的虚箭线表示残差连接(residual connection)。残差连接为依照实际应用而决定是否省略的特殊矩阵相加。从图1可以清楚得知,神经网络的推论(inference)时间与其层数以及矩阵运算的运算量有极大的关联性。

3、随着神经网络模型的大型化和复杂化,线性运算层的层数变多,且每一层所涉及的矩阵尺寸变大。在不升级硬件规格、不改善运算架构的情况下,推论所需的时间(甚至是电能销耗)都将不断增加。为了加快神经网络的推论时间,如何简化原始已训练神经网络模型,以及使经简化已训练神经网络模型等效于原始已训练神经网络模型,是本领域诸多重要技术课题之一。

4、须注意的是,“背景技术”段落的内容是用来帮助了解本发明。在“背景技术”段落所揭露的部分内容(或全部内容)可能不是所属技术领域的技术人员所知道的习知技术。在“背景技术”段落所揭露的内容,不代表该内容在本发明申请前已被所属技术领域的技术人员所知悉。


技术实现思路

1、本发明提供一种神经网络模型的简化装置与简化方法与非暂时性存储媒体,以简化原始已训练神经网络模型简化。

2、在根据本发明的实施例中,上述神经网络模型的简化方法用以将原始已训练神经网络模型简化为经简化已训练神经网络模型,其中经简化已训练神经网络模型包括至多两个线性运算层。所述简化方法包括:接收原始已训练神经网络模型;借由使用原始已训练神经网络模型的多个原权重去计算经简化已训练神经网络模型的至多两个线性运算层的第一新权重;以及基于第一新权重生成经简化已训练神经网络模型。

3、在根据本发明的实施例中,上述的简化装置包括内存以及处理器。内存存储计算机可读程序。处理器耦接至内存,以执行计算机可读程序。其中,处理器执行计算机可读程序以实现上述的神经网络模型的简化方法。

4、在根据本发明的实施例中,上述的非暂时性存储媒体用于储一计算机可读程序。其中,计算机可读程序由计算机执行以实现上述的神经网络模型的简化方法。

5、基于上述,本发明诸实施例所述神经网络模型的简化方法可以将具有多个线性运算层的原始已训练神经网络模型简化为至多两个线性运算层的经简化已训练神经网络模型。在一些实施例中,所述简化方法将原始已训练神经网络模型转换为原始数学函式,然后对原始数学函式进行迭代分析操作以将原始数学函式简化为经简化数学函式,其中经简化数学函式具有第一新权重。一般而言,已训练神经网络模型的每一个权重可以视为常数。借由使用原始已训练神经网络模型的多个原权重(多个常数),所述简化方法可以预先计算所述第一新权重作为经简化已训练神经网络模型的线性运算层的权重。在经简化已训练神经网络模型等效于原始已训练神经网络模型的前提下,经简化已训练神经网络模型的线性运算层的层数远小于原始已训练神经网络模型的线性运算层的层数。因此,神经网络的推论时间可以被有效加快。



技术特征:

1.一种神经网络模型的简化方法,用以将原始已训练神经网络模型简化为经简化已训练神经网络模型,其特征在于,所述经简化已训练神经网络模型包括至多两个线性运算层,而所述简化方法包括:

2.根据权利要求1所述的简化方法,其特征在于,所述经简化已训练神经网络模型被表示为y=x@wi+bi,y表示所述经简化已训练神经网络模型的输出,@表示所述经简化已训练神经网络模型的任何线性运算,x表示所述经简化已训练神经网络模型的输入,wi表示所述第一新权重,以及bi表示所述经简化已训练神经网络模型的新偏值。

3.根据权利要求2所述的简化方法,其特征在于,所述任何线性运算@包括矩阵乘加运算。

4.根据权利要求2所述的简化方法,其特征在于,所述原始已训练神经网络模型被表示为y=(x@w1+b1)@w2+b2,w1与b1分别表示所述原始已训练神经网络模型的第一线性运算层的原权重与原偏值,w2与b2分别表示所述原始已训练神经网络模型的第二线性运算层的原权重与原偏值,以及所述简化方法还包括:

5.根据权利要求1所述的简化方法,其特征在于,所述简化方法还包括:

6.根据权利要求5所述的简化方法,其特征在于,所述原始已训练神经网络模型被表示为y=((x@w1+b1)t@w2+b2)t@w3,()t表示矩阵转置运算,w1与b1分别表示所述原始已训练神经网络模型的第一线性运算层的原权重与原偏值,w2与b2分别表示所述原始已训练神经网络模型的第二线性运算层的原权重与原偏值,w3表示所述原始已训练神经网络模型的第三线性运算层的原权重,以及所述简化方法还包括:

7.根据权利要求1所述的简化方法,其特征在于,所述简化方法还包括:

8.根据权利要求7所述的简化方法,其特征在于,所述原始数学函式被表示为y=((…((xt0@w1+b1)t1@w2+b2)t2…)tn-1@wn+bn)tn,y表示所述原始数学函式的输出,x表示所述原始数学函式的输入,t0表示是否对输入x进行转置,@表示神经网络模型的任何线性运算,w1与b1分别表示所述原始已训练神经网络模型的第一线性运算层的原权重与原偏值,t1表示是否对所述第一线性运算层的结果进行转置,w2与b2分别表示所述原始已训练神经网络模型的第二线性运算层的原权重与原偏值,t2表示是否对所述第二线性运算层的结果进行转置,tn-1表示是否对所述原始已训练神经网络模型的第n-1线性运算层的结果进行转置,wn与bn分别表示所述原始已训练神经网络模型的第n线性运算层的原权重与原偏值,tn表示是否对所述第n线性运算层的结果进行转置,以及n为大于1的整数。

9.根据权利要求8所述的简化方法,其特征在于,所述迭代分析操作包括n个迭代,以及所述n个迭代中的第一个迭代包括:

10.根据权利要求9所述的简化方法,其特征在于,所述n个迭代中的第二个迭代包括:

11.根据权利要求8所述的简化方法,其特征在于,所述迭代分析操作包括n个迭代,在所述n个迭代完成后生成所述经简化数学函式,所述经简化数学函式被表示为y=wii@(x@wi+bi)+bii,wi表示所述第一新权重,所述迭代分析操作使用这些原权重w1至wn的部分或全部预计算第一常数作为所述第一新权重wi,wii表示所述至多两个线性运算层的第二新权重,所述迭代分析操作使用这些原权重w1至wn其中至少一个预计算第二常数作为所述第二新权重wii,bi表示所述至多两个线性运算层的第一新偏值,所述迭代分析操作使用这些原权重w1至wn的至少一个以及这些原偏值b1至bn的至少一个预计算第三常数作为所述第一新偏值bi,bii表示所述至多两个线性运算层的第二新偏值,以及所述迭代分析操作使用“这些原权重w1至wn的至少一个”或是“这些原偏值b1至bn的至少一个”或是“这些原权重w1至wn的至少一个以及这些原偏值b1至bn的至少一个”预计算第四常数作为所述第二新偏值bii。

12.一种神经网络模型的简化装置,其特征在于,所述简化装置包括:

13.一种非暂时性存储媒体,用于存储计算机可读程序,其特征在于,所述计算机可读程序由计算机执行以实现权利要求1-11任一项所述的神经网络模型的简化方法。


技术总结
本发明提供一种神经网络模型的简化装置与简化方法。简化方法可以将原始已训练神经网络模型简化为经简化已训练神经网络模型,其中经简化已训练神经网络模型包括至多两个线性运算层。所述简化方法包括:将原始已训练神经网络模型转换为原始数学函式;对原始数学函式进行迭代分析操作,以将原始数学函式简化为经简化数学函式,其中经简化数学函式具有新权重;借由使用原始已训练神经网络模型的多个原权重去计算新权重;以及将经简化数学函式转换为经简化已训练神经网络模型。

技术研发人员:陈柏翰,李易,吴凯强,林永隆,黄俊达
受保护的技术使用者:创鑫智慧股份有限公司
技术研发日:
技术公布日:2024/1/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1