麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于原型近鄰網絡的小樣本圖像分類方法及設備

文檔序號:41772390發布日期:2025-04-29 18:43閱讀:6來源:國知局
一種基于原型近鄰網絡的小樣本圖像分類方法及設備

本發明涉及小樣本圖像分類算法,尤其涉及一種基于原型近鄰網絡的小樣本圖像分類方法及設備,屬于計算機視覺。


背景技術:

1、在過去的十年中,深度神經網絡在圖像分類、語音識別等各個任務中取得了顯著的進展。然而,深度學習的基于數據的特性通常會受到標注數據短缺的限制,主要是由于高昂的標注成本和隱私問題。為了解決對大量標注數據的依賴,少樣本分類(few-shotclassification,fsc)使得分類器僅通過少量樣本就能適應未見過的類別。近年來,越來越多的fsc方法相繼提出,可以大致分為三類:(1)數據層面方法,直接從原始標注數據、未標注數據或來自相似領域的標注數據生成新的標注數據;(2)模型層面方法,利用先驗知識來減少假設空間的大小,從而使得少量標注數據就能學習到一個可靠的分類器;(3)算法層面方法,通過提供合適的初始化或引導搜索過程來高效地搜索最優假設。

2、在模型層面方法中,基于度量的fsc方法側重于學習一個低維度的度量空間,使得同一類別的樣本被緊密地聚集在一起,而不同類別的樣本則遠離彼此。因此,可以構建一個較小的假設空間,僅使用少量標注數據就能學習到分類器。原型網絡(prototypicalnetworks,pn)就是這種類型的一個典型例子。它通過計算每個類別的支持樣本(即標注數據)的均值來形成原型,然后通過識別查詢樣本(即測試數據)與類別原型的距離進行分類。接著,度量空間通過最小化查詢樣本與其對應原型之間的距離,同時最大化與其他原型之間的距離來學習。在這樣一個度量空間中,pn能夠僅使用少量樣本有效地學習到一個簡單而可靠的模型。由于其簡單性和有效性,pn引起了越來越多的關注,并催生了各種相關算法。需要注意的是,基于原型的方法通常假設類別的分布是球形的,并且類別大小相似。然而,許多現實世界的類別存在大小不一、不規則的形狀,或者由不同子類組成,這會降低原型的辨別力和表達力,并且依賴單峰原型假設限制了fsc的適應性,并使得模型容易出現欠擬合問題。

3、受到k-近鄰算法(k-nearest?neighbor?classification,knn)的啟發,本發明引入了近鄰關系來克服基于原型的方法的局限性。具體而言,近鄰關系為pn提供了一個額外的假設:一個樣本的類別通常與它大多數鄰居的類別一致。因此,在進行樣本分類時,除了考慮與各類別原型的距離外,還應綜合考慮樣本與其鄰居之間的關系。本發明將這種融合的算法架構稱為原型-近鄰網絡(prototype-neighbor?networks,pnn)。pnn結合了pn和knn的互補特性,能夠在復雜的數據分布下,通過少量標注樣本學習到更加優化的度量空間,從而有效地進行分類。


技術實現思路

1、為了解決現有技術中存在的不足,本技術提出了一種基于原型近鄰網絡的小樣本圖像分類方法。能夠通過結合pn和knn的互補性來學習一個更優化的度量空間,使得模型在復雜的數據分布下,仍能僅通過少量支持樣本有效地對樣本進行分類。

2、本發明是通過以下技術手段實現上述技術目的的。

3、一種基于原型近鄰網絡的小樣本圖像分類方法,包括:

4、步驟1,將數據集劃分為輔助數據集和目標數據集,進一步將輔助數據集和目標數據集劃分為支持集和查詢集,通過神經網絡對支持集和查詢集中的所有樣本進行特征提取,以獲取高維特征向量;

5、步驟2,基于高維特征向量,分別計算查詢樣本的pn和knn的置信度和分類結果,并通過結合pn和knn的置信度以及分類結果確定查詢樣本的所屬類別;

6、步驟3,計算pn和knn的損失,然后使用pn和knn的損失來優化特征提取網絡(即步驟1的神經網絡)的參數以提高分類性能;

7、步驟4,最后使用訓練好的pnn模型進行圖像分類。

8、第一方面,上述步驟1的具體步驟如下:

9、步驟1.1,首先需要將可用的數據集劃分為兩個主要部分:目標數據集dt和輔助數據集da。其中,目標數據集是模型在實際應用中所要解決的任務所依賴的數據,而輔助數據集則用于支持模型的訓練和優化。

10、這兩個數據集的類別集是互不重疊的,即它們的類別標簽集合ya和yt不相交。這樣做的目的是為了確保模型在目標數據集上的學習不會受到輔助數據集中類別的干擾,使得模型能夠專注于學習目標任務所需的類別特征。此外,這種劃分方式也使得輔助數據集的類別可以被視為一些“外部”的類別,起到為目標數據集提供更多背景知識的作用,類似于為模型提供額外的先驗知識。

11、這種劃分是在任務設計的初期階段完成的,并且數據集的劃分方式會直接影響后續模型訓練的效果。通過確保輔助數據集與目標數據集類別不重疊,模型可以學習到更廣泛的類別表示,有助于提升其在未知類別上的泛化能力。

12、步驟1.2,數據集被進一步分為支持集s和查詢集q。每個任務從目標數據集dt和輔助數據集da中隨機采樣,形成一個c-way?k-shot的任務。具體來說:

13、支持集s:每個支持集包含c個類別,每個類別有k個樣本。支持集用于訓練分類器,提供每個類別的基本信息。每個類別有固定數量的樣本,這些樣本能夠代表該類別的多樣性,并用于訓練分類器學習各個類別的特征。

14、查詢集q:查詢集用于評估模型的分類性能,它包含從支持集以外的樣本。查詢集與支持集樣本具有相同的類別,但這些樣本是新的未見樣本,用來測試模型在實際場景中的表現。

15、每個任務都是一個c-way?k-shot任務,即任務的目標是學習如何區分c個類別,每個類別提供k個樣本。這樣,每個任務都會給定有限數量的樣本(k-shot),讓模型進行訓練和學習,在此基礎上進行類別分類。通過這種方式,模型能夠在少樣本的情境下進行有效的訓練和推理。

16、在實際操作中,這個劃分方式具有非常重要的意義,因為它使得模型能夠在一個任務中不斷學習,并在另一個任務中進行測試。通過這種方式,模型不僅能夠學習如何從有限樣本中推斷出正確的類別,還能通過多個任務的訓練來不斷優化和調整其分類能力。

17、步驟1.3,將圖像樣本送入特征提取網絡fθ中進行提取特征,其中θ表示特征提取網絡的參數。具體而言,這一過程可細分為以下幾個子步驟:

18、首先,確保圖像樣本已完成預處理。預處理包括圖像的尺寸歸一化,即將不同大小的原始圖像調整為特征提取網絡所要求的特定輸入尺寸,例如將各類尺寸的圖像統一縮放至64*64像素,以適配網絡的輸入規范。同時,還包括顏色空間的轉換,如將rgb圖像轉換為灰度圖像,或者進行數據的標準化處理,使得圖像數據的均值和標準差符合特定的分布,從而提升網絡訓練的穩定性和效率。

19、隨后,將預處理后的圖像樣本正式輸入到特征提取網絡fθ中。該網絡由一系列的卷積層、池化層以及非線性激活函數等組件構成。在卷積層中,通過不同的卷積核與輸入圖像進行卷積運算,以提取圖像在不同尺度和方向上的局部特征。例如,利用較小的卷積核捕捉圖像的細節信息,如邊緣、紋理等;利用較大的卷積核關注圖像的整體結構。池化層則用于對卷積層輸出的特征圖進行降維處理,通過保留主要特征并減少數據量,既能降低計算復雜度,又能在一定程度上防止過擬合。所采用的池化方式包括最大池化和平均池化,最大池化會選取特征圖局部區域中的最大值作為輸出,而平均池化則計算局部區域的平均值。非線性激活函數如relu(rectified?linear?unit),則為網絡引入了非線性特性,使得網絡能夠學習到更復雜的函數關系,增強網絡的表達能力。隨著圖像樣本在特征提取網絡中逐層傳遞,網絡會逐步提取出從低級到高級的特征。低級特征可能是簡單的邊緣、角點等基礎元素,而高級特征則可能表示圖像中的特定物體類別、語義信息等。最終,經過特征提取網絡的處理,輸出一組具有代表性的特征向量,這些特征向量將作為后續任務(如分類、檢測、分割等)的重要輸入依據,用于進一步的分析和決策。

20、總的來說,步驟1的目的是通過合理的數據集劃分和特征提取過程,為后續的少樣本分類任務奠定基礎。通過確保數據集的劃分合理,并通過有效的特征提取方法,模型能夠在少量樣本的基礎上進行有效的訓練,從而在實際應用中取得較好的分類性能。

21、第二方面,上述步驟2的具體步驟如下:

22、步驟2.1,原型近鄰網絡pnn首先會針對每個類別k計算該類別中所有支持樣本的均值向量。這個均值向量被稱為該類別的原型,它是通過對該類別所有支持樣本在特征空間中的表示進行平均得到的。這樣,類別k的原型代表了該類別樣本在特征空間中的“中心”或“典型特征”。

23、一旦每個類別的原型被計算出來,查詢樣本q的類別預測就依賴于查詢樣本與所有類別原型之間的距離。具體來說,pnn模型會計算查詢樣本q與每個類別原型之間的距離,采用歐式距離或者其他合適的度量方法。然后,利用指數函數對這些距離進行加權處理,這樣使得距離較小的原型能夠對最終預測結果產生更大的影響。

24、通過加權后的距離值,pnn模型能夠根據查詢樣本與各類別原型的相似性來預測樣本屬于哪個類別。加權距離之后,使用歸一化操作將所有類別的預測概率調整到0到1的范圍內,確保所有類別的預測結果之和為1。這樣,最終的類別預測就是基于查詢樣本與各類別原型的相似度,通過概率值的大小來決定最可能的類別。

25、步驟2.2,利用k近鄰(knn)方法基于查詢樣本與所有支持樣本之間的距離進行分類。首先,pnn模型會計算查詢樣本與每個支持樣本之間的距離,具體是通過神經網絡的輸出特征表示來實現的,即計算在特征空間中的距離。這些距離反映了查詢樣本與各個支持樣本在特征空間中的相似程度。

26、接著,knn算法會選出最接近查詢樣本的k個支持樣本。k值的選擇對分類效果有重要影響,較小的k值可能導致模型對噪聲敏感,而較大的k值則可能使模型喪失對局部特征的敏感性。因此,選擇合適的k值是knn算法效果的關鍵,本發明k值為5。

27、選出k個最近鄰樣本后,pnn模型會根據這些鄰居樣本的類別來決定查詢樣本的類別。具體來說,knn算法會統計這k個鄰居樣本所屬的類別,然后選擇出現頻率最高的類別作為查詢樣本的預測類別。該類別的概率可以通過鄰居中屬于該類別的樣本數與總鄰居數k的比例來計算,反映了查詢樣本屬于某一類別的可信度。

28、步驟2.3,結合了pn和knn兩種分類模型的預測結果,形成了原型近鄰網絡(pnn)最終的分類決策。pn和knn各自有其優勢,pn方法依賴于原型的計算和特征空間中的相似度度量,而knn則依賴于直接的鄰居樣本信息。當這兩種方法的預測結果一致時,pnn直接采用knn的預測結果。

29、然而,當pn和knn的預測結果不一致時,pnn模型通過加權的方式結合兩者的預測。具體地,pn的預測概率和knn的預測概率將通過一個超參數λ進行加權選擇。超參數λ的大小決定了pn與knn模型在最終決策中的相對重要性。較大的λ值能夠使得pn的預測結果會在決策中占主導地位,而較小的λ值則讓knn的預測結果更為重要。

30、通過這種加權決策機制,pnn模型能夠綜合兩種模型的優勢,不僅提升了分類的準確性,還增強了模型在復雜任務中的魯棒性。加權機制的引入,使得模型在不同情境下能夠動態調整其決策策略,適應更多的變化與挑戰。

31、通過上述三個步驟的組合,pnn模型能夠有效地結合原型網絡(pn)和k近鄰算法(knn)的優勢。在處理小樣本分類任務時,pnn模型通過精確計算類別原型與查詢樣本的距離,結合knn的鄰居樣本信息,最終實現了高效的分類。加權機制使得pnn模型能夠靈活應對pn和knn預測結果不一致的情況,從而提供了更為可靠和穩定的分類結果。

32、第三方面,上述步驟3的具體步驟如下:

33、步驟3.1,原型網絡(稱為pn模型)關鍵的技術點在于學習一個低維的度量空間,目的是使得每個樣本在這個空間中盡可能靠近其所屬類別的原型,同時遠離其他類別的原型。這個低維度的度量空間可以被看作是通過模型學習到的一種“嵌入空間”,在這個空間中,類別間的分隔更為清晰,有助于提高分類準確性。

34、為了實現這一目標,原型網絡通過優化一個損失函數來進行訓練。這個損失函數的核心思想是,通過調整原型網絡的參數,讓每個樣本的表示盡量接近它所屬類別的原型。反過來,原型網絡也要求樣本與其他類別的原型保持較遠的距離,這樣可以有效地避免類別之間的混淆。為了在訓練過程中最小化這種分類誤差,原型網絡計算每個樣本的類別預測概率,并對這些概率取對數,接著進行求和操作。通過這個過程,原型網絡可以計算出它在支持集s和查詢集q上的分類誤差,并據此調整網絡參數,使得模型逐步收斂于一個優化的度量空間。

35、具體來說,支持集s提供了樣本和其真實類別的標簽,而查詢集q則提供了需要進行預測的樣本。通過不斷迭代優化損失函數,原型網絡能夠在低維空間中找到一個更好的類別邊界,從而提高分類效果。

36、步驟3.2,knn算法(稱為knn模型)的損失函數計算與pn模型相似,都是通過最小化分類誤差來優化模型。在knn模型中,分類誤差的計算主要通過查詢樣本與支持樣本之間的距離來完成。每個支持樣本的類別預測概率通過與查詢樣本的距離來決定,距離越近的鄰居樣本對最終分類的影響越大。

37、類似于pn模型的處理方式,knn模型也會計算每個樣本的類別預測概率,然后對這些概率取對數并求和。這樣做的目的是鼓勵模型減少錯誤分類的可能性,并使得類別預測更加精確。最終,knn模型通過調整網絡參數來最小化在支持集s和查詢集q上的分類誤差。

38、knn模型的核心優勢在于,它基于鄰近樣本的類別來做出預測,因此它更依賴于局部數據的分布,而pn模型則更多地關注全局類別原型的建立。兩者結合使用時,可以彌補各自的局限性,從而獲得更強的分類能力。

39、步驟3.3,-整個pnn模型的訓練過程進入了元學習階段。在這一階段,模型會隨機從數據集da中采樣一批c-way?k-shot任務。每個任務都有其特定的支持集s和查詢集q,這些任務的選擇是通過元學習的方式進行的,目的是讓模型在多個任務上進行泛化訓練,從而提高其在新任務上的表現。

40、對于每個任務,支持集s中的樣本會用于計算pn的類別原型向量,而knn則會根據這些支持樣本計算出一個距離矩陣。計算得到的原型和距離矩陣將分別用于pn和knn的分類過程。在這之后,pn和knn會根據步驟2.3、3.1和3.2中的方法,對查詢集q進行分類預測,并計算相應的分類損失。

41、最終,在元訓練階段,pn和knn的分類預測結果將被結合,并用于計算最終的pnn模型的總損失。這個總損失不僅考慮了pn和knn的分類誤差,還綜合了兩個模型的表現。通過這個過程,pnn模型能夠不斷優化其在支持集和查詢集上的表現,從而提升其泛化能力。

42、總損失的計算涉及到對pn模型和knn模型的損失進行加權,權重的設定可以根據實際需求進行調整。在每次訓練迭代后,pnn模型通過反向傳播更新網絡參數,使得模型能夠在下次任務中表現得更加準確。元訓練階段的目標是通過大量的任務訓練,讓pnn模型具備在不同類別和任務下進行高效分類的能力。

43、步驟3的核心目的是通過元學習的方式訓練pnn模型,使得它能夠在新任務上快速適應并進行準確分類。在這個過程中,pn和knn分別通過優化各自的損失函數來改進模型表現,而通過元訓練階段的任務采樣與優化,pnn能夠在多種任務上進行泛化,提高模型的分類能力。通過不斷調整pn和knn模型的參數,pnn最終能夠學習到一個高效的分類策略,并在不同的任務中實現優異的表現。

44、第四方面,上述步驟4的具體步驟如下:

45、給定通過元訓練階段學習到的嵌入網絡fθ和目標數據集dt,本發明進入了實際的測試階段。此時,模型已經通過在多個任務上進行訓練,學習到了一種能夠在新任務中快速適應的能力。在此階段,模型通過從目標數據集dt中隨機采樣一批c-way?k-shot任務,來驗證其在實際應用中的效果。

46、對于每個新任務,支持集s中的樣本將分別用于計算pn和knn的原型向量和距離矩陣。支持集中的樣本為查詢樣本提供了類別的先驗信息,pn網絡通過計算每個類別的原型向量來表示該類別的中心,而knn則根據距離矩陣來找到最鄰近的支持樣本。pn和knn的結果隨后被結合起來,用于對查詢集q中的樣本進行分類。

47、這個過程的關鍵在于,pn和knn在度量空間中的互補性。pn通過學習到的原型向量為每個類別提供了一種全局的表示,幫助模型判斷某個樣本的類別中心,而knn則通過局部鄰域的樣本來決定查詢樣本的標簽。這種局部和全局信息的結合,使得pnn在分類任務中能夠利用少量的標注數據便捷地做出準確的預測。

48、基于上述方法,本發明還提出一種計算機類的設備,包括存儲器和處理器,所述存儲器存儲有上述圖像分類方法對應的程序代碼,所述處理器在執行存儲器的程序代碼時,能夠執行上述圖像分類方法。

49、本發明的有益效果:

50、(1).優化的度量空間學習:傳統的度量學習方法通常依賴于全局的距離度量,而pnn通過結合pn和knn兩種不同的學習策略,在度量空間中建立了更加精細和優化的表示。pn通過學習原型向量來有效地捕捉類別之間的全局關系,而knn則通過鄰近樣本來補充局部信息。這種結合有助于構建一個更具表達力的度量空間。

51、(2).少量標注數據的有效利用:在許多實際問題中,獲取大量標注數據是一個挑戰。pnn通過其獨特的機制,可以在僅使用少量標注數據的情況下構建一個可靠的fsc(few-shot?classification)模型。這意味著,pnn能夠在實際應用中更有效地處理小樣本學習任務,尤其適用于數據稀缺或昂貴的場景。

52、(3).互補性提升分類準確性:pn和knn分別從不同角度優化分類任務,pn從類別的原型出發,幫助分類模型在全局上學習到類別間的關系;而knn通過考慮最鄰近的樣本來為分類任務提供更多的局部信息。兩者結合不僅提升了模型的準確性,也使得pnn在多種任務下都能保持較好的表現,尤其是在面對新任務時,能夠快速適應并做出高效的決策。

53、(4).較低的計算復雜度:雖然pn和knn看似分別需要計算較多的距離或原型信息,但與傳統的深度學習方法相比,pnn仍然具有較低的計算復雜度,尤其在實際部署時可以在資源受限的環境中運行。這種低復雜度使得pnn在大規模應用中具有實際的可行性。

54、(5).適應性強,泛化能力強:pnn在元學習的幫助下,能夠學習到一個廣泛適應于不同任務的嵌入空間,這種能力使得pnn具有較強的泛化能力。在訓練過程中,模型并不僅僅局限于某一特定任務,而是通過多個任務的訓練,學會如何在各種場景下進行有效分類。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 萨迦县| 文安县| 婺源县| 五指山市| 米易县| 乐清市| 忻城县| 济南市| 绥化市| 扶沟县| 延庆县| 南京市| 宜阳县| 岳西县| 南涧| 贡嘎县| 都安| 长春市| 崇仁县| 无棣县| 株洲县| 延川县| 潞城市| 佳木斯市| 咸丰县| 托克逊县| 土默特右旗| 苍溪县| 石屏县| 略阳县| 西和县| 子洲县| 布尔津县| 莱西市| 多伦县| 通州区| 鱼台县| 凤阳县| 灵寿县| 衡东县| 上犹县|