0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計算機視覺中的主動學(xué)習(xí)

新機器視覺 ? 來源:GiantPandaCV ? 2023-03-31 10:02 ? 次閱讀

1. 什么是Active Learning?

Active Learning主動學(xué)習(xí)是機器學(xué)習(xí) (ML) 的一個研究領(lǐng)域,旨在通過以智能方式查詢管道的下一個數(shù)據(jù)來降低構(gòu)建新機器學(xué)習(xí)解決方案的成本和時間。在開發(fā)新的 AI 解決方案和處理圖像、音頻或文本等非結(jié)構(gòu)化數(shù)據(jù)時,我們通常需要人工對數(shù)據(jù)進行注釋,然后才能使用它們來訓(xùn)練我們的模型。這個數(shù)據(jù)注釋過程非常耗時且昂貴。它通常是現(xiàn)代 ML 團隊中最大的瓶頸之一。

通過主動學(xué)習(xí),您可以創(chuàng)建一個反饋循環(huán),您可以在注釋、訓(xùn)練和選擇之間進行迭代。使用良好的選擇算法,您可以減少訓(xùn)練模型以達到所需精度所需的數(shù)據(jù)量。

2. 不同的Active learning方法

在進行主動學(xué)習(xí)時,我們通常使用模型的預(yù)測。每當(dāng)利用模型進行預(yù)測時,我們還會獲得相關(guān)的預(yù)測概率。由于模型天生就無法了解自身的局限性,因此我們嘗試在研究中使用其他技巧來克服這些局限性。在計算機視覺中,Active Learning 是一種主動學(xué)習(xí)方法,它可以通過最小化標(biāo)記數(shù)據(jù)的量來提高機器學(xué)習(xí)模型的準(zhǔn)確性和效率。以下是一些常見的 Active Learning 方法:

Uncertainty Sampling:選擇那些讓模型不確定的樣本進行標(biāo)記,如模型輸出的概率值最大的前幾個樣本,或者模型預(yù)測結(jié)果的方差最大的前幾個樣本。

Query-by-Committee:從多個訓(xùn)練好的模型中挑選出相互矛盾的樣本進行標(biāo)記,以期望在后續(xù)的訓(xùn)練中降低模型的誤差。

Expected Model Change:通過計算在當(dāng)前模型下對標(biāo)記某個樣本的貢獻,選擇那些最有可能改善模型性能的樣本進行標(biāo)記。

Diversity Sampling:選擇那些與當(dāng)前已經(jīng)標(biāo)記的樣本差異最大的樣本進行標(biāo)記,以期望能夠提高模型的泛化能力。

Information Density Sampling:選擇那些在當(dāng)前模型下信息密度最大的樣本進行標(biāo)記,即選擇對模型最有幫助的樣本。

Active Transfer Learning:在已經(jīng)標(biāo)記的數(shù)據(jù)集和目標(biāo)任務(wù)的數(shù)據(jù)集之間進行遷移學(xué)習(xí),以期望能夠提高模型的泛化能力和訓(xùn)練效率。

這些方法可以單獨或結(jié)合使用,具體選擇哪種方法取決于具體的問題和應(yīng)用場景。

舉個例子,我們不僅可以考慮單個模型,還可以考慮一組模型(集成)。這為我們提供了有關(guān)實際模型不確定性的更多信息。如果模型組都同意預(yù)測,則不確定性很低。如果他們都不同意,那么不確定性就很高。但是擁有多個模型非常昂貴。像“Training Data Subset Search with Ensemble Active Learning, 2020”這樣的論文使用了 4 到 8 種不同的集成方法模型。

38f734cc-cf10-11ed-bfe3-dac502259ad0.png

繪圖來自“使用集成主動學(xué)習(xí)訓(xùn)練數(shù)據(jù)子集搜索,2020”論文,展示了他們的不同方法與 ImageNet 上的隨機基線相比如何。

我們可以通過使用 Monte Carlo dropout 來提高效率,我們在模型的最后幾層之間添加了 dropout。這允許我們使用一個模型來創(chuàng)建多個預(yù)測(使用 Dropout),類似于使用模型集成。但是,這樣做的缺點是我們需要更改模型架構(gòu)并添加 dropout 層。

3. 在Active Learning中利用embedding

39200230-cf10-11ed-bfe3-dac502259ad0.png

插圖來自“目標(biāo)檢測的可擴展主動學(xué)習(xí),2020”

最近,論文也開始使用embedding。通過embedding,我們可以了解不同樣本的相似程度。在計算機視覺中,我們可以使用嵌入來檢查相似的圖像甚至相似的對象。然后我們可以在embedding空間中使用距離度量,例如歐幾里德距離或余弦相似度,并將其與預(yù)測的不確定性結(jié)合起來。

然而,使用來自同一個模型的embedding和預(yù)測有一個缺點,即兩者都依賴于模型學(xué)習(xí)到的相同特征。通常,嵌入是預(yù)測前一層或幾層模型的輸出。為了克服這個限制,我們開始使用來自其他模型的嵌入,而不是我們所說的“任務(wù)”模型。任務(wù)模型就是您想要使用主動學(xué)習(xí)改進的實際模型。

我們自己的基準(zhǔn)和與自動駕駛、衛(wèi)星想象、機器人技術(shù)和視頻分析等領(lǐng)域的數(shù)十家公司合作的經(jīng)驗表明,使用使用自我監(jiān)督學(xué)習(xí)訓(xùn)練的模型具有最強大的嵌入。最近的模型,如 CLIP 或 SEER 都在使用自監(jiān)督學(xué)習(xí)。

4. 我們可以利用active learning做什么?

首先,請注意主動學(xué)習(xí)是一種工具,與您使用的大多數(shù)其他工具一樣,您必須微調(diào)一些參數(shù)才能從中獲得最大價值。經(jīng)過廣泛的研究并嘗試從最近的主動學(xué)習(xí)研究中復(fù)制許多論文,我們觀察到這些基本規(guī)則似乎適用于我們認(rèn)為是“好的”訓(xùn)練數(shù)據(jù):

選擇多樣化的數(shù)據(jù)——擁有多樣化的數(shù)據(jù)(多樣化的圖像、多樣化的對象)是最重要的因素

平衡數(shù)據(jù)集——確保數(shù)據(jù)在你的模式(天氣、性別、一天中的時間)之間保持平衡

與模型架構(gòu)無關(guān)— 根據(jù)我們自己的實驗,看起來大型 ViT 模型的好數(shù)據(jù)對小型 ResNet 也有幫助

前兩點表明,我們的目標(biāo)應(yīng)該是從所有模式中獲取等量的多樣化數(shù)據(jù)。第三點很高興知道。這意味著,我們今天可以用一個模型選擇訓(xùn)練數(shù)據(jù),一年后訓(xùn)練一個全新的模型時,我們?nèi)匀豢梢灾赜孟嗤臄?shù)據(jù)。請注意,這些只是觀察。如果實施得當(dāng),主動學(xué)習(xí)可以顯著提高模型的準(zhǔn)確性。

我們評估了結(jié)合 AL、多樣性和平衡選擇在檢測鮭魚片問題任務(wù)中的性能。目標(biāo)是提高鮭魚“血腫”的模型準(zhǔn)確性,因為這是最關(guān)鍵的類別。

3945d884-cf10-11ed-bfe3-dac502259ad0.png

5. Active Learning Algorithms的簡單Implement

以下是一個簡單的Active Learning偽代碼:

#假設(shè)我們已經(jīng)有了一批標(biāo)記好的數(shù)據(jù)集合和一個未標(biāo)記的數(shù)據(jù)池
labeled_dataset=...
unlabeled_pool=...

#在每一輪迭代中,我們都會選擇一些未標(biāo)記的數(shù)據(jù)點并請求標(biāo)記
whilelen(unlabeled_pool)>0:
#從未標(biāo)記的數(shù)據(jù)池中選擇一些樣本
selected_samples=select_samples(unlabeled_pool)

#請求這些樣本的標(biāo)簽
labeled_samples=query_labels(selected_samples)

#將新標(biāo)記的樣本添加到已標(biāo)記的數(shù)據(jù)集中
labeled_dataset=labeled_dataset+labeled_samples

#更新未標(biāo)記的數(shù)據(jù)池,移除已經(jīng)被標(biāo)記的樣本
unlabeled_pool=remove_labeled_samples(unlabeled_pool,labeled_samples)

#訓(xùn)練模型,根據(jù)當(dāng)前的已標(biāo)記數(shù)據(jù)集和模型更新策略
model=train_model(labeled_dataset)

#在驗證集上評估模型表現(xiàn)
validation_accuracy=evaluate_model(model,validation_dataset)

#如果模型的表現(xiàn)已經(jīng)滿足了停止準(zhǔn)則,則停止訓(xùn)練
ifstopping_criterion(validation_accuracy):
break

以上偽代碼中的主要步驟包括:

從未標(biāo)記的數(shù)據(jù)池中選擇一些樣本

請求這些樣本的標(biāo)簽

將新標(biāo)記的樣本添加到已標(biāo)記的數(shù)據(jù)集中

移除已經(jīng)被標(biāo)記的樣本,更新未標(biāo)記的數(shù)據(jù)池

根據(jù)當(dāng)前的已標(biāo)記數(shù)據(jù)集和模型更新策略訓(xùn)練模型

在驗證集上評估模型表現(xiàn)

如果模型的表現(xiàn)已經(jīng)滿足了停止準(zhǔn)則,則停止訓(xùn)練。

6. Active Learning的應(yīng)用場景

Active Learning在計算機視覺中具有廣泛的應(yīng)用前景。以下是一些可能的應(yīng)用:

目標(biāo)檢測:在目標(biāo)檢測任務(wù)中,每個圖像都可能包含多個對象。Active Learning可以幫助減少需要手動標(biāo)注的對象數(shù)量,從而降低人力成本。

語義分割:語義分割任務(wù)涉及將每個像素標(biāo)記為特定的對象或類別。Active Learning可以幫助減少需要手動標(biāo)注的像素數(shù)量,從而減少人工標(biāo)注的工作量。

人臉識別:在人臉識別任務(wù)中,Active Learning可以幫助識別出哪些人的圖像需要被標(biāo)記,以及哪些特征可以提高識別準(zhǔn)確性。

圖像分類:在圖像分類任務(wù)中,Active Learning可以幫助選擇需要標(biāo)注的圖像,以便提高模型的準(zhǔn)確性。

總之,Active Learning在計算機視覺中的應(yīng)用前景非常廣泛,可以幫助降低人力成本、提高模型準(zhǔn)確性和提高算法的效率。隨著技術(shù)的進步和數(shù)據(jù)集的不斷擴大,Active Learning將變得越來越重要。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人臉識別
    +關(guān)注

    關(guān)注

    76

    文章

    4000

    瀏覽量

    81589
  • 計算機視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1690

    瀏覽量

    45876
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8325

    瀏覽量

    132194
  • Clip
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    6633

原文標(biāo)題:計算機視覺中的主動學(xué)習(xí)(Active Learning)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問計算機視覺與深度學(xué)習(xí)要看什么書?

    計算機視覺與深度學(xué)習(xí),看這本書就夠了
    發(fā)表于 05-21 12:43

    學(xué)習(xí)計算機視覺的建議有哪些

    初學(xué)計算機視覺的切身建議
    發(fā)表于 06-18 10:12

    深度學(xué)習(xí)與傳統(tǒng)計算機視覺簡介

    文章目錄1 簡介1.1 深度學(xué)習(xí)與傳統(tǒng)計算機視覺1.2 性能考量1.3 社區(qū)支持2 結(jié)論3 參考在計算機視覺領(lǐng)域中,不同的場景不同的應(yīng)用程序
    發(fā)表于 12-23 06:17

    計算機視覺與機器視覺區(qū)別

     “計算機視覺”,是指用計算機實現(xiàn)人的視覺功能,對客觀世界的三維場景的感知、識別和理解。計算機視覺
    的頭像 發(fā)表于 12-08 09:27 ?1.2w次閱讀

    學(xué)習(xí)計算機視覺的必讀和選讀書籍清單你學(xué)習(xí)過嗎

    本文檔的主要內(nèi)容詳細(xì)介紹的是學(xué)習(xí)計算機視覺的必讀和選讀書籍清單你學(xué)習(xí)過嗎。
    發(fā)表于 10-15 17:53 ?7次下載

    計算機視覺的發(fā)展歷史_計算機視覺的應(yīng)用方向

    計算機視覺40多年的發(fā)展,盡管人們提出了大量的理論和方法,但總體上說,計算機視覺經(jīng)歷了4個主要歷程。即: 馬爾
    的頭像 發(fā)表于 07-30 17:21 ?6965次閱讀

    計算機視覺常用算法_計算機視覺有哪些分類

    本文主要介紹了計算機視覺常用算法及計算機視覺的分類。
    的頭像 發(fā)表于 07-30 17:34 ?1.4w次閱讀

    深度學(xué)習(xí)計算機視覺上的四大應(yīng)用

    計算機視覺中比較成功的深度學(xué)習(xí)的應(yīng)用,包括人臉識別,圖像問答,物體檢測,物體跟蹤。
    的頭像 發(fā)表于 08-24 16:16 ?4462次閱讀
    深度<b class='flag-5'>學(xué)習(xí)</b>在<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>上的四大應(yīng)用

    計算機視覺入門指南

    出現(xiàn),且它們可以集成到移動應(yīng)用。 今天,由于其廣泛應(yīng)用和巨大潛力,計算機視覺成為最熱的人工智能和機器學(xué)習(xí)子領(lǐng)域之一。其目標(biāo)是:復(fù)制人類視覺
    的頭像 發(fā)表于 11-27 09:52 ?2791次閱讀

    計算機視覺的重要性及如何幫助解決問題

      機器學(xué)習(xí)計算機視覺是一種基于人工智能的計算機視覺。基于人工智能的基于機器學(xué)習(xí)
    的頭像 發(fā)表于 04-06 16:49 ?3586次閱讀

    計算機視覺的九種深度學(xué)習(xí)技術(shù)

    計算機視覺仍有許多具有挑戰(zhàn)性的問題需要解決。然而,深度學(xué)習(xí)方法正在針對某些特定問題取得最新成果。 在最基本的問題上,最有趣的不僅僅是深度學(xué)習(xí)
    發(fā)表于 08-21 09:56 ?529次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>視覺</b><b class='flag-5'>中</b>的九種深度<b class='flag-5'>學(xué)習(xí)</b>技術(shù)

    計算機視覺的主要研究方向

    計算機視覺(Computer Vision, CV)作為人工智能領(lǐng)域的一個重要分支,致力于使計算機能夠像人眼一樣理解和解釋圖像和視頻的信息。隨著深度
    的頭像 發(fā)表于 06-06 17:17 ?661次閱讀

    深度學(xué)習(xí)計算機視覺領(lǐng)域的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其中的核心技術(shù)之一,已經(jīng)在計算機視覺領(lǐng)域取得了顯著的成果。計算機視覺,作為
    的頭像 發(fā)表于 07-01 11:38 ?543次閱讀

    計算機視覺屬于人工智能嗎

    屬于,計算機視覺是人工智能領(lǐng)域的一個重要分支。 引言 計算機視覺是一門研究如何使計算機具有視覺
    的頭像 發(fā)表于 07-09 09:11 ?912次閱讀

    計算機視覺與人工智能的關(guān)系是什么

    引言 計算機視覺是一門研究如何使計算機能夠理解和解釋視覺信息的學(xué)科。它涉及到圖像處理、模式識別、機器學(xué)習(xí)等多個領(lǐng)域的知識。人工智能則是研究如
    的頭像 發(fā)表于 07-09 09:25 ?428次閱讀