本發(fā)明涉及數(shù)據(jù)處理,特別是涉及一種圖像識別方法、裝置、設備、介質和剪枝方法。
背景技術:
1、隨著深度學習模型計算復雜度的增長,導致模型的計算和存儲成本逐步提升。如何保證深度學習模型精度的同時,降低深度學習模型的計算和存儲成本已成為當前模型優(yōu)化中的一個重要目標。模型剪枝技術是解決該問題的一個有效方法。模型剪枝通過對模型進行結構優(yōu)化和參數(shù)刪減,去除不重要或冗余參數(shù),在保證模型準確率的同時,降低模型的計算和存儲成本。
2、但是目前的模型剪枝方案,多為針對剪枝方法和剪枝評估的優(yōu)化,缺乏對模型剪枝整體流程的優(yōu)化。對于訓練好的原始模型,目前方案多為直接丟棄被剪枝的模型參數(shù),在剪枝模型的再訓練中重新學習模型參數(shù),這不僅忽略了被剪枝參數(shù)對剪枝模型的影響,而且也降低了剪枝模型再訓練的效率。在利用剪枝模型進行圖像識別時,由于圖像識別模型整個訓練過程訓練效率的偏低,導致圖像識別模型計算和存儲成本的增加。
3、可見,如何降低圖像識別模型的計算和存儲成本,是本領域技術人員需要解決的問題。
技術實現(xiàn)思路
1、本發(fā)明實施例的目的是提供一種圖像識別方法、裝置、設備、介質和剪枝方法,可以解決圖像識別模型計算和存儲成本的增加問題。
2、為解決上述技術問題,本發(fā)明實施例提供一種圖像識別模型圖像識別方法,包括:
3、根據(jù)原始圖像識別模型訓練過程中不同神經(jīng)元節(jié)點組合的參數(shù)更新值以及不同神經(jīng)元節(jié)點組合的數(shù)目,確定出不同神經(jīng)元節(jié)點組合的參數(shù)平均值;其中,不同神經(jīng)元節(jié)點組合包括模型每次訓練迭代所丟棄的神經(jīng)元節(jié)點與所保留的神經(jīng)元節(jié)點形成的組合;
4、對不同神經(jīng)元節(jié)點組合的參數(shù)平均值進行分類統(tǒng)計,以確定出不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值;
5、基于原始圖像識別模型的初始模型參數(shù)以及不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值,完成對不同剪枝模型的模型參數(shù)初始化;
6、利用模型參數(shù)初始化后的不同剪枝模型對圖像樣本進行分析訓練,以得到剪枝優(yōu)化后的圖像識別模型;
7、在獲取到待分析圖像的情況下,將所述待分析圖像輸入至所述圖像識別模型,以確定出所述待分析圖像中包含的目標物。
8、一方面,根據(jù)原始圖像識別模型訓練過程中不同神經(jīng)元節(jié)點組合的參數(shù)更新值以及不同神經(jīng)元節(jié)點組合的數(shù)目,確定出不同神經(jīng)元節(jié)點組合的參數(shù)平均值包括:
9、在所述原始圖像識別模型每次訓練迭代時按照設定的比例隨機丟棄神經(jīng)元節(jié)點,以記錄不同神經(jīng)元節(jié)點組合對應的參數(shù)更新值;
10、在每次訓練迭代出現(xiàn)與已有的神經(jīng)元節(jié)點組合相同的神經(jīng)元節(jié)點組合的情況下,將同一神經(jīng)元節(jié)點組合的數(shù)目加一;其中,初始狀態(tài)下不同神經(jīng)元節(jié)點組合的數(shù)目均為零;
11、將每個神經(jīng)元節(jié)點組合對應的參數(shù)更新值及其數(shù)目進行除法運算,將得到的商值作為每個神經(jīng)元節(jié)點組合的參數(shù)平均值。
12、一方面,在所述原始圖像識別模型每次訓練迭代時按照設定的比例隨機丟棄神經(jīng)元節(jié)點,以記錄不同神經(jīng)元節(jié)點組合對應的參數(shù)更新值包括:
13、在所述原始圖像識別模型每次訓練迭代時按照設定的比例隨機丟棄神經(jīng)元節(jié)點,并統(tǒng)計每次訓練迭代所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值;
14、將每次訓練迭代所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值按照其所屬的神經(jīng)元節(jié)點組合進行累加,以得到每個神經(jīng)元節(jié)點組合對應的參數(shù)更新值。
15、一方面,在所述原始圖像識別模型每次訓練迭代時按照設定的比例隨機丟棄神經(jīng)元節(jié)點,并統(tǒng)計每次訓練迭代所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值包括:
16、將上一輪訓練迭代下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值以及所丟棄的神經(jīng)元節(jié)點對應的初始參數(shù)值作為當前訓練迭代的模型參數(shù);其中,初始狀態(tài)下所保留的各神經(jīng)元節(jié)點對應的參數(shù)更新值為各神經(jīng)元節(jié)點的初始參數(shù)值;
17、在當前訓練迭代下按照設定的比例隨機丟棄神經(jīng)元節(jié)點,利用當前批次的樣本對隨機丟棄神經(jīng)元節(jié)點后的圖像識別模型進行訓練,并記錄當前批次下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值;
18、直至所有批次樣本訓練完成,則將所有批次下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值的累加值作為當前訓練迭代下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值。
19、一方面,將每次訓練迭代所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值按照其所屬的神經(jīng)元節(jié)點組合進行累加,以得到每個神經(jīng)元節(jié)點組合對應的參數(shù)更新值包括:
20、在當前訓練迭代下神經(jīng)元節(jié)點組合為丟棄第i個神經(jīng)元節(jié)點并且保留第j個神經(jīng)元節(jié)點的情況下,獲取當前訓練迭代下第j個神經(jīng)元節(jié)點的參數(shù)更新值;
21、將上一次訓練迭代下神經(jīng)元節(jié)點組合為丟棄第i個神經(jīng)元節(jié)點并且保留第j個神經(jīng)元節(jié)點對應的參數(shù)更新值與當前訓練迭代下第j個神經(jīng)元節(jié)點的參數(shù)更新值進行累加,并將累加值作為當前訓練迭代下神經(jīng)元節(jié)點組合為丟棄第i個神經(jīng)元節(jié)點并且保留第j個神經(jīng)元節(jié)點的參數(shù)更新值。
22、一方面,對不同神經(jīng)元節(jié)點組合的參數(shù)平均值進行分類統(tǒng)計,以確定出不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值包括:
23、從不同神經(jīng)元節(jié)點組合中查詢與所保留的神經(jīng)元節(jié)點匹配的至少一個神經(jīng)元節(jié)點組合;
24、對匹配的至少一個神經(jīng)元節(jié)點組合的參數(shù)平均值進行求平均值運算,以得到所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值。
25、一方面,基于原始圖像識別模型的初始模型參數(shù)以及不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值,完成對不同剪枝模型的模型參數(shù)初始化包括:
26、基于目標剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值、所述初始模型參數(shù)以及設定的調參比例,確定出目標剪枝模型初始化后的模型參數(shù);其中,所述目標剪枝操作為不同剪枝操作中的任意一種剪枝操作;所述目標剪枝模型為按照所述目標剪枝操作對所述原始圖像識別模型進行剪枝操作得到的剪枝模型。
27、一方面,基于目標剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值、所述初始模型參數(shù)以及設定的調參比例,確定出目標剪枝模型初始化后的模型參數(shù)包括:
28、計算目標剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值與所述初始模型參數(shù)的差值;
29、按照設定的調參比例,將所述差值加權累加到所述初始模型參數(shù),以得到目標剪枝模型初始化后的模型參數(shù)。
30、一方面,利用模型參數(shù)初始化后的不同剪枝模型對圖像樣本進行分析訓練,以得到剪枝優(yōu)化后的圖像識別模型包括:
31、將同一圖像樣本分別輸入到模型參數(shù)初始化后的不同剪枝模型中進行分析,以確定出不同剪枝模型的輸出損失值;
32、依據(jù)所述圖像樣本對輸出損失值最小的剪枝模型進行訓練,以得到剪枝優(yōu)化后的圖像識別模型。
33、一方面,在利用模型參數(shù)初始化后的不同剪枝模型對圖像樣本進行分析訓練,以得到剪枝優(yōu)化后的圖像識別模型之后,還包括:
34、統(tǒng)計所述原始圖像識別模型對待處理數(shù)據(jù)進行分析所花費的第一時間以及所述剪枝優(yōu)化后的圖像識別模型對待處理數(shù)據(jù)進行分析所花費的第二時間;
35、在所述第二時間大于所述第一時間的情況下,輸出剪枝優(yōu)化異常的提示信息。
36、本發(fā)明實施例還提供了一種圖像識別裝置,包括確定單元、統(tǒng)計單元、初始化單元、訓練單元和分析單元;
37、所述確定單元,用于根據(jù)原始圖像識別模型訓練過程中不同神經(jīng)元節(jié)點組合的參數(shù)更新值以及不同神經(jīng)元節(jié)點組合的數(shù)目,確定出不同神經(jīng)元節(jié)點組合的參數(shù)平均值;其中,不同神經(jīng)元節(jié)點組合包括模型每次訓練迭代所丟棄的神經(jīng)元節(jié)點與所保留的神經(jīng)元節(jié)點形成的組合;
38、所述統(tǒng)計單元,用于對不同神經(jīng)元節(jié)點組合的參數(shù)平均值進行分類統(tǒng)計,以確定出不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值;
39、所述初始化單元,用于基于原始圖像識別模型的初始模型參數(shù)以及不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值,完成對不同剪枝模型的模型參數(shù)初始化;
40、所述訓練單元,用于利用模型參數(shù)初始化后的不同剪枝模型對圖像樣本進行分析訓練,以得到剪枝優(yōu)化后的圖像識別模型;
41、所述分析單元,用于在獲取到待分析圖像的情況下,將所述待分析圖像輸入至所述圖像識別模型,以確定出所述待分析圖像中包含的目標物。
42、一方面,所述確定單元包括記錄單元、加一單元和除法運算單元;
43、所述記錄單元,用于在所述原始圖像識別模型每次訓練迭代時按照設定的比例隨機丟棄神經(jīng)元節(jié)點,以記錄不同神經(jīng)元節(jié)點組合對應的參數(shù)更新值;
44、所述加一單元,用于在每次訓練迭代出現(xiàn)與已有的神經(jīng)元節(jié)點組合相同的神經(jīng)元節(jié)點組合的情況下,將同一神經(jīng)元節(jié)點組合的數(shù)目加一;其中,初始狀態(tài)下不同神經(jīng)元節(jié)點組合的數(shù)目均為零;
45、所述除法運算單元,用于將每個神經(jīng)元節(jié)點組合對應的參數(shù)更新值及其數(shù)目進行除法運算,將得到的商值作為每個神經(jīng)元節(jié)點組合的參數(shù)平均值。
46、一方面,所述記錄單元包括統(tǒng)計子單元和累加子單元;
47、所述統(tǒng)計子單元,用于在所述原始圖像識別模型每次訓練迭代時按照設定的比例隨機丟棄神經(jīng)元節(jié)點,并統(tǒng)計每次訓練迭代所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值;
48、所述累加子單元,用于將每次訓練迭代所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值按照其所屬的神經(jīng)元節(jié)點組合進行累加,以得到每個神經(jīng)元節(jié)點組合對應的參數(shù)更新值。
49、一方面,所述統(tǒng)計子單元用于將上一輪訓練迭代下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值以及所丟棄的神經(jīng)元節(jié)點對應的初始參數(shù)值作為當前訓練迭代的模型參數(shù);其中,初始狀態(tài)下所保留的各神經(jīng)元節(jié)點對應的參數(shù)更新值為各神經(jīng)元節(jié)點的初始參數(shù)值;
50、在當前訓練迭代下按照設定的比例隨機丟棄神經(jīng)元節(jié)點,利用當前批次的樣本對隨機丟棄神經(jīng)元節(jié)點后的圖像識別模型進行訓練,并記錄當前批次下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值;
51、直至所有批次樣本訓練完成,則將所有批次下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值的累加值作為當前訓練迭代下所保留的神經(jīng)元節(jié)點對應的參數(shù)更新值。
52、一方面,所述累加子單元用于在當前訓練迭代下神經(jīng)元節(jié)點組合為丟棄第i個神經(jīng)元節(jié)點并且保留第j個神經(jīng)元節(jié)點的情況下,獲取當前訓練迭代下第j個神經(jīng)元節(jié)點的參數(shù)更新值;
53、將上一次訓練迭代下神經(jīng)元節(jié)點組合為丟棄第i個神經(jīng)元節(jié)點并且保留第j個神經(jīng)元節(jié)點對應的參數(shù)更新值與當前訓練迭代下第j個神經(jīng)元節(jié)點的參數(shù)更新值進行累加,并將累加值作為當前訓練迭代下神經(jīng)元節(jié)點組合為丟棄第i個神經(jīng)元節(jié)點并且保留第j個神經(jīng)元節(jié)點的參數(shù)更新值。
54、一方面,所述統(tǒng)計單元包括查詢子單元和平均值運算子單元;
55、所述查詢子單元,用于從不同神經(jīng)元節(jié)點組合中查詢與所保留的神經(jīng)元節(jié)點匹配的至少一個神經(jīng)元節(jié)點組合;
56、所述平均值運算子單元,用于對匹配的至少一個神經(jīng)元節(jié)點組合的參數(shù)平均值進行求平均值運算,以得到所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值。
57、一方面,所述初始化單元用于基于目標剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值、所述初始模型參數(shù)以及設定的調參比例,確定出目標剪枝模型初始化后的模型參數(shù);其中,所述目標剪枝操作為不同剪枝操作中的任意一種剪枝操作;所述目標剪枝模型為按照所述目標剪枝操作對所述原始圖像識別模型進行剪枝操作得到的剪枝模型。
58、一方面,所述初始化單元包括計算子單元和加權累加子單元;
59、所述計算子單元,用于計算目標剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值與所述初始模型參數(shù)的差值;
60、所述加權累加子單元,用于按照設定的調參比例,將所述差值加權累加到所述初始模型參數(shù),以得到目標剪枝模型初始化后的模型參數(shù)。
61、一方面,所述訓練單元用于將同一圖像樣本分別輸入到模型參數(shù)初始化后的不同剪枝模型中進行分析,以確定出不同剪枝模型的輸出損失值;
62、依據(jù)所述圖像樣本對輸出損失值最小的剪枝模型進行訓練,以得到剪枝優(yōu)化后的圖像識別模型。
63、一方面,在利用模型參數(shù)初始化后的不同剪枝模型對圖像樣本進行分析訓練,以得到剪枝優(yōu)化后的圖像識別模型之后,還包括時間統(tǒng)計單元和輸出單元;
64、所述時間統(tǒng)計單元,用于統(tǒng)計所述原始圖像識別模型對待處理數(shù)據(jù)進行分析所花費的第一時間以及所述剪枝優(yōu)化后的圖像識別模型對待處理數(shù)據(jù)進行分析所花費的第二時間;
65、所述輸出單元,用于在所述第二時間大于所述第一時間的情況下,輸出剪枝優(yōu)化異常的提示信息。
66、本發(fā)明實施例還提供了一種深度學習模型的剪枝設備,包括:
67、存儲器,用于存儲計算機程序;
68、處理器,用于執(zhí)行所述計算機程序以實現(xiàn)如上述圖像識別方法的步驟。
69、本發(fā)明實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述圖像識別方法的步驟。
70、本發(fā)明實施例還提供了一種計算機程序產(chǎn)品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現(xiàn)上述圖像識別方法的步驟。
71、本發(fā)明實施例還提供了一種深度學習模型的剪枝方法,包括:
72、根據(jù)原始深度學習模型訓練過程中不同神經(jīng)元節(jié)點組合的參數(shù)更新值以及不同神經(jīng)元節(jié)點組合的數(shù)目,確定出不同神經(jīng)元節(jié)點組合的參數(shù)平均值;其中,不同神經(jīng)元節(jié)點組合包括模型每次訓練迭代所丟棄的神經(jīng)元節(jié)點與所保留的神經(jīng)元節(jié)點形成的組合;
73、對不同神經(jīng)元節(jié)點組合的參數(shù)平均值進行分類統(tǒng)計,以確定出不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值;
74、基于原始深度學習模型的初始模型參數(shù)以及不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值,完成對不同剪枝模型的模型參數(shù)初始化;
75、利用模型參數(shù)初始化后的不同剪枝模型對樣本集進行分析訓練,以得到剪枝優(yōu)化后的深度學習模型。
76、一方面,在利用模型參數(shù)初始化后的不同剪枝模型對樣本集進行分析訓練,以得到剪枝優(yōu)化后的深度學習模型之后,還包括:
77、利用剪枝優(yōu)化后的深度學習模型對待處理數(shù)據(jù)進行分析,以得到分析結果;其中,所述待處理數(shù)據(jù)為圖像數(shù)據(jù)、文本數(shù)據(jù)或語音數(shù)據(jù)。
78、由上述技術方案可以看出,根據(jù)原始圖像識別模型訓練過程中不同神經(jīng)元節(jié)點組合的參數(shù)更新值以及不同神經(jīng)元節(jié)點組合的數(shù)目,確定出不同神經(jīng)元節(jié)點組合的參數(shù)平均值;其中,不同神經(jīng)元節(jié)點組合包括模型每次訓練迭代所丟棄的神經(jīng)元節(jié)點與所保留的神經(jīng)元節(jié)點形成的組合。對不同神經(jīng)元節(jié)點組合的參數(shù)平均值進行分類統(tǒng)計,以確定出不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值?;谠紙D像識別模型的初始模型參數(shù)以及不同剪枝操作下所保留的神經(jīng)元節(jié)點對應的參數(shù)平均值,完成對不同剪枝模型的模型參數(shù)初始化。利用模型參數(shù)初始化后的不同剪枝模型對圖像樣本進行分析訓練,以得到剪枝優(yōu)化后的圖像識別模型。在獲取到待分析圖像的情況下,將待分析圖像輸入至圖像識別模型可以確定出待分析圖像中包含的目標物。
79、本發(fā)明的有益效果在于,通過分析原始圖像識別模型訓練過程中丟棄的神經(jīng)元節(jié)點對所保留的神經(jīng)元節(jié)點的影響,并基于此完成對不同剪枝模型的模型參數(shù)初始化,有助于提升剪枝模型再訓練的效率,降低了模型整個訓練過程對計算資源的需求,有效的縮減了模型的計算和存儲成本,使得利用剪枝優(yōu)化后的圖像識別模型可以快速準確的識別出待分析圖像中包含的目標物。