【自有技術大講堂】Active Learning -- 利用主動學習來改善AI模型樣本集

            網站首頁    行業信息    【自有技術大講堂】Active Learning -- 利用主動學習來改善AI模型樣本集

            一、導語

             

            工業機器視覺現場使用深度學習算法特別需要數據,需要成千上萬的樣本來實現模型達到客戶對于過漏檢的標注要求。 而收集提供高質量的訓練樣本是一項非?;ㄙM時間和人力的任務。高視科技在多年現AI落地實踐中也是遇到了此類問題,但同時也在提高效率方面積累了不少經驗, 主動學習Active Learning)就是其中一種策略,它可以優化構建有效AI模型所需的人力。  

            二、主動學習(Active Learning)定義

            主動學習是一種機器學習訓練策略,它使算法能夠主動識別需要訓練數據樣本集,從而最有效地提高AI模型性能。 更簡單地說,主動學習是一種策略,用于確定在我們的訓練數據中哪些特定的樣本可以最好地提高模型性能。 它是人機回圈human-in-the-loop機器學習策略的子集,通過最大限度地利用我們的訓練數據來改進我們的AI模型。

              

            三、 一個主動學習的實例

             

            我們舉一個生活場景的實例來說明。

            想象一下,您正在構建一個計算機視覺模型,以識別留在門口的包裹,以便向您發送一條收到郵件的推送通知。 包裝有各種各樣的形狀、大小和顏色。 假設您的訓練數據包10,00樣本圖像:6000張棕色紙板箱包裝圖片,3000張扁平而蓬松的白色信封的圖片,以1000張黃色盒子的圖片。  

             

             

            此外,每個盒子都可以放在門廊的不同位置,照片的明暗程度受天氣和時間的影響,盒子本身的大小也可以不同。 一個理想的數據集應該具有足夠的多樣性,以捕捉所有可能的情:例如白天在走廊左邊的一個黃色小盒子陰天在右邊的一個白色信封。 

            現在我們需要快速而準確地開發一個模型,所以一個快速驗證策略是10,000張圖像中標1,000張圖像子集,評估模型性能,然后再去標記額外的數據。

            首先應該標記哪1000張圖片?

            憑直覺,可以選擇為我們識別的每個包類標記一些數:棕色盒子、白色信封和黃色盒子。因為我們的模型在沒有看到任何棕盒子的例子的情況下無法了解棕盒子是什么,所以我們需要確保在我們的訓練數據中包含一些棕盒子。確保我們的1000張圖像包括我們希望的模型能學習的每個類的示例,實際上是一種主動學習類型。我們已經將訓練數據縮小到一組能最好地提高模型性能的圖像。

            同樣的概念也適用于圖像數據集中的其他屬性。如果我們選擇300個棕色盒子的樣本,但每個棕色盒子的例子都是一個完美的立方體?如果我們選擇了所100個黃色盒子的樣本,但我們的黃色盒子樣本圖總是采集自陽光明媚的日子,會怎么?同樣,我們的目標應該是創建一個包含每個類變化的數據集,這樣我們的模型就可以最好地學習到在任何大小、任何位置和任何天氣條件下交付的包裹。

            四、主動學習的類型

            有多種方法可以幫助我們的模型從我們的初始訓練數據學習。這些方法包括從我們的訓練數據中生成額外的樣本,或者確定哪個樣本子集對我們的模型最有用。我們的核心目標是從一個完整的總(我們的訓練數)中確定哪些樣()可以最好地幫助模型性能。

            對我們的模型最有幫助的抽樣可以遵循以下幾個策略: 基于池的抽樣、基于流的選擇性抽樣和成員查詢合成。

            所有的主動學習技術都依賴于我們首先得擁有一些具有準確標簽的樣本。也就是說,我們不可避免地需要花費人工去給一些例子貼上標簽。主動學習技術的不同之處在于,我們如何使用這些已知的、準確的樣本來從我們的數據集中識別額外的未知的、有用的樣本。

            為了評估這些不同的主動學習技術,讓我們假設我們1000個完全人工手動標記好的樣本開始。接下來我們的目標是通過主動學習技術另外獲1000張需要標記的圖片樣本。

             

            IMG_256

             

            我們結合上文提到的三種采樣技術做一下介紹和分析

             

            基于池(Pool-Based)抽樣

            基于池的抽樣是一種主動學習技術,可能是主動學習中最常見的技術,我們通過識別所有給定樣本信息有用,然后選擇N樣本來訓練我們的模型。換句話說,我們想要確定哪些樣本對我們的模型最有幫助,然后選擇最好的樣本。

            考慮以下策略。我們之前已經1000個完美的人類標簽包裝樣本。我們可以800個帶標簽的樣本訓練出來一個模型,并對剩下200個帶標簽的樣本進行驗證。有了這個模型,我們可以假設模型預測精度最低的樣本是那些對提高性能最有幫助的樣本。也就是說,我們的模型在驗證集中錯誤最多的地方可能是對未來訓練最有用的圖像。

            那么,我們如何利用基于池的樣本來找到我們需要增加1000個樣本呢?我們可以在剩余9000個包圖像上運行我們的模型。然后,我們將根據最低的預測標簽概率對圖像進行排:圖像中沒有找到(精度0%),或者找到的包的可信度較(精度低50%)。我們將從最低得分開始1000個得分低的樣本,通過人工標注,讓它們擁有完美的標簽。這樣篩選出來1000個樣本圖片,再投入訓練,能夠大大提升模型的泛化性能。

             

            基于流的選擇性抽樣

            基于流的選擇性抽樣也是一種主動學習技術,主動學習系統在訓練模型時,根據某個閾值決定是查詢完美ground truth標簽還是分配模型預測標簽。更簡單地說,對于每個未標記的樣本,主動學習需要考慮,我是否有足夠的信心將模型給這個樣本標記,,還是我應該詢問這個樣本標記?”

            基于流的選擇性抽樣可能是窮舉搜索因為每個未標記的樣本都是逐一檢查但它可能會導致我們花費過多時間去搜索獲取想要增加的樣本。

            我們已經擁有從1000個完美標記的例子中訓練好的這個AI模型。然后,使用這個模型,基于流的主動學習將逐一檢查我們數據集中剩余9000樣本,并基于預測標簽的置信閾值,主動學習系統將決定哪一個樣本該被挑選出來作為額外1000個樣本來被標記進而可用于訓練。

             

            成員查詢合成

            成員查詢合成是一種主動學習技術,我們的主動學習代理能夠根據我們的訓練樣本創建自己的樣本,以實現最有效的學習。在某種意義上,主動學習代理決定它可能是最有用的,比如,在我們標記的訓練數據中創建一個圖像子集,并使用新創建的圖像子集進行額外的訓練。

            當我們的初始訓練數據集特別小時,成員查詢合成可以非常有效。然而,生成更多的例子并不總是可行的。幸運的是,在計算機視覺領域,這正是數據增強可以發揮巨大作用的地方。

            例如,假設我們的數據集在晚上和陰天投遞的黃色箱子樣本太少。我們可以使用亮度增強來模擬低光條件下的圖像?;蛘?,想象一下,很多棕色盒子里的圖片總是在門廊的左邊,離我們的相機很近。我們可以模擬縮小或隨機裁剪圖像,以改變我們訓練數據中的圖像拍攝視角。

            我們可以使用上述方法生成我們額外需要去標注的1000張新樣本。值得注意的是,我們需要一種智能的方法來確定應該生成哪種類型的圖像。在這里,檢查數據的分布將大有幫:我們可能希望在生成黃色框圖像時進行計數,因為在我們的示例中,我們只需要增加100類似圖像。此外,知道圖像中標記框的大致位置可以幫助我們意識到我們所送的包裹是否斜向門廊的一部分。

            五、 在數據集上應用主動學習

            上文所介紹的主動學習技術并不是相互排斥的。例如,我們可以為所有的圖像創建一信息有用”分數,也可以生成額外的圖像,以最佳地幫助模型性能。

            與大多數機器學習問題一樣,對數據有一個清晰的理解,并能夠基于添加的標簽快速原型化一個新模型是至關重要的。高視科GoMind平臺可以理解您的計算機視覺數據(類平衡,注釋計數,標記框位),進行圖像增強,快速訓練計算機視覺模型,并按類基于驗證集和測試集評估平均精度。高視科GoMind平臺甚至可以通過圖像上API輕松地從部署的生產條件中收集圖像,這樣您就可以通過可視化方式從真實的推理條件中添加新的樣本。

            2022年2月28日 15:02
            浙江持持黄色毛片,一级做一级无码性视,九九AV免费在线观看,国产农村aaaa片毛片,宫岛芽衣无码电影在线观看