天天看點

ASPICE-機器學習流程

作者:杜杜Love

MLE.1機器學習需求分析

目的是将機器學習相關的軟體需求細化為一組ML需求。

由于ML需求屬于軟體需求組,是以SWE.1軟體需求分析過程”中的評級建議在這裡也是有效的。ML需求來源于軟體需求,這些需求被歸類為在基于ML的軟體元素中實作。ML需求包括ML資料需求,這是SUP11機器學習資料管理的主要輸入,以及其他ML需求,這是其他MLE過程的輸入。

ML資料要求應解決:

  • 要涵蓋的資料特征及其預期分布
  • 非功能要求(例如,關于标簽品質,資料完整性)
  • ML資料的結構和格式

其他ML要求應解決:

  • 用于訓練和測試ML模型的功能部件
  • 硬體相關的機器學習功能
  • 接收來自電子傳感器的信号
  • 非功能需求(例如,性能、品質需求)

MLE.2機器學習架構

目的是建立一個支援訓練和部署的ML架構,與ML需求一緻,并根據定義的标準評估ML架構。

機器學習架構必須包含所有必要的機器學習架構元素,如超參數範圍和初始值,機器學習模型的細節,以及MLE.3“機器學習訓練”所需的其他可能的軟體部分。

對于機器學習體系結構,需要從所有資源關鍵元素的機器學習需求中派生出資源消耗目标,并且在訓練的機器學習模型和部署的機器學習模型之間可能不同。

訓練通常在機器學習訓練和驗證方法中定義的特定訓練環境中完成(參見MLE.3)。此外,對于這種環境,應該定義資源消耗目标,以確定ML架構的可行性。

ML架構不僅要考慮ML模型本身,還要考慮訓練、部署和測試ML模型所需的任何潛在的附加軟體。

通常要考慮和訓練不同的ML模型。學習率、損失函數、模型深度、正則化常數等超參數将允許配置ML模型。應提供不同超參數和初始值的基本原理,并應記錄所采取的決策。

ML體系結構還必須考慮不同ML體系結構元素之間的接口。通常,接口按照名稱、類型、範圍、預設值、機關、分辨率和方向進行文檔化。

MLE.3機器學習訓練

目的是優化ML模型以滿足已定義的ML需求。

機器學習使用能夠執行輸入到輸出資料張量的功能映射的ML模型。通過調整ML模型的内部參數來優化映射的品質,直到輸出張量與期望值的偏差優于由損失函數測量的預定義門檻值。通常,這些參數是權重和或平均值的權重,作為神經元激活函數和機器學習架構定義的超參數的輸入(參見MLE.2)。

即使是簡單的任務也會很快導緻高維優化問題,因為權重的數量取決于輸入和輸出張量的大小、層數和其他方面。是以,ML模型的訓練過程會消耗大量的記憶體和計算能力。如果需要進行浮點運算,消耗的就更多了。

由于任務的複雜性,訓練過程通常是一個疊代過程,可能需要更改機器學習架構(MLE.2)、訓練和驗證方法或訓練和驗證資料集。即使有了經驗,也不能從一開始就保證一個定義好的ML架構在第一次訓練時就能立即達到所需的品質。是以,疊代變化不是MLE.2或MLE.3失敗的訓示,而是建立最終滿足所有ML需求的ML模型過程的固有部分。

用于訓練和驗證的資料集必須根據ML訓練和驗證方法,從SUP.11提供的ML資料集合中建立。偏離會導緻不能保證滿足ML要求的訓練結果。

對ML訓練和驗證方法的期望涵蓋了以下幾個方面:

  • 訓練的進入和退出标準,包括ML模型的實作能力與ML需求的比較;
  • 訓練中使用的超參數調優/優化方法;
  • 用于ML訓練和驗證的資料集建立和修改方法;
  • 訓練環境,包括:

-所需的訓練硬體(例如,GPU或要使用的超級計算機);

-用于提供輸入資料和存儲輸出資料的接口擴充卡;

  • 如果需要,組織資料集和教育訓練環境的行動。

MLE.4機器學習模型測試

目的是確定訓練的ML模型和部署的ML模型符合ML要求。

機器學習模型測試過程側重于測試商定的訓練ML模型,以確定符合ML要求。是以,指定了一種ML測試方法,并根據ML資料需求,從SUP.11提供的ML資料集合中建立ML測試資料集。在成功測試訓練好的ML模型後,導出一個部署的ML模型,并對其進行測試。

部署的ML模型将內建到目标系統中,可能與訓練的ML模型不同,後者通常需要強大的硬體并使用解釋性語言。

測試ML模型是通過将使用訓練或部署的ML模型計算的測試資料的結果與預期結果和非功能性ML需求(例如kpi)與ML測試方法中定義的通過/失敗标準進行比較來完成的。

測試結果為使用的測試資料提供了有意義的計算結果摘要,這是測試執行所需的證據。測試資料集必須根據ML測試方法從SUP.11提供的ML資料集合中建立。

如果測試失敗并且需要對ML模型進行優化,則必須確定ML測試資料集仍然可靠,以確定符合ML要求,是以可能需要更改ML測試資料集。

ML測試方法應該涵蓋以下幾個方面:

  • 由ML資料需求定義的資料特征分布的ML測試場景。是以,資料特征被定義為資料的一個屬性,該屬性可能在操作設計域(operation Design Domain, ODD)中具有不同的表達式。例如,天氣狀況可以是一個資料特征,它可能包含諸如sunny, foggy或rainy這樣的表達式。然後将ML測試場景定義為所有已定義資料特征的表達式的組合,例如,天氣條件=晴天,街道條件=礫石路;
  • ML測試資料集中每個ML測試場景的數量。這可能是基于ODD中每個ML測試場景的頻率,或者基于ML測試場景的預期臨界性。
  • 每個測試資料的預期測試結果;
  • 所需的ML測試基礎設施和環境配置。
  • 機器學習測試的通過/失敗标準;

ML工作産品之間的可追溯性

ASPICE-機器學習流程

繼續閱讀