TW201947463A - 模型測試的方法及裝置 - Google Patents
模型測試的方法及裝置 Download PDFInfo
- Publication number
- TW201947463A TW201947463A TW108105402A TW108105402A TW201947463A TW 201947463 A TW201947463 A TW 201947463A TW 108105402 A TW108105402 A TW 108105402A TW 108105402 A TW108105402 A TW 108105402A TW 201947463 A TW201947463 A TW 201947463A
- Authority
- TW
- Taiwan
- Prior art keywords
- model
- test
- sample
- output
- tested
- Prior art date
Links
- 238000010998 test method Methods 0.000 title abstract description 4
- 238000012360 testing method Methods 0.000 claims abstract description 264
- 238000000034 method Methods 0.000 claims abstract description 51
- 210000002569 neuron Anatomy 0.000 claims description 103
- 238000003062 neural network model Methods 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 38
- 230000005477 standard model Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 abstract description 2
- 239000000523 sample Substances 0.000 description 158
- 230000008569 process Effects 0.000 description 16
- 230000001537 neural effect Effects 0.000 description 9
- 238000012549 training Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 239000002699 waste material Substances 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013101 initial test Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000003909 pattern recognition Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 241000510091 Quadrula quadrula Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000012468 concentrated sample Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
本說明書實施例提供一種模型測試的方法和裝置,根據該方法,首先從測試樣本集中獲取樣本,接著將樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,然後根據輸出結果確定測試結果,進一步地,在該測試結果未滿足預定條件的情況下,按照預定規則,基於上述樣本產生新樣本,並將所產生的新樣本加入測試樣本集。如此,在該模型測試的方法被循環執行的情況下,一態樣對待檢測模型的準確性及/或測試充分程度進行評估,另一態樣將基於原樣本產生的、與原樣本具有差異化的新樣本,提高模型測試的有效性。
Description
本說明書一個或多個實施例相關於電腦之技術領域,特別相關於透過電腦進行模型測試的方法和裝置。
隨著電腦和人工智慧技術的發展,人工神經網路(ANN)的應用越來越多,例如模式識別、自動控制、信號處理、輔助決策等等。人工神經網路是一種運算模型,由大量的處理單元,或稱神經元,之間相互連接構成。每個處理單元代表一種特定的輸出函式,稱為啟用功能(activation function)。類神經網路模型的性能測試往往透過產生類神經網路模型的系統的碼覆蓋率,或者其在樣本集上的輸出正確率以及在樣本難易覆蓋的特殊情況(如某地氣溫攝氏零下70度)下的輸出結果準確性來衡量。
習知技術中,為了對模型的測試更充分,通常需要收集大量的訓練樣本;為了提高模型的準確性,也往往需要收集更多的訓練樣本來訓練模型,對模型參數進行調節和優化。然而,這樣的方式透過人工收集樣本,浪費人力,同時,收集的訓練樣本畢竟是有限的,並不能保證對模型的充分測試,對模型準確性的提高也是有限的。例如,某地氣溫從來沒有低到過攝氏零下70度,所採集的樣本再多也無法覆蓋到氣溫為攝氏零下70度的情況。特別地,在一些特殊情況下,例如無人駕駛車輛面對白色背景的卡車,如果所收集的測試樣本中沒有這樣的情況,則可能判定為天空背景,影響決策,從而可能造成不可挽回的損失。
因此,希望能有改進的方案,透過產生更多差異化的樣本,有效的進行模型測試,既能避免人工收集樣本造成的人力浪費,又可以透過產生的這些差異化樣本對模型進行進一步的測試,以及用於訓練模型從而提升模型的準確性。
習知技術中,為了對模型的測試更充分,通常需要收集大量的訓練樣本;為了提高模型的準確性,也往往需要收集更多的訓練樣本來訓練模型,對模型參數進行調節和優化。然而,這樣的方式透過人工收集樣本,浪費人力,同時,收集的訓練樣本畢竟是有限的,並不能保證對模型的充分測試,對模型準確性的提高也是有限的。例如,某地氣溫從來沒有低到過攝氏零下70度,所採集的樣本再多也無法覆蓋到氣溫為攝氏零下70度的情況。特別地,在一些特殊情況下,例如無人駕駛車輛面對白色背景的卡車,如果所收集的測試樣本中沒有這樣的情況,則可能判定為天空背景,影響決策,從而可能造成不可挽回的損失。
因此,希望能有改進的方案,透過產生更多差異化的樣本,有效的進行模型測試,既能避免人工收集樣本造成的人力浪費,又可以透過產生的這些差異化樣本對模型進行進一步的測試,以及用於訓練模型從而提升模型的準確性。
本說明書一個或多個實施例描述了一種方法和裝置,可以產生更多差異化的樣本,有效的進行模型測試,既能避免人工收集樣本造成的人力浪費,又可以透過產生的這些差異化樣本對模型進行進一步的測試,以及用於訓練模型從而提升模型的準確性。
根據第一態樣,提供了一種模型測試的方法,包括:
從測試樣本集中獲取樣本;
將所述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,所述多個待測試模型包括至少一個類神經網路模型;
根據所述輸出結果確定測試結果,所述測試結果包括第一測試結果和第二測試結果中的至少一項,所述第一測試結果包括各個待測試模型的輸出結果的準確性,所述第二測試結果包括所述至少一個類神經網路模型的神經元覆蓋率;
在所述測試結果未滿足預定條件的情況下,按照預定規則,基於所述樣本產生新樣本,並將所述新樣本加入所述測試樣本集。
根據一態樣的實施方式,在所述測試結果包括第一測試結果的情況下,所述根據所述輸出結果確定測試結果包括:
對所述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,其中,票數最高的輸出結果為正確輸出結果;
確定輸出結果為所述正確輸出結果的待測試模型輸出準確。
在一個可能的設計中,所述模型集中包括標準模型,以及,所述根據所述輸出結果確定測試結果包括:
基於標準模型的輸出結果,確定與所述標準模型功能相同的待測試模型的正確輸出結果;
確定輸出結果為所述正確輸出結果的待測試模型輸出準確。
進一步地,在一個實施例中,所述預定條件包括:
所述多個待測試模型的輸出結果準確度均大於預設準確度臨界值。
根據一態樣的實施方式,在所述測試結果包括第二測試結果的情況下,所述根據所述輸出結果確定測試結果包括:
根據所述至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,所述神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;
基於所述神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,所述神經元覆蓋率和以下比率正相關:所述神經元覆蓋數與總神經元個數的比率。
進一步地,在一個實施例中,所述預定條件包括:
所述至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。
在一個實施例中,按照預定規則,基於所述樣本產生新樣本包括:
獲取所述樣本中各個特徵的設定範圍;
基於各個特徵的設定範圍為所述樣本添加隨機擾動項,產生新樣本。
根據一種可能的設計,上述方法還包括以下中的一項或多項:
消去模型集中測試結果滿足預定條件的待測試模型;
在模型集中加入新的待測試模型。
根據第二態樣,提供一種模型測試的裝置,包括:
獲取單元,配置為從測試樣本集中獲取樣本;
測試單元,配置為將所述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,所述多個待測試模型包括至少一個類神經網路模型;
確定單元,配置為根據所述輸出結果確定測試結果,所述測試結果包括第一測試結果和第二測試結果中的至少一項,所述第一測試結果包括各個待測試模型的輸出結果的準確性,所述第二測試結果包括所述至少一個類神經網路模型的神經元覆蓋率;
產生單元,配置為在所述測試結果未滿足預定條件的情況下,按照預定規則,基於所述樣本產生新樣本,並將所述新樣本加入所述測試樣本集。
根據第三態樣,提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行第一態樣的方法。
根據第四態樣,提供了一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現第一態樣的方法。
透過本說明書實施例提供的方法和裝置,首先從測試樣本集中獲取樣本,接著將樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,然後根據輸出結果確定測試結果,進一步地,在該測試結果未滿足預定條件的情況下,按照預定規則,基於上述樣本產生新樣本,並將所產生的新樣本加入測試樣本集。在該模型測試的方法被循環執行的情況下,一態樣對待檢測模型的準確性能及/或測試充分程度進行評估,另一態樣將基於原樣本產生的、與原樣本具有差異化的新樣本。如此既能避免人工收集樣本造成的人力浪費,又可以對模型進行進一步的測試,以及將擴充後的測試樣本集用於訓練模型從而提升模型的準確性。
根據第一態樣,提供了一種模型測試的方法,包括:
從測試樣本集中獲取樣本;
將所述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,所述多個待測試模型包括至少一個類神經網路模型;
根據所述輸出結果確定測試結果,所述測試結果包括第一測試結果和第二測試結果中的至少一項,所述第一測試結果包括各個待測試模型的輸出結果的準確性,所述第二測試結果包括所述至少一個類神經網路模型的神經元覆蓋率;
在所述測試結果未滿足預定條件的情況下,按照預定規則,基於所述樣本產生新樣本,並將所述新樣本加入所述測試樣本集。
根據一態樣的實施方式,在所述測試結果包括第一測試結果的情況下,所述根據所述輸出結果確定測試結果包括:
對所述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,其中,票數最高的輸出結果為正確輸出結果;
確定輸出結果為所述正確輸出結果的待測試模型輸出準確。
在一個可能的設計中,所述模型集中包括標準模型,以及,所述根據所述輸出結果確定測試結果包括:
基於標準模型的輸出結果,確定與所述標準模型功能相同的待測試模型的正確輸出結果;
確定輸出結果為所述正確輸出結果的待測試模型輸出準確。
進一步地,在一個實施例中,所述預定條件包括:
所述多個待測試模型的輸出結果準確度均大於預設準確度臨界值。
根據一態樣的實施方式,在所述測試結果包括第二測試結果的情況下,所述根據所述輸出結果確定測試結果包括:
根據所述至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,所述神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;
基於所述神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,所述神經元覆蓋率和以下比率正相關:所述神經元覆蓋數與總神經元個數的比率。
進一步地,在一個實施例中,所述預定條件包括:
所述至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。
在一個實施例中,按照預定規則,基於所述樣本產生新樣本包括:
獲取所述樣本中各個特徵的設定範圍;
基於各個特徵的設定範圍為所述樣本添加隨機擾動項,產生新樣本。
根據一種可能的設計,上述方法還包括以下中的一項或多項:
消去模型集中測試結果滿足預定條件的待測試模型;
在模型集中加入新的待測試模型。
根據第二態樣,提供一種模型測試的裝置,包括:
獲取單元,配置為從測試樣本集中獲取樣本;
測試單元,配置為將所述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,所述多個待測試模型包括至少一個類神經網路模型;
確定單元,配置為根據所述輸出結果確定測試結果,所述測試結果包括第一測試結果和第二測試結果中的至少一項,所述第一測試結果包括各個待測試模型的輸出結果的準確性,所述第二測試結果包括所述至少一個類神經網路模型的神經元覆蓋率;
產生單元,配置為在所述測試結果未滿足預定條件的情況下,按照預定規則,基於所述樣本產生新樣本,並將所述新樣本加入所述測試樣本集。
根據第三態樣,提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行第一態樣的方法。
根據第四態樣,提供了一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現第一態樣的方法。
透過本說明書實施例提供的方法和裝置,首先從測試樣本集中獲取樣本,接著將樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,然後根據輸出結果確定測試結果,進一步地,在該測試結果未滿足預定條件的情況下,按照預定規則,基於上述樣本產生新樣本,並將所產生的新樣本加入測試樣本集。在該模型測試的方法被循環執行的情況下,一態樣對待檢測模型的準確性能及/或測試充分程度進行評估,另一態樣將基於原樣本產生的、與原樣本具有差異化的新樣本。如此既能避免人工收集樣本造成的人力浪費,又可以對模型進行進一步的測試,以及將擴充後的測試樣本集用於訓練模型從而提升模型的準確性。
下面結合附圖,對本說明書提供的方案進行描述。
圖1為本說明書揭露的一個實施例的實施場景示意圖。如圖所示,使用者(如應用開發、測試人員)在類神經網路模型正式使用之前,可以將這些模型透過計算平台進行測試。這裡的計算平台可以是具有資料處理能力和資料輸入功能的各種裝置、設備,例如臺式電腦、伺服器等等。可以理解,計算平台還可以是上述電子設備組成的設備集群。使用者可以收集樣本作為初始的測試樣本集輸入計算平台。
測試時,計算平台從測試樣本集中獲取一個樣本,如樣本1,然後將樣本1輸入模型集包括的多個待測試模型中,如模型1、模型2、模型3等等,並獲得各個測試模型的輸出結果,對應為輸出1、輸出2、輸出3等等。可以理解,這多個模型可以具有相似的功能(預定功能),以使一個樣本1能夠同時用於模型1、模型2、模型3等等的測試,例如都具有模式識別功能。如此,樣本1可以同時輸入這多個模型中,這多個模型分別給出各自的輸出結果,例如模式識別的輸出結果。由於各個模型的準確性不同,具有相同功能的待測試模型的輸出結果可以相同,也可以不相同。值得說明的是,這些待測試模型包括至少一個類神經網路模型。
接著,計算平台可以根據各個模型的輸出結果確定測試結果。這裡,測試結果可以包括第一測試結果和第二測試結果中的至少一項。其中,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括至少一個類神經網路模型的神經元覆蓋率。這裡,神經元覆蓋率可以用於表示模型的神經元啟用情況。如此,對每個待測試模型而言,透過輸出結果的準確性可以對該模型的性能進行評判;另一態樣,透過神經元覆蓋率,可以確定對該模型的測試是否充分。
可以理解,測試之前,使用者(如應用開發、測試人員)還可以對測試結果設定相關條件作為預定條件,用來控制測試的結束時機,例如,可以設定所有待測試模型準確性均合格的預定條件,來控制測試過程結束等等。如果測試過程沒有結束,則計算平台可以再從測試樣本集中獲取其他樣本,循環執行以上測試過程。同時,由於原始的測試樣本集的樣本數量具有一定的局限性,如果測試過程還要繼續循環執行,則計算平台可以按照預定規則,基於用於此次的測試過程的樣本1產生一個新樣本,並將該新樣本加入到測試樣本集中,以用於後續的測試過程。使用者(如應用開發、測試人員)可以透過設定預定規則,控制樣本的產生,既能保證涵蓋各種情況,又不會與實際情況相差甚遠。
如此,一態樣對待檢測模型的準確性及/或測試充分程度進行了評估,另一態樣將基於原樣本產生的、與原樣本具有差異化的新樣本加入測試樣本集,可以使測試樣本集中的樣本數量和所涵蓋的情況得以擴充。透過自動產生這些差異化樣本,既能避免人工收集樣本造成的人力浪費,又可以對模型進行進一步的測試,以及用於訓練模型從而提升模型的準確性。下面描述上述場景的具體執行過程。
圖2示出根據一個實施例的模型測試的方法流程圖。該方法的執行主體可以是任何具有計算、處理能力的系統、設備、裝置、平台或伺服器,例如圖1所示的計算平台等。如圖2所示,該方法包括以下步驟:步驟21,從測試樣本集中獲取樣本;步驟22,將上述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,上述多個待測試模型包括至少一個類神經網路模型;步驟23,根據上述輸出結果確定測試結果,該測試結果包括第一測試結果和第二測試結果中的至少一項,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括上述至少一個類神經網路模型的神經元覆蓋率;步驟24,在上述測試結果不滿足預定條件的情況下,按照預定規則,基於以上樣本產生新樣本,並將該新樣本加入上述測試樣本集。
首先,在步驟21,從測試樣本集中獲取樣本。可以理解,測試樣本集用於儲存模型測試用的樣本,其可以是一個集合,也可以是資料庫,本申請對此不作限定。
模型測試的方法首次執行時,測試樣本集為初始的測試樣本集。初始的測試樣本集儲存的樣本可以包括使用者收集的樣本,也可以包括使用者收集的樣本和以往的模型測試過程中產生的樣本。
根據一種實施方式,使用者可以對收集的樣本進行篩選,挑選一些在模型中容易出錯的樣本,或者樣本特徵所占比例比較低的樣本,放入初始的測試樣本集。舉例而言,一個樣本在輸入10個不同的用於圖像識別的模型時,5個模型的輸出結果為卡車,5個模型的輸出結果為藍天,則該樣本容易出錯,可以挑選出來;再例如,所收集的100個樣本中有90個的溫度在攝氏零至20度,有4個樣本的溫度在攝氏零下較接近零度(比如都高於攝氏零下三度),有1個樣本的溫度在攝氏零下10度,則這1個溫度在攝氏零下10度的樣本所占比例比較低,可以挑選出來,對於這4個溫度在攝氏零下較接近零度的樣本,可以全部挑選出來,也可以擇一或擇二挑選。如此,可以避免漏掉一些較特殊的情況,有利於測試樣本集中的樣本均衡地涵蓋各種情況。
從測試樣本集中獲取樣本可以是任意可行的方式。在一個實施例中,可以按照測試樣本集中樣本的排列順序獲取樣本,例如第一遍執行該模型測試的方法時獲取排在第一的樣本,第二遍執行該模型測試的方法時獲取排在第二的樣本,以此類推。
在另一個實施例中,可以隨機獲取測試樣本集中的樣本。在隨機獲取樣本的情況下,該模型測試的方法被執行多遍後,可能會出現一些樣本被使用的次數較多,一些樣本未被使用過或使用較少,還可以設置樣本調取權重,使用次數越少,調取權重越高,以增加未被使用過或使用較少的樣本的使用機率。
在更多實施例中,使用者還可以透過更多可行方式從測試樣本集中獲取樣本。
接著,在步驟22,將上述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果。值得說明的是,這裡的模型是用來揭示變量之間因果關係的運算模型,其可以包括一個或一系列函式組成的演算法,透過這樣的演算法,可以根據輸入的變量得到一個由這些變量確定的輸出結果。如誤差反向傳播演算法BP(Back Propagation)演算法、卷積類神經網路CNN(Convolutional neural network)等等。
對於較複雜的情況,可以透過類神經網路模型來實現。類神經網路模型由多個神經元構成。如圖3所示,是一個三層結構的類神經網路模型的一個具體例子。圖3中的類神經網路模型包括多個神經元,如神經元31、32等。第一層各個神經元接收不同的輸入特徵參數x1 、x2 、x3 、x4 傳遞給第二層,第二層的神經元31分別對應運算單元,各個運算單元可以以第一層的x1 、x2 、x3 、x4 為輸入。其中,各個特徵x1 、x2 、x3 、x4 由樣本給出,或者從樣本中提取,例如分別是水果的顏色、形狀、大小等參數。同理,第三層的神經元32是以第二層的神經元31等的各個輸出值作為輸入的運算單元。每兩個神經元間的連接都代表一個對於透過該連接信號的加權值,稱之為權重。該類神經網路模型經過神經元32,可以得到一個輸出結果,例如桔子、橙子等。
進一步地,如圖4所示,每個神經元代表一種特定的輸出函式,稱為啟用功能(activation function,例如為sigmoid函式f(z)=1/(1+e-z ))。在圖4示出的神經元中,輸出函式可以為,其中,對於Wi ,i值從1取值到3,分別代表權重1、權重2、權重3,xi 中,i值從1取值到3,分別代表特徵參數1、特徵參數2、特徵參數3。對特徵參數1、特徵參數2、特徵參數3加權求和後透過啟用功能映射得到神經元的輸出。
其中,本實施例模型集中的這多個待測試模型中包括至少一個類神經網路模型。待測試模型是預先透過訓練樣本集訓練好的。訓練樣本集可以包括樣本和對應的已知輸出結果。根據訓練樣本集中樣本確定的輸入特徵參數和已知輸出結果調整模型參數(如圖4中的權重1等),直到模型對於訓練樣本集達到所要求的準確率,確定各個模型參數。儘管如此,由於訓練樣本集的局限性,還需要進一步透過測試樣本集對模型進行測試。
實踐中,模型集可以是一個模型集合。在模型測試的方法的執行主體是一個測試類平台的情況下,該平台中可以包括模型操作模組,使用者可以透過該模組添加待測試的模型,從而形成上述模型集合。雖然測試樣本集中的樣本可以適用於所有待測試模型,但是這些待測試模型可以具有相同的功能,也可以具有不相同的功能,根據測試的目的和具體情況而定。例如,對於同樣的圖片樣本,一個待測試模型可以根據樹木、花草的各種顏色外觀特徵識別品類等,另一個待測試模型可以根據樹木、花草的顏色特徵識別季節等。
可以理解,每個待測試模型會根據輸入的樣本得到一個輸出結果。對於同一個樣本,每個待測試模型的輸出結果可能會不同。例如,對於同一個圖片樣本,具有不同功能的模型,一個輸出品類楓葉,一個輸出季節秋季。對於功能相同的模型,由於模型準確性不一樣,輸出結果也不一樣,例如對於同一個圖片樣本,一個輸出春季,一個輸出夏季。在一個實施例中,該多個待測試模型均包括相同功能。
然後,在步驟23,根據上述輸出結果確定測試結果。可以理解,模型的測試結果透過模型在輸入樣本後的輸出結果來判定。而具體的測試結果是什麼,根據測試內容是什麼而定。
具體地,根據本實施例的一個態樣,測試內容可以是各個待測試模型的輸出結果的準確性。為了便於描述,把各個待測試模型的輸出結果的準確性稱為第一測試結果。第一測試結果可以是對輸出結果準確性的具體描述。例如,第一測試結果可以是各個待測試模型的結果準確、不準確中的一項,也可以是對待測試模型多次輸出結果是否正確進行統計所計算的準確率(輸出結果準確次數/總判斷次數),等等。
在一個實施例中,對上述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,每個輸出結果就是相應模型的投票結果,其中,票數最多的輸出結果為正確輸出結果;然後確定輸出結果為所述正確輸出結果的待測試模型輸出結果準確。作為示例,假設模型集中有10個待檢測模型,其中7個待檢測模型可以用於樹木、花草的顏色特徵識別季節,則這7個待檢測模型功能相同。對某個圖片樣本,在這7個待檢測模型的輸出結果分別是“春季”、“春季”、“夏季”、“秋季”、“春季”、“秋季”、“春季”的情況下,投票結果為“春季”4票,“夏季”1票,“秋季”2票,則票數最多的“春季”為正確輸出結果。然後,確定第一、第二、第五、第七個模型的輸出結果準確,第三、第四、第六個模型的輸出結果不準確。對另外3個待檢測模型,如果他們的功能相同,在測試內容為輸出結果的準確性的情況下,可以按照類似的方法處理,在此不再贅述。在一個可能的設計裡,模型集中的全部待測試模型具有的功能相同。
在另一個實施例中,模型集中可以包括有標準模型。此時,可以基於標準模型的輸出結果,確定與標準模型功能相同的待測試模型的正確輸出結果;確定輸出結果為正確輸出結果的待測試模型的輸出結果準確。其中,標準模型可以是經過測試的準確度較高的模型,例如準確度99.99%。由此,可以將標準模型的輸出結果確定為正確輸出結果。此時,對於人物圖片樣本,在標準模型確定的輸出結果為“男士”的情況下,7個與該標準模型功能都相同的待測試模型的輸出結果有4個為“女士”,3個為“男士”,則確定該輸出結果為“男士”的3個待測試模型的輸出結果準確。
在一個可能的設計中,在與標準模型功能相同的待測試模型的輸出結果與標準模型的輸出結果都不一致時,還可以檢測這些待測試模型的輸出結果是否一致,如果一致,也可以將該一致的結果確定為正確輸出結果。例如,對於人物圖片樣本,標準模型確定的輸出結果為“男士”,7個與該標準模型功能都相同的待測試模型的輸出結果均為“女士”,則確定正確輸出結果為“女士”。由於標準模型不是必然準確的模型,如此,可以防止標準模型輸出結果錯誤的情況下,導致對待測試模型的評判錯誤。
對於與標準模型功能不同的其他待測試模型,也可以按照上述投票確定正確輸出結果的方式確定測試結果,在此不再贅述。可選地,模型集中的全部待測試模型與該標準模型具有的功能相同。
在一個實施例中,第一測試結果還可以是某個樣本在測試中輸出結果的準確性。例如某個樣本,測試中有4個模型輸出結果準確,3個模型輸出結果不準確等等。可選地,還可以計算該樣本的準確度。對於單次測試過程,樣本的準確度=輸出結果正確的模型數/總模型數。對於該樣本的多次測試過程,準確度可以是單次準確度的平均值,也可以是被待測試模型輸出正確結果的總次數/總共被待測試模型執行並給出輸出結果的總次數。如此,可以對樣本在模型測試過程中的有用程度進行評估。在一個樣本每次進行測試,各個模型的輸出結果都是正確的情況下,該樣本對模型測試的意義不大。
另一態樣,測試內容可以是上述至少一個類神經網路模型的神經元覆蓋率。為了便於描述,把上述至少一個類神經網路模型的神經元覆蓋率稱為第二測試結果。容易理解,模型的神經元覆蓋率可以用來表示被啟用的神經元數在總神經元數中的比例。此時,可以檢測至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;基於神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,神經元覆蓋率和神經元覆蓋數與總神經元個數的比率正相關。
可以理解,類神經網路模型中,啟用功能也叫點火規則,與人腦的工作類似,只要輸入超過一定標準時才會產生輸出。因此,在一個樣本中,如果該樣本的某些特徵參數值比較小,則僅依靠這些特徵參數的神經元將不會產生輸出,即神經元未被啟用。如此,可以透過設置臨界值來作為神經元的輸出條件,例如輸出條件設置為神經元的輸出大於0。
值得說明的是,神經元覆蓋數是測試過程中滿足過輸出條件的神經元個數。例如,模型1共有50個神經元,在樣本1輸入模型1的情況下,第1-5個神經元滿足輸出條件,此時,神經元覆蓋數是5,神經元覆蓋率為與5/50正相關的數,例如百分數10%。在樣本2輸入模型1的情況下,第2-6個神經元滿足輸出條件,因此滿足過輸出條件的神經元為第1-6個,此時,神經元覆蓋數是6,神經元覆蓋率為與6/50正相關的數,例如百分數12%。
綜上,該測試結果可以包括第一測試結果和第二測試結果中的至少一項,其中,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括上述至少一個類神經網路模型的神經元覆蓋率。
接著,在步驟24,在上述測試結果未滿足預定條件的情況下,按照預定規則,基於以上樣本產生新樣本,並將該新樣本加入上述測試樣本集。這裡,可以儲存有預定條件,用於限定模型測試流程的結束時機。在該步驟中,可以進一步檢測步驟23中的測試結果是否滿足預定條件,滿足預定條件則停止模型檢測過程。在上述測試結果未滿足預定條件的情況下,可以按照預定規則對樣本進行處理,產生新樣本,並將該新樣本加入上述的測試樣本集,以擴充測試樣本集,用於後續的測試過程。其中,對樣本的處理例如是按照預定規則(如梯度上升演算法)改變各個特徵的取值。
在一個實施例中,上述預定條件基於神經元覆蓋率確定。具體地,在測試結果包括第二測試結果的情況下,預定條件可以包括:至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值,即如果待測試模型中包括一個類神經網路模型,則要求該類神經網路模型的神經元覆蓋率大於預設覆蓋率臨界值;如果待測試模型中包括多個類神經網路模型,則要求每個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。預設覆蓋率臨界值可以用來限定樣本對於模型測試的覆蓋程度,例如是99%。當神經元覆蓋率超過預設覆蓋率臨界值時,說明測試樣本集中的樣本已經可以充分地對模型的絕大部分神經元進行測試。
在另一些實現中,還可以進一步基於測試結果準確度設定上述預定條件。具體地,預定條件還可以包括,多個待測試模型的輸出結果準確度均大於預設準確度臨界值,其中,準確度和歷史測試結果準確的次數與總測試次數的比率正相關。作為示例,當前模型測試中,模型1通過了100個樣本的測試,其中輸出結果準確的次數為50,則其準確度與50/100正相關,例如是一個百分數50%。假定預設準確度臨界值為90%,則在模型集中的各個待檢測模型的準確度都大於90%的情況下,可以結束測試。由於次數較少的測試對模型準確度的評估意義不大,比如該模型測試方法執行1次的時候,對於單個樣本,模型的準確度要麼是0,要麼是100%。因此,在可選的實施例中,還可以限定準確度統計的次數,例如對某個待測試模型,至少執行100次循環之後開始計算其準確度。
在一個實施例中,還可以對每個待測試模型,判斷是否滿足預定條件,如準確度達到預設準確度臨界值,或者神經元覆蓋率達到預設覆蓋率臨界值。在準確度達到預設準確度臨界值的情況下,說明待測試模型的性能已經比較好了,繼續測試的意義不大,可以直接從模型集中消去。神經元覆蓋率達到預設覆蓋率臨界值,則說明待測試模型透過當前的測試已經可以充分發現其中缺陷或問題,也可以從模型集中消去。如此,可以及時消去測試完畢的待測試模型,減少模型測試主體的資料處理壓力。
在一個實施例中,模型測試的流程執行過程中,還可以隨時加入新的待測試模型進行測試。如此,可以節約模型測試的執行資源。
在繼續執行測試的情況下,如前所述,可以按照預定規則對當前樣本進行處理,產生新樣本,並將其加入樣本集。上述預定規則可以由測試人員根據需要而設定。這是考慮到,一態樣,樣本的各個特徵並不是可以任意取值的,一些過於極端的取值會使樣本失去意義,比如,人臉寬度超過人臉長度的2倍、人眼面積占人臉面積的四分之三,等等。另一態樣測試人員還可以有針對性的產生特定條件下的樣本,以進行更有針對性的測試。例如,透過設置預定規則,將當前圖片樣本中的卡車顏色設置為特定顏色,例如白色,從而測試無人駕駛識別時對於各種車輛顏色與背景的識別情況。
在一個實施例中,根據預定規則設置樣本特徵的約束範圍。例如,將像素範圍設定為128×128-16384×16384等。進一步地,基於各個特徵的設定範圍為樣本添加隨機擾動項,產生新樣本。其中,隨機擾動項可以只改變樣本原有的特徵,也可以為樣本添加新的、與待測試模型的輸入相關的特徵。例如,一個待測試模型根據圖片顏色識別季節,一個圖片樣本的各個像素點的顏色透過RGB值表示為[(235,108,0),(199,98,3),(153,72,20),……],由於各個像素點的取值範圍都在0-255之間,隨機擾動項可以使每個像素點改變後的值都在0-255範圍內,如[(0,1,30),(26,0,3),(-153,72,20),……],將隨機擾動項疊加到原樣本產生新樣本為[(235,109,30),(255,98,6),(0,144,40),……]。隨機擾動項可以在像素範圍內增加樣本的像素點,例如原樣本有128×128個像素點,隨機擾動項可以增加128×256個像素點,產生新樣本為128×384個像素點。
如此,可以自動產生與人工收集的樣本具有差異性的新樣本,避免人工搜集的繁瑣。進一步地,由於可以人工設定特徵取值範圍,從而產生的新樣本比較符合真實情況。
在一個實施例中,對於已經用於對模型進行測試的樣本,可以保留在測試樣本集中以供後續測試過程中使用。在另一些可能的實施例中,對於各個樣本測試準確性都比較高的樣本,用於模型測試的意義不大,還可以從測試樣本集中移除。例如某個樣本,在每次使用該樣本進行測試的情況下,所有待測試模型都能給出正確輸出結果,則該樣本可以從測試樣本集中移除。實踐中,可以設定臨界值,在準確度大於該設定臨界值的情況下,將該樣本從測試樣本集中移除。
回顧以上過程,首先從測試樣本集中獲取樣本,接著將樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,然後根據輸出結果確定測試結果,進一步地,在該測試結果未滿足預定條件的情況下,按照預定規則,基於上述樣本產生新樣本,並將所產生的新樣本加入測試樣本集。在該模型測試的方法被循環執行的情況下,在該模型測試的方法被循環執行的情況下,一態樣對待檢測模型的準確性能及/或測試充分程度進行評估,另一態樣將基於原樣本產生的、與原樣本具有差異化的新樣本。如此既能避免人工收集樣本造成的人力浪費,又可以對模型進行進一步的測試,以及將擴充後的測試樣本集用於訓練模型從而提升模型的準確性。
根據另一態樣的實施例,還提供一種模型測試的裝置。圖5示出根據一個實施例的用於模型測試的裝置的示意性方塊圖。如圖5所示,用於模型測試的裝置500包括:獲取單元51,配置為從測試樣本集中獲取樣本;測試單元52,配置為將該樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,該多個待測試模型包括至少一個類神經網路模型;確定單元53,配置為根據上述輸出結果確定測試結果,測試結果包括第一測試結果和第二測試結果中的至少一項,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括上述至少一個類神經網路模型的神經元覆蓋率;產生單元54,配置為在測試結果未滿足預定條件的情況下,按照預定規則,基於該樣本產生新樣本,並將該新樣本加入上述測試樣本集。
根據一態樣的實施方式,在測試結果包括第一測試結果的情況下,確定單元52還包括:結果確定模組(未示出),配置為對所述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,其中,票數最高的輸出結果為正確輸出結果;準確性確定模組(未示出),配置為確定輸出結果為正確輸出結果的待測試模型輸出結果準確。
在一個可能的設計中,模型集中包括有標準模型,確定單元52包括:結果確定模組(未示出),配置為基於標準模型的輸出結果,確定與標準模型功能相同的待測試模型的正確輸出結果;準確性確定模組(未示出),配置為確定輸出結果為正確輸出結果的待測試模型輸出準確。
根據另一態樣的實施方式,在測試結果包括第二測試結果的情況下,確定單元包括:統計模組(未示出),配置為根據上述至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;覆蓋率確定模組,配置為基於神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,神經元覆蓋率和以下比率正相關:神經元覆蓋數與總神經元個數的比率。
進一步地,在測試結果包括第二測試結果的情況下,預定條件包括,上述至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。
更進一步地,預定條件還可以包括,上述多個待測試模型的輸出結果準確度均大於預設準確度臨界值。其中,該準確度可以和以下比率正相關:歷史測試結果準確的次數與總測試次數的比率。
在一個實施例中,產生模組54進一步配置為:獲取上述樣本中各個特徵的設定範圍;基於各個特徵的設定範圍為樣本添加隨機擾動項,產生新樣本。
在一種可能的設計中,裝置500還包括以下中的一項或多項:
消去單元(未示出),配置為消去模型集中測試結果滿足預定條件的待測試模型;添加單元(未示出),配置為在模型集中加入新的待測試模型。
透過以上裝置,可以不斷從測試樣本集中獲取樣本,循環執行模型測試的方法,產生更多差異化的樣本,極大提高模型測試的有效性。並且,透過產生的差異化樣本,還可以進一步用於訓練模型從而提升模型的準確性。
根據另一態樣的實施例,還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行結合圖2所描述的方法。
根據再一態樣的實施例,還提供一種計算設備,包括記憶體和處理器,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現結合圖2所述的方法。
本領域技術人員應該可以意識到,在上述一個或多個示例中,本發明所描述的功能可以用硬體、軟體、韌體或它們的任意組合來實現。當使用軟件實現時,可以將這些功能儲存在電腦可讀媒體中或者作為電腦可讀媒體上的一個或多個指令或碼進行傳輸。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用於限定本發明的保護範圍,凡在本發明的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本發明的保護範圍之內。
圖1為本說明書揭露的一個實施例的實施場景示意圖。如圖所示,使用者(如應用開發、測試人員)在類神經網路模型正式使用之前,可以將這些模型透過計算平台進行測試。這裡的計算平台可以是具有資料處理能力和資料輸入功能的各種裝置、設備,例如臺式電腦、伺服器等等。可以理解,計算平台還可以是上述電子設備組成的設備集群。使用者可以收集樣本作為初始的測試樣本集輸入計算平台。
測試時,計算平台從測試樣本集中獲取一個樣本,如樣本1,然後將樣本1輸入模型集包括的多個待測試模型中,如模型1、模型2、模型3等等,並獲得各個測試模型的輸出結果,對應為輸出1、輸出2、輸出3等等。可以理解,這多個模型可以具有相似的功能(預定功能),以使一個樣本1能夠同時用於模型1、模型2、模型3等等的測試,例如都具有模式識別功能。如此,樣本1可以同時輸入這多個模型中,這多個模型分別給出各自的輸出結果,例如模式識別的輸出結果。由於各個模型的準確性不同,具有相同功能的待測試模型的輸出結果可以相同,也可以不相同。值得說明的是,這些待測試模型包括至少一個類神經網路模型。
接著,計算平台可以根據各個模型的輸出結果確定測試結果。這裡,測試結果可以包括第一測試結果和第二測試結果中的至少一項。其中,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括至少一個類神經網路模型的神經元覆蓋率。這裡,神經元覆蓋率可以用於表示模型的神經元啟用情況。如此,對每個待測試模型而言,透過輸出結果的準確性可以對該模型的性能進行評判;另一態樣,透過神經元覆蓋率,可以確定對該模型的測試是否充分。
可以理解,測試之前,使用者(如應用開發、測試人員)還可以對測試結果設定相關條件作為預定條件,用來控制測試的結束時機,例如,可以設定所有待測試模型準確性均合格的預定條件,來控制測試過程結束等等。如果測試過程沒有結束,則計算平台可以再從測試樣本集中獲取其他樣本,循環執行以上測試過程。同時,由於原始的測試樣本集的樣本數量具有一定的局限性,如果測試過程還要繼續循環執行,則計算平台可以按照預定規則,基於用於此次的測試過程的樣本1產生一個新樣本,並將該新樣本加入到測試樣本集中,以用於後續的測試過程。使用者(如應用開發、測試人員)可以透過設定預定規則,控制樣本的產生,既能保證涵蓋各種情況,又不會與實際情況相差甚遠。
如此,一態樣對待檢測模型的準確性及/或測試充分程度進行了評估,另一態樣將基於原樣本產生的、與原樣本具有差異化的新樣本加入測試樣本集,可以使測試樣本集中的樣本數量和所涵蓋的情況得以擴充。透過自動產生這些差異化樣本,既能避免人工收集樣本造成的人力浪費,又可以對模型進行進一步的測試,以及用於訓練模型從而提升模型的準確性。下面描述上述場景的具體執行過程。
圖2示出根據一個實施例的模型測試的方法流程圖。該方法的執行主體可以是任何具有計算、處理能力的系統、設備、裝置、平台或伺服器,例如圖1所示的計算平台等。如圖2所示,該方法包括以下步驟:步驟21,從測試樣本集中獲取樣本;步驟22,將上述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,上述多個待測試模型包括至少一個類神經網路模型;步驟23,根據上述輸出結果確定測試結果,該測試結果包括第一測試結果和第二測試結果中的至少一項,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括上述至少一個類神經網路模型的神經元覆蓋率;步驟24,在上述測試結果不滿足預定條件的情況下,按照預定規則,基於以上樣本產生新樣本,並將該新樣本加入上述測試樣本集。
首先,在步驟21,從測試樣本集中獲取樣本。可以理解,測試樣本集用於儲存模型測試用的樣本,其可以是一個集合,也可以是資料庫,本申請對此不作限定。
模型測試的方法首次執行時,測試樣本集為初始的測試樣本集。初始的測試樣本集儲存的樣本可以包括使用者收集的樣本,也可以包括使用者收集的樣本和以往的模型測試過程中產生的樣本。
根據一種實施方式,使用者可以對收集的樣本進行篩選,挑選一些在模型中容易出錯的樣本,或者樣本特徵所占比例比較低的樣本,放入初始的測試樣本集。舉例而言,一個樣本在輸入10個不同的用於圖像識別的模型時,5個模型的輸出結果為卡車,5個模型的輸出結果為藍天,則該樣本容易出錯,可以挑選出來;再例如,所收集的100個樣本中有90個的溫度在攝氏零至20度,有4個樣本的溫度在攝氏零下較接近零度(比如都高於攝氏零下三度),有1個樣本的溫度在攝氏零下10度,則這1個溫度在攝氏零下10度的樣本所占比例比較低,可以挑選出來,對於這4個溫度在攝氏零下較接近零度的樣本,可以全部挑選出來,也可以擇一或擇二挑選。如此,可以避免漏掉一些較特殊的情況,有利於測試樣本集中的樣本均衡地涵蓋各種情況。
從測試樣本集中獲取樣本可以是任意可行的方式。在一個實施例中,可以按照測試樣本集中樣本的排列順序獲取樣本,例如第一遍執行該模型測試的方法時獲取排在第一的樣本,第二遍執行該模型測試的方法時獲取排在第二的樣本,以此類推。
在另一個實施例中,可以隨機獲取測試樣本集中的樣本。在隨機獲取樣本的情況下,該模型測試的方法被執行多遍後,可能會出現一些樣本被使用的次數較多,一些樣本未被使用過或使用較少,還可以設置樣本調取權重,使用次數越少,調取權重越高,以增加未被使用過或使用較少的樣本的使用機率。
在更多實施例中,使用者還可以透過更多可行方式從測試樣本集中獲取樣本。
接著,在步驟22,將上述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果。值得說明的是,這裡的模型是用來揭示變量之間因果關係的運算模型,其可以包括一個或一系列函式組成的演算法,透過這樣的演算法,可以根據輸入的變量得到一個由這些變量確定的輸出結果。如誤差反向傳播演算法BP(Back Propagation)演算法、卷積類神經網路CNN(Convolutional neural network)等等。
對於較複雜的情況,可以透過類神經網路模型來實現。類神經網路模型由多個神經元構成。如圖3所示,是一個三層結構的類神經網路模型的一個具體例子。圖3中的類神經網路模型包括多個神經元,如神經元31、32等。第一層各個神經元接收不同的輸入特徵參數x1 、x2 、x3 、x4 傳遞給第二層,第二層的神經元31分別對應運算單元,各個運算單元可以以第一層的x1 、x2 、x3 、x4 為輸入。其中,各個特徵x1 、x2 、x3 、x4 由樣本給出,或者從樣本中提取,例如分別是水果的顏色、形狀、大小等參數。同理,第三層的神經元32是以第二層的神經元31等的各個輸出值作為輸入的運算單元。每兩個神經元間的連接都代表一個對於透過該連接信號的加權值,稱之為權重。該類神經網路模型經過神經元32,可以得到一個輸出結果,例如桔子、橙子等。
進一步地,如圖4所示,每個神經元代表一種特定的輸出函式,稱為啟用功能(activation function,例如為sigmoid函式f(z)=1/(1+e-z ))。在圖4示出的神經元中,輸出函式可以為,其中,對於Wi ,i值從1取值到3,分別代表權重1、權重2、權重3,xi 中,i值從1取值到3,分別代表特徵參數1、特徵參數2、特徵參數3。對特徵參數1、特徵參數2、特徵參數3加權求和後透過啟用功能映射得到神經元的輸出。
其中,本實施例模型集中的這多個待測試模型中包括至少一個類神經網路模型。待測試模型是預先透過訓練樣本集訓練好的。訓練樣本集可以包括樣本和對應的已知輸出結果。根據訓練樣本集中樣本確定的輸入特徵參數和已知輸出結果調整模型參數(如圖4中的權重1等),直到模型對於訓練樣本集達到所要求的準確率,確定各個模型參數。儘管如此,由於訓練樣本集的局限性,還需要進一步透過測試樣本集對模型進行測試。
實踐中,模型集可以是一個模型集合。在模型測試的方法的執行主體是一個測試類平台的情況下,該平台中可以包括模型操作模組,使用者可以透過該模組添加待測試的模型,從而形成上述模型集合。雖然測試樣本集中的樣本可以適用於所有待測試模型,但是這些待測試模型可以具有相同的功能,也可以具有不相同的功能,根據測試的目的和具體情況而定。例如,對於同樣的圖片樣本,一個待測試模型可以根據樹木、花草的各種顏色外觀特徵識別品類等,另一個待測試模型可以根據樹木、花草的顏色特徵識別季節等。
可以理解,每個待測試模型會根據輸入的樣本得到一個輸出結果。對於同一個樣本,每個待測試模型的輸出結果可能會不同。例如,對於同一個圖片樣本,具有不同功能的模型,一個輸出品類楓葉,一個輸出季節秋季。對於功能相同的模型,由於模型準確性不一樣,輸出結果也不一樣,例如對於同一個圖片樣本,一個輸出春季,一個輸出夏季。在一個實施例中,該多個待測試模型均包括相同功能。
然後,在步驟23,根據上述輸出結果確定測試結果。可以理解,模型的測試結果透過模型在輸入樣本後的輸出結果來判定。而具體的測試結果是什麼,根據測試內容是什麼而定。
具體地,根據本實施例的一個態樣,測試內容可以是各個待測試模型的輸出結果的準確性。為了便於描述,把各個待測試模型的輸出結果的準確性稱為第一測試結果。第一測試結果可以是對輸出結果準確性的具體描述。例如,第一測試結果可以是各個待測試模型的結果準確、不準確中的一項,也可以是對待測試模型多次輸出結果是否正確進行統計所計算的準確率(輸出結果準確次數/總判斷次數),等等。
在一個實施例中,對上述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,每個輸出結果就是相應模型的投票結果,其中,票數最多的輸出結果為正確輸出結果;然後確定輸出結果為所述正確輸出結果的待測試模型輸出結果準確。作為示例,假設模型集中有10個待檢測模型,其中7個待檢測模型可以用於樹木、花草的顏色特徵識別季節,則這7個待檢測模型功能相同。對某個圖片樣本,在這7個待檢測模型的輸出結果分別是“春季”、“春季”、“夏季”、“秋季”、“春季”、“秋季”、“春季”的情況下,投票結果為“春季”4票,“夏季”1票,“秋季”2票,則票數最多的“春季”為正確輸出結果。然後,確定第一、第二、第五、第七個模型的輸出結果準確,第三、第四、第六個模型的輸出結果不準確。對另外3個待檢測模型,如果他們的功能相同,在測試內容為輸出結果的準確性的情況下,可以按照類似的方法處理,在此不再贅述。在一個可能的設計裡,模型集中的全部待測試模型具有的功能相同。
在另一個實施例中,模型集中可以包括有標準模型。此時,可以基於標準模型的輸出結果,確定與標準模型功能相同的待測試模型的正確輸出結果;確定輸出結果為正確輸出結果的待測試模型的輸出結果準確。其中,標準模型可以是經過測試的準確度較高的模型,例如準確度99.99%。由此,可以將標準模型的輸出結果確定為正確輸出結果。此時,對於人物圖片樣本,在標準模型確定的輸出結果為“男士”的情況下,7個與該標準模型功能都相同的待測試模型的輸出結果有4個為“女士”,3個為“男士”,則確定該輸出結果為“男士”的3個待測試模型的輸出結果準確。
在一個可能的設計中,在與標準模型功能相同的待測試模型的輸出結果與標準模型的輸出結果都不一致時,還可以檢測這些待測試模型的輸出結果是否一致,如果一致,也可以將該一致的結果確定為正確輸出結果。例如,對於人物圖片樣本,標準模型確定的輸出結果為“男士”,7個與該標準模型功能都相同的待測試模型的輸出結果均為“女士”,則確定正確輸出結果為“女士”。由於標準模型不是必然準確的模型,如此,可以防止標準模型輸出結果錯誤的情況下,導致對待測試模型的評判錯誤。
對於與標準模型功能不同的其他待測試模型,也可以按照上述投票確定正確輸出結果的方式確定測試結果,在此不再贅述。可選地,模型集中的全部待測試模型與該標準模型具有的功能相同。
在一個實施例中,第一測試結果還可以是某個樣本在測試中輸出結果的準確性。例如某個樣本,測試中有4個模型輸出結果準確,3個模型輸出結果不準確等等。可選地,還可以計算該樣本的準確度。對於單次測試過程,樣本的準確度=輸出結果正確的模型數/總模型數。對於該樣本的多次測試過程,準確度可以是單次準確度的平均值,也可以是被待測試模型輸出正確結果的總次數/總共被待測試模型執行並給出輸出結果的總次數。如此,可以對樣本在模型測試過程中的有用程度進行評估。在一個樣本每次進行測試,各個模型的輸出結果都是正確的情況下,該樣本對模型測試的意義不大。
另一態樣,測試內容可以是上述至少一個類神經網路模型的神經元覆蓋率。為了便於描述,把上述至少一個類神經網路模型的神經元覆蓋率稱為第二測試結果。容易理解,模型的神經元覆蓋率可以用來表示被啟用的神經元數在總神經元數中的比例。此時,可以檢測至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;基於神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,神經元覆蓋率和神經元覆蓋數與總神經元個數的比率正相關。
可以理解,類神經網路模型中,啟用功能也叫點火規則,與人腦的工作類似,只要輸入超過一定標準時才會產生輸出。因此,在一個樣本中,如果該樣本的某些特徵參數值比較小,則僅依靠這些特徵參數的神經元將不會產生輸出,即神經元未被啟用。如此,可以透過設置臨界值來作為神經元的輸出條件,例如輸出條件設置為神經元的輸出大於0。
值得說明的是,神經元覆蓋數是測試過程中滿足過輸出條件的神經元個數。例如,模型1共有50個神經元,在樣本1輸入模型1的情況下,第1-5個神經元滿足輸出條件,此時,神經元覆蓋數是5,神經元覆蓋率為與5/50正相關的數,例如百分數10%。在樣本2輸入模型1的情況下,第2-6個神經元滿足輸出條件,因此滿足過輸出條件的神經元為第1-6個,此時,神經元覆蓋數是6,神經元覆蓋率為與6/50正相關的數,例如百分數12%。
綜上,該測試結果可以包括第一測試結果和第二測試結果中的至少一項,其中,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括上述至少一個類神經網路模型的神經元覆蓋率。
接著,在步驟24,在上述測試結果未滿足預定條件的情況下,按照預定規則,基於以上樣本產生新樣本,並將該新樣本加入上述測試樣本集。這裡,可以儲存有預定條件,用於限定模型測試流程的結束時機。在該步驟中,可以進一步檢測步驟23中的測試結果是否滿足預定條件,滿足預定條件則停止模型檢測過程。在上述測試結果未滿足預定條件的情況下,可以按照預定規則對樣本進行處理,產生新樣本,並將該新樣本加入上述的測試樣本集,以擴充測試樣本集,用於後續的測試過程。其中,對樣本的處理例如是按照預定規則(如梯度上升演算法)改變各個特徵的取值。
在一個實施例中,上述預定條件基於神經元覆蓋率確定。具體地,在測試結果包括第二測試結果的情況下,預定條件可以包括:至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值,即如果待測試模型中包括一個類神經網路模型,則要求該類神經網路模型的神經元覆蓋率大於預設覆蓋率臨界值;如果待測試模型中包括多個類神經網路模型,則要求每個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。預設覆蓋率臨界值可以用來限定樣本對於模型測試的覆蓋程度,例如是99%。當神經元覆蓋率超過預設覆蓋率臨界值時,說明測試樣本集中的樣本已經可以充分地對模型的絕大部分神經元進行測試。
在另一些實現中,還可以進一步基於測試結果準確度設定上述預定條件。具體地,預定條件還可以包括,多個待測試模型的輸出結果準確度均大於預設準確度臨界值,其中,準確度和歷史測試結果準確的次數與總測試次數的比率正相關。作為示例,當前模型測試中,模型1通過了100個樣本的測試,其中輸出結果準確的次數為50,則其準確度與50/100正相關,例如是一個百分數50%。假定預設準確度臨界值為90%,則在模型集中的各個待檢測模型的準確度都大於90%的情況下,可以結束測試。由於次數較少的測試對模型準確度的評估意義不大,比如該模型測試方法執行1次的時候,對於單個樣本,模型的準確度要麼是0,要麼是100%。因此,在可選的實施例中,還可以限定準確度統計的次數,例如對某個待測試模型,至少執行100次循環之後開始計算其準確度。
在一個實施例中,還可以對每個待測試模型,判斷是否滿足預定條件,如準確度達到預設準確度臨界值,或者神經元覆蓋率達到預設覆蓋率臨界值。在準確度達到預設準確度臨界值的情況下,說明待測試模型的性能已經比較好了,繼續測試的意義不大,可以直接從模型集中消去。神經元覆蓋率達到預設覆蓋率臨界值,則說明待測試模型透過當前的測試已經可以充分發現其中缺陷或問題,也可以從模型集中消去。如此,可以及時消去測試完畢的待測試模型,減少模型測試主體的資料處理壓力。
在一個實施例中,模型測試的流程執行過程中,還可以隨時加入新的待測試模型進行測試。如此,可以節約模型測試的執行資源。
在繼續執行測試的情況下,如前所述,可以按照預定規則對當前樣本進行處理,產生新樣本,並將其加入樣本集。上述預定規則可以由測試人員根據需要而設定。這是考慮到,一態樣,樣本的各個特徵並不是可以任意取值的,一些過於極端的取值會使樣本失去意義,比如,人臉寬度超過人臉長度的2倍、人眼面積占人臉面積的四分之三,等等。另一態樣測試人員還可以有針對性的產生特定條件下的樣本,以進行更有針對性的測試。例如,透過設置預定規則,將當前圖片樣本中的卡車顏色設置為特定顏色,例如白色,從而測試無人駕駛識別時對於各種車輛顏色與背景的識別情況。
在一個實施例中,根據預定規則設置樣本特徵的約束範圍。例如,將像素範圍設定為128×128-16384×16384等。進一步地,基於各個特徵的設定範圍為樣本添加隨機擾動項,產生新樣本。其中,隨機擾動項可以只改變樣本原有的特徵,也可以為樣本添加新的、與待測試模型的輸入相關的特徵。例如,一個待測試模型根據圖片顏色識別季節,一個圖片樣本的各個像素點的顏色透過RGB值表示為[(235,108,0),(199,98,3),(153,72,20),……],由於各個像素點的取值範圍都在0-255之間,隨機擾動項可以使每個像素點改變後的值都在0-255範圍內,如[(0,1,30),(26,0,3),(-153,72,20),……],將隨機擾動項疊加到原樣本產生新樣本為[(235,109,30),(255,98,6),(0,144,40),……]。隨機擾動項可以在像素範圍內增加樣本的像素點,例如原樣本有128×128個像素點,隨機擾動項可以增加128×256個像素點,產生新樣本為128×384個像素點。
如此,可以自動產生與人工收集的樣本具有差異性的新樣本,避免人工搜集的繁瑣。進一步地,由於可以人工設定特徵取值範圍,從而產生的新樣本比較符合真實情況。
在一個實施例中,對於已經用於對模型進行測試的樣本,可以保留在測試樣本集中以供後續測試過程中使用。在另一些可能的實施例中,對於各個樣本測試準確性都比較高的樣本,用於模型測試的意義不大,還可以從測試樣本集中移除。例如某個樣本,在每次使用該樣本進行測試的情況下,所有待測試模型都能給出正確輸出結果,則該樣本可以從測試樣本集中移除。實踐中,可以設定臨界值,在準確度大於該設定臨界值的情況下,將該樣本從測試樣本集中移除。
回顧以上過程,首先從測試樣本集中獲取樣本,接著將樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,然後根據輸出結果確定測試結果,進一步地,在該測試結果未滿足預定條件的情況下,按照預定規則,基於上述樣本產生新樣本,並將所產生的新樣本加入測試樣本集。在該模型測試的方法被循環執行的情況下,在該模型測試的方法被循環執行的情況下,一態樣對待檢測模型的準確性能及/或測試充分程度進行評估,另一態樣將基於原樣本產生的、與原樣本具有差異化的新樣本。如此既能避免人工收集樣本造成的人力浪費,又可以對模型進行進一步的測試,以及將擴充後的測試樣本集用於訓練模型從而提升模型的準確性。
根據另一態樣的實施例,還提供一種模型測試的裝置。圖5示出根據一個實施例的用於模型測試的裝置的示意性方塊圖。如圖5所示,用於模型測試的裝置500包括:獲取單元51,配置為從測試樣本集中獲取樣本;測試單元52,配置為將該樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,該多個待測試模型包括至少一個類神經網路模型;確定單元53,配置為根據上述輸出結果確定測試結果,測試結果包括第一測試結果和第二測試結果中的至少一項,第一測試結果包括各個待測試模型的輸出結果的準確性,第二測試結果包括上述至少一個類神經網路模型的神經元覆蓋率;產生單元54,配置為在測試結果未滿足預定條件的情況下,按照預定規則,基於該樣本產生新樣本,並將該新樣本加入上述測試樣本集。
根據一態樣的實施方式,在測試結果包括第一測試結果的情況下,確定單元52還包括:結果確定模組(未示出),配置為對所述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,其中,票數最高的輸出結果為正確輸出結果;準確性確定模組(未示出),配置為確定輸出結果為正確輸出結果的待測試模型輸出結果準確。
在一個可能的設計中,模型集中包括有標準模型,確定單元52包括:結果確定模組(未示出),配置為基於標準模型的輸出結果,確定與標準模型功能相同的待測試模型的正確輸出結果;準確性確定模組(未示出),配置為確定輸出結果為正確輸出結果的待測試模型輸出準確。
根據另一態樣的實施方式,在測試結果包括第二測試結果的情況下,確定單元包括:統計模組(未示出),配置為根據上述至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;覆蓋率確定模組,配置為基於神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,神經元覆蓋率和以下比率正相關:神經元覆蓋數與總神經元個數的比率。
進一步地,在測試結果包括第二測試結果的情況下,預定條件包括,上述至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。
更進一步地,預定條件還可以包括,上述多個待測試模型的輸出結果準確度均大於預設準確度臨界值。其中,該準確度可以和以下比率正相關:歷史測試結果準確的次數與總測試次數的比率。
在一個實施例中,產生模組54進一步配置為:獲取上述樣本中各個特徵的設定範圍;基於各個特徵的設定範圍為樣本添加隨機擾動項,產生新樣本。
在一種可能的設計中,裝置500還包括以下中的一項或多項:
消去單元(未示出),配置為消去模型集中測試結果滿足預定條件的待測試模型;添加單元(未示出),配置為在模型集中加入新的待測試模型。
透過以上裝置,可以不斷從測試樣本集中獲取樣本,循環執行模型測試的方法,產生更多差異化的樣本,極大提高模型測試的有效性。並且,透過產生的差異化樣本,還可以進一步用於訓練模型從而提升模型的準確性。
根據另一態樣的實施例,還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行結合圖2所描述的方法。
根據再一態樣的實施例,還提供一種計算設備,包括記憶體和處理器,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現結合圖2所述的方法。
本領域技術人員應該可以意識到,在上述一個或多個示例中,本發明所描述的功能可以用硬體、軟體、韌體或它們的任意組合來實現。當使用軟件實現時,可以將這些功能儲存在電腦可讀媒體中或者作為電腦可讀媒體上的一個或多個指令或碼進行傳輸。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用於限定本發明的保護範圍,凡在本發明的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本發明的保護範圍之內。
21‧‧‧步驟
22‧‧‧步驟
23‧‧‧步驟
24‧‧‧步驟
31‧‧‧神經元
32‧‧‧神經元
500‧‧‧模型測試裝置
51‧‧‧獲取單元
52‧‧‧測試單元
53‧‧‧確定單元
54‧‧‧產生單元
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
圖1示出本說明書揭露的一個實施例的實施場景示意圖;
圖2示出根據一個實施例的模型測試的方法流程圖;
圖3示出類神經網路模型的一個具體例子;
圖4示出類神經網路模型的神經元的一個具體例子;以及
圖5示出根據一個實施例的用於模型測試的裝置的示意性方塊圖。
Claims (18)
- 一種模型測試的方法,包括: 從測試樣本集中獲取樣本; 將所述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,所述多個待測試模型包括至少一個類神經網路模型; 根據所述輸出結果確定測試結果,所述測試結果包括第一測試結果和第二測試結果中的至少一項,所述第一測試結果包括各個待測試模型的輸出結果的準確性,所述第二測試結果包括所述至少一個類神經網路模型的神經元覆蓋率;以及 在所述測試結果未滿足預定條件的情況下,按照預定規則,基於所述樣本產生新樣本,並將所述新樣本加入所述測試樣本集。
- 根據請求項1所述的方法,其中,在所述測試結果包括第一測試結果的情況下,所述根據所述輸出結果確定測試結果包括: 對所述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,其中,票數最多的輸出結果為正確輸出結果;以及 確定輸出結果為所述正確輸出結果的待測試模型輸出結果準確。
- 根據請求項1所述的方法,其中,所述模型集中包括標準模型;以及 所述根據所述輸出結果確定測試結果包括: 基於標準模型的輸出結果,確定與所述標準模型功能相同的待測試模型的正確輸出結果;以及 確定輸出結果為所述正確輸出結果的待測試模型的輸出結果準確。
- 根據請求項1所述的方法,其中,在所述測試結果包括第二測試結果的情況下,所述根據所述輸出結果確定測試結果包括: 根據所述至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,所述神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;以及 基於所述神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,所述神經元覆蓋率和以下比率正相關:所述神經元覆蓋數與總神經元個數的比率。
- 根據請求項4所述的方法,其中,所述預定條件包括: 所述至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。
- 根據請求項5所述的方法,其中,所述預定條件還包括: 所述多個待測試模型的輸出結果準確度均大於預設準確度臨界值。
- 根據請求項1所述的方法,其中,按照預定規則,基於所述樣本產生新樣本包括: 獲取所述樣本中各個特徵的設定範圍;以及 基於各個特徵的設定範圍為所述樣本添加隨機擾動項,產生新樣本。
- 根據請求項1所述的方法,所述方法還包括以下中的一項或多項: 消去模型集中測試結果滿足所述預定條件的待測試模型;以及 在模型集中加入新的待測試模型。
- 一種模型測試的裝置,包括: 獲取單元,配置為從測試樣本集中獲取樣本; 測試單元,配置為將所述樣本輸入模型集包括的多個待測試模型中,以獲得各個待測試模型的輸出結果,其中,所述多個待測試模型包括至少一個類神經網路模型; 確定單元,配置為根據所述輸出結果確定測試結果,所述測試結果包括第一測試結果和第二測試結果中的至少一項,所述第一測試結果包括各個待測試模型的輸出結果的準確性,所述第二測試結果包括所述至少一個類神經網路模型的神經元覆蓋率;以及 產生單元,配置為在所述測試結果未滿足預定條件的情況下,按照預定規則,基於所述樣本產生新樣本,並將所述新樣本加入所述測試樣本集。
- 根據請求項9所述的裝置,其中,在所述測試結果包括第一測試結果的情況下,所述確定單元包括: 結果確定模組,配置為對所述多個待測試模型中包括的功能相同的待測試模型,投票確定正確輸出結果,其中,票數最高的輸出結果為正確輸出結果;以及 準確性確定模組,配置為確定輸出結果為所述正確輸出結果的待測試模型輸出結果準確。
- 根據請求項9所述的裝置,所述模型集中包括標準模型,以及, 所述確定單元包括: 結果確定模組,配置為基於標準模型的輸出結果,確定與所述標準模型功能相同的待測試模型的正確輸出結果;以及 準確性確定模組,配置為確定輸出結果為所述正確輸出結果的待測試模型輸出準確。
- 根據請求項9所述的裝置,其中,在所述測試結果包括第二測試結果的情況下,所述確定單元包括: 統計模組,配置為根據所述至少一個類神經網路模型中各個神經元的輸出是否滿足輸出條件,統計各個類神經網路模型的神經元覆蓋數,其中,所述神經元覆蓋數包括,測試過程中滿足過輸出條件的神經元個數;以及 覆蓋率確定模組,配置為基於所述神經元覆蓋數確定各個類神經網路模型的神經元覆蓋率,其中,所述神經元覆蓋率和以下比率正相關:所述神經元覆蓋數與總神經元個數的比率。
- 根據請求項12所述的裝置,其中,所述預定條件包括: 所述至少一個類神經網路模型的神經元覆蓋率均大於預設覆蓋率臨界值。
- 根據請求項13所述的裝置,其中,所述預定條件還包括: 所述多個待測試模型的輸出結果準確度均大於預設準確度臨界值。
- 根據請求項9所述的裝置,其中,所述產生模組進一步配置為: 獲取所述樣本中各個特徵的設定範圍;以及 基於各個特徵的設定範圍為所述樣本添加隨機擾動項,產生新樣本。
- 根據請求項9所述的裝置,所述裝置還包括以下中的一項或多項: 消去單元,配置為消去模型集中測試結果滿足所述預定條件的待測試模型;以及 添加單元,配置為在模型集中加入新的待測試模型。
- 一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行根據請求項1至8中任一項所述的方法。
- 一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現根據請求項1至8中任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810443821.0 | 2018-05-10 | ||
CN201810443821.0A CN108615071B (zh) | 2018-05-10 | 2018-05-10 | 模型测试的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201947463A true TW201947463A (zh) | 2019-12-16 |
TWI698808B TWI698808B (zh) | 2020-07-11 |
Family
ID=63662963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108105402A TWI698808B (zh) | 2018-05-10 | 2019-02-19 | 模型測試的方法及裝置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11176418B2 (zh) |
EP (1) | EP3719708A4 (zh) |
CN (2) | CN112232476B (zh) |
SG (1) | SG11202006208YA (zh) |
TW (1) | TWI698808B (zh) |
WO (1) | WO2019214309A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232476B (zh) * | 2018-05-10 | 2024-04-16 | 创新先进技术有限公司 | 更新测试样本集的方法及装置 |
CN109783700B (zh) * | 2018-12-12 | 2021-06-08 | 广州市贺氏办公设备有限公司 | 一种盘点数据处理方法、***及装置 |
CN110009509B (zh) * | 2019-01-02 | 2021-02-19 | 创新先进技术有限公司 | 评估车损识别模型的方法及装置 |
CN110008987B (zh) * | 2019-02-20 | 2022-02-22 | 深圳大学 | 分类器鲁棒性的测试方法、装置、终端及存储介质 |
CN111722610B (zh) * | 2019-03-20 | 2021-10-22 | 北京新能源汽车股份有限公司 | 一种测试用例生成方法及装置 |
CN110110854B (zh) * | 2019-04-01 | 2022-04-22 | 南京邮电大学 | 一种基于边状态的深度神经网络测试充分性的方法 |
WO2021128084A1 (zh) * | 2019-12-25 | 2021-07-01 | 阿里巴巴集团控股有限公司 | 数据处理、获取、模型训练及功耗控制方法、***及设备 |
KR102191722B1 (ko) * | 2020-07-15 | 2020-12-16 | 세종대학교산학협력단 | 딥러닝 모델의 취약점 판단 장치 및 방법 |
GB2597666A (en) * | 2020-07-27 | 2022-02-09 | Thales Holdings Uk Plc | Methods and systems for verifying and predicting the performance of machine learning algorithms |
CN112395203B (zh) * | 2020-11-30 | 2024-06-14 | 京东科技控股股份有限公司 | 程序测试方法、装置及存储介质 |
US20220180185A1 (en) * | 2020-12-09 | 2022-06-09 | Micron Technology, Inc. | Artificial neural network model selection |
CN114374534B (zh) * | 2021-12-08 | 2024-04-02 | 山石网科通信技术股份有限公司 | 测试样本集的更新方法、装置及电子设备 |
CN114443506B (zh) * | 2022-04-07 | 2022-06-10 | 浙江大学 | 一种用于测试人工智能模型的方法及装置 |
CN115098862B (zh) * | 2022-06-06 | 2023-12-08 | 中国船舶集团有限公司***工程研究院 | 水面无人***智能算法模型安全可信评估方法及装置 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7130834B2 (en) * | 1997-12-12 | 2006-10-31 | Idaho Potato Commission | Identification system and method for determining the geographic origin of a fresh commodity |
WO2002036812A2 (en) * | 2000-11-03 | 2002-05-10 | Michael Korenberg | Nonlinear system identification for class prediction in bioinformatics and related applications |
US20030225719A1 (en) * | 2002-05-31 | 2003-12-04 | Lucent Technologies, Inc. | Methods and apparatus for fast and robust model training for object classification |
US7007001B2 (en) * | 2002-06-26 | 2006-02-28 | Microsoft Corporation | Maximizing mutual information between observations and hidden states to minimize classification errors |
US7711662B2 (en) * | 2003-01-15 | 2010-05-04 | Bracco Imaging S.P.A. | System and method for optimization of a database for the training and testing of prediction algorithms |
US7814036B2 (en) * | 2003-06-19 | 2010-10-12 | Haliburton Energy Services, Inc. | Processing well logging data with neural network |
US7295981B1 (en) * | 2004-01-09 | 2007-11-13 | At&T Corp. | Method for building a natural language understanding model for a spoken dialog system |
KR101126390B1 (ko) * | 2007-12-18 | 2012-03-29 | 후지쯔 가부시끼가이샤 | 2클래스 분류 예측 모델의 작성 방법, 분류 예측 모델 작성을 위한 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 2클래스 분류 예측 모델의 작성 장치 |
CN101782743A (zh) * | 2010-02-11 | 2010-07-21 | 浙江大学 | 神经网络建模方法及*** |
CN102567391B (zh) * | 2010-12-20 | 2014-05-07 | ***通信集团广东有限公司 | 一种分类预测混合模型的建立方法及装置 |
CN103743980A (zh) * | 2014-01-14 | 2014-04-23 | 山东科技大学 | 基于pso优化的svm的电能质量扰动识别与分类方法 |
CN107438842A (zh) * | 2014-12-18 | 2017-12-05 | Asml荷兰有限公司 | 通过机器学习的特征搜索 |
US10013656B1 (en) * | 2014-12-23 | 2018-07-03 | EMC IP Holding Company LLC | Methods and apparatus for analytical processing of provenance data for HPC workflow optimization |
CN105868769A (zh) * | 2015-01-23 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 图像中的人脸关键点定位方法及装置 |
EP3070611A1 (en) * | 2015-03-18 | 2016-09-21 | Vestel Elektronik Sanayi ve Ticaret A.S. | Statistical model-based test design for effective test case generation |
US9836564B1 (en) * | 2015-04-09 | 2017-12-05 | Cadence Design Systems, Inc. | Efficient extraction of the worst sample in Monte Carlo simulation |
US10373054B2 (en) * | 2015-04-19 | 2019-08-06 | International Business Machines Corporation | Annealed dropout training of neural networks |
US20160342861A1 (en) * | 2015-05-21 | 2016-11-24 | Mitsubishi Electric Research Laboratories, Inc. | Method for Training Classifiers to Detect Objects Represented in Images of Target Environments |
CN105138963A (zh) * | 2015-07-31 | 2015-12-09 | 小米科技有限责任公司 | 图片场景判定方法、装置以及服务器 |
US10147049B2 (en) * | 2015-08-31 | 2018-12-04 | International Business Machines Corporation | Automatic generation of training data for anomaly detection using other user's data samples |
CN106485192B (zh) * | 2015-09-02 | 2019-12-06 | 富士通株式会社 | 用于图像识别的神经网络的训练方法和装置 |
CN105260786B (zh) * | 2015-09-08 | 2018-10-26 | 哈尔滨工程大学 | 一种电力推进***仿真可信度评估模型综合优化方法 |
US10373073B2 (en) * | 2016-01-11 | 2019-08-06 | International Business Machines Corporation | Creating deep learning models using feature augmentation |
CN107133436A (zh) * | 2016-02-26 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 一种多重抽样模型训练方法及装置 |
CN106022215B (zh) * | 2016-05-05 | 2019-05-03 | 北京海鑫科金高科技股份有限公司 | 人脸特征点定位方法及装置 |
CN106408016A (zh) * | 2016-09-13 | 2017-02-15 | 广西电网有限责任公司北海供电局 | 一种配电网停电时间自动识别模型构造方法 |
CN106503795A (zh) * | 2016-10-10 | 2017-03-15 | 上海电机学院 | 一种基于多神经元覆盖的神经网络结构设计方法 |
US10546237B2 (en) * | 2017-03-30 | 2020-01-28 | Atomwise Inc. | Systems and methods for correcting error in a first classifier by evaluating classifier output in parallel |
JP6832783B2 (ja) * | 2017-04-20 | 2021-02-24 | 株式会社日立製作所 | データ分析装置、データ分析方法、およびデータ分析プログラム |
US20180314975A1 (en) * | 2017-04-27 | 2018-11-01 | Futurewei Technologies, Inc. | Ensemble transfer learning |
CN107563280A (zh) * | 2017-07-24 | 2018-01-09 | 南京道熵信息技术有限公司 | 基于多模型的人脸识别方法和装置 |
CN107590565B (zh) * | 2017-09-08 | 2021-01-05 | 北京首钢自动化信息技术有限公司 | 一种构建建筑能耗预测模型的方法及装置 |
US11645541B2 (en) * | 2017-11-17 | 2023-05-09 | Adobe Inc. | Machine learning model interpretation |
CN112232476B (zh) * | 2018-05-10 | 2024-04-16 | 创新先进技术有限公司 | 更新测试样本集的方法及装置 |
KR101940029B1 (ko) * | 2018-07-11 | 2019-01-18 | 주식회사 마키나락스 | 어노말리 디텍션 |
-
2018
- 2018-05-10 CN CN202011272937.6A patent/CN112232476B/zh active Active
- 2018-05-10 CN CN201810443821.0A patent/CN108615071B/zh active Active
-
2019
- 2019-02-19 TW TW108105402A patent/TWI698808B/zh active
- 2019-02-19 SG SG11202006208YA patent/SG11202006208YA/en unknown
- 2019-02-19 WO PCT/CN2019/075438 patent/WO2019214309A1/zh unknown
- 2019-02-19 EP EP19799244.9A patent/EP3719708A4/en not_active Ceased
-
2020
- 2020-05-28 US US16/886,609 patent/US11176418B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
SG11202006208YA (en) | 2020-07-29 |
CN108615071A (zh) | 2018-10-02 |
US20200293892A1 (en) | 2020-09-17 |
WO2019214309A1 (zh) | 2019-11-14 |
TWI698808B (zh) | 2020-07-11 |
US11176418B2 (en) | 2021-11-16 |
CN112232476A (zh) | 2021-01-15 |
CN108615071B (zh) | 2020-11-24 |
CN112232476B (zh) | 2024-04-16 |
EP3719708A1 (en) | 2020-10-07 |
EP3719708A4 (en) | 2021-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI698808B (zh) | 模型測試的方法及裝置 | |
KR101967089B1 (ko) | 컨볼루션 신경망 기반의 완전 기준 이미지 품질 평가 | |
WO2018112783A1 (zh) | 图像识别方法及装置 | |
TW201734837A (zh) | 一種多重抽樣模型訓練方法及裝置 | |
US11283991B2 (en) | Method and system for tuning a camera image signal processor for computer vision tasks | |
CN110991220B (zh) | 禽蛋检测、图像处理方法,装置、电子设备及存储介质 | |
CN112149962B (zh) | 一种施工事故致因行为的风险定量评估方法及*** | |
CN112365007B (zh) | 模型参数确定方法、装置、设备及存储介质 | |
RU2607977C1 (ru) | Способ создания модели объекта | |
CN113592649A (zh) | 一种数据资产价值确定方法、装置及电子设备 | |
CN111079930A (zh) | 数据集质量参数的确定方法、装置及电子设备 | |
CN113838076A (zh) | 目标图像中的对象轮廓的标注方法及装置、存储介质 | |
CN111404835A (zh) | 流量控制方法、装置、设备及存储介质 | |
CN114860617B (zh) | 一种智能压力测试方法及*** | |
CN110855474A (zh) | Kqi数据的网络特征提取方法、装置、设备及存储介质 | |
WO2023102844A1 (zh) | 剪枝模块的确定方法、装置及计算机可读存储介质 | |
CN112883988B (zh) | 基于多数据集的特征提取网络的训练及特征提取方法 | |
CN113177074B (zh) | 一种提升环境自适应性的光学性能监测***及方法 | |
CN113886579B (zh) | 行业资讯正负面模型构建方法和***、识别方法和*** | |
CN117592363A (zh) | 一种配电网机理模型与孪生数据的动态匹配方法及装置 | |
CN112528996A (zh) | 图片处理方法、装置、设备、存储介质和计算机程序产品 | |
CN114529720A (zh) | 神经网络的可解释性评估方法、装置、存储介质及设备 | |
CN117171001A (zh) | 基于智能探索的自动化测试 | |
CN113139447A (zh) | 特征分析方法、装置、计算机设备和存储介质 | |
CN116881117A (zh) | 测试用例覆盖率评估方法、装置、计算机设备和存储介质 |