【博士每天一篇文獻-綜述】A survey on few-shot class-incremental learning

閱讀時間:2023-12-19

1 介紹

年份:2024
作者:田松松,中國科學院半導體研究所;李璐思,老道明大學助理教授;李偉軍,中國科學院半導體研究所AnnLab;
期刊: Neural Networks
引用量:30
Tian S, Li L, Li W, et al. A survey on few-shot class-incremental learning[J]. Neural Networks, 2024, 169: 307-324.
image.png
image.png
image.png
是關于少量樣本增量學習(Few-shot Class-Incremental Learning, FSCIL)的綜述。FSCIL面臨的主要挑戰包括災難性遺忘(Catastrophic Forgetting)和過擬合(Overfitting),這些問題嚴重影響了模型性能。研究FSCIL有助于克服深度學習模型在數據量和獲取時間上的限制,提高機器學習模型的實用性和適應性。從理論角度,將FSCIL領域分為五個子類別,包括傳統機器學習方法、基于元學習的方法、基于特征和特征空間的方法、重放方法和動態網絡結構方法。定義了FSCIL問題,并討論了與之相關的學習問題,如少量學習、零樣本學習、元學習和增量學習。

2 創新點

  1. 綜合性研究視角:與以往研究不同,本文綜合了少樣本學習(Few-shot Learning, FSL)和增量學習(Incremental Learning, IL),專注于介紹和分析少樣本增量學習(Few-shot Class-Incremental Learning, FSCIL)。
  2. 新穎的分類方法:提出了一種新的分類方法,將FSCIL領域分為五個子類別,包括傳統機器學習方法、基于元學習的方法、基于特征和特征空間的方法、重放方法,以及動態網絡結構方法。
  3. 廣泛的文獻回顧:回顧了30多項理論研究成果和20多項應用研究成果,提供了FSCIL領域的全面概述。
  4. 性能評估:對FSCIL的最新理論研究成果在基準數據集上進行了性能評估,提供了不同方法的優勢和局限性的見解。

3 相關研究

3.1 小樣本學習(few-shot learning)

  1. 數據增強方法 (Data augmentation methods)
    • 數據增強通過增加現有數據的多樣性來緩解數據稀缺問題,而不是收集新數據。
    • 代表性算法:包括基于訓練集樣本的變換、來自弱標注或未標注數據集的樣本變換,以及來自類似數據集的樣本變換。還可以訓練模型生成新樣本或特征,例如使用變分自編碼器(VAEs)或生成對抗網絡(GANs)。
  2. 基于度量的方法 (Metric-based methods)
    • 基于度量的方法通過計算支持集和查詢集樣本之間的相似性或距離來在嵌入空間中分類對象。
    • 代表性算法:包括孿生網絡(Siamese Network)、匹配網絡(Matching Network)和原型網絡(Prototypical Network)。這些方法不需要大量數據,而是優化度量以確保相似樣本的接近性,不同類別樣本的距離。

image.png

  • 孿生網絡 (Siamese Networks):孿生網絡由兩個相同的子網絡組成,它們共享相同的參數和權重。每個子網絡接收一個輸入樣本,并提取相應的特征。該架構主要用于計算兩個輸入樣本特征之間的距離或相似度。通過比較特征,孿生網絡能夠判斷樣本是否屬于同一類別或執行其他相似性度量任務。
  • 匹配網絡 (Matching Networks):匹配網絡使用注意力機制來動態匹配支持集(support set)和查詢集(query set)中的例子。支持集是已知類別的樣本集合,查詢集是待分類的新樣本。通過注意力加權,匹配網絡能夠聚合來自支持集的信息,為查詢樣本生成與類別相關的特征表示。這種方法允許模型在分類新樣本時,更加關注與樣本最相關的已知類別信息。
  • 原型網絡 (Prototypical Networks):原型網絡通過計算每個類別樣本特征的平均值來代表該類別的原型。在嵌入空間中,每個類別由其樣本特征的中心點(即原型)表示。該方法假設在嵌入空間中距離原型近的特征更有可能屬于同一類別。原型網絡利用了類別內部的統計分布,通過計算新樣本與各個原型之間的距離來進行分類。
  1. 基于模型的方法 (Model-based methods)
    • 基于模型的方法指設計或使用特定的網絡架構來解決少樣本學習的挑戰。
    • 代表性算法:如記憶增強神經網絡(Memory-Augmented Neural Networks, MANN)使用外部記憶空間顯式存儲類別信息;元網絡(Meta Networks)跨任務學習元級知識,并通過快速參數化調整以實現快速泛化。
  2. 基于優化的方法 (Optimization-based methods)
    • 基于優化的方法關注于調整模型的訓練策略,以適應有限標注數據的情況。
    • 代表性算法:如模型無關的元學習(Model-Agnostic Meta-Learning, MAML)快速從有限的新數據中學習知識;基于MAML的Reptile簡化計算復雜性,將梯度計算從兩步減少到一步,提高計算速度。

3.2 小樣本類增量學習

image.png
image.png

3.2.1 傳統機器學習方法

  1. 監督學習策略 (Supervised learning strategies)
    • 在FSCIL中,模型通過增量過程進行微調,其容量受到新類別樣本數據量的限制。為了緩解這一限制,一些研究引入了半監督或無監督數據,以增強學習方法。
    • 代表算法論文:Cui, Xiong, Tavakolian, 和 Liu (2021) 提出了一種在每個增量會話中引入50個未標記數據的半監督學習方法。
  2. 統計分布 (Statistical distribution)
    • 從統計分布的角度來看,解決FSCIL問題涉及對現有數據集的模型擬合和對類別數據分布的預測,這具有很好的模型可解釋性。
    • 代表算法論文:Achituve, Navon, Yemini, Chechik, 和 Fetaya (2021) 提出了GP-Tree,這是一個基于樹的分層模型,使用Polya-Gamma數據增強來適配高斯過程;Liu, Yang, 等人 (2022) 提出了可學習的分布校準(LDC)方法,該方法使用參數化校準單元(PCU)來初始化每個類別的特征分布。
  3. 函數優化 (Function optimization)
    • 現有方法專注于在新任務學習中克服災難性遺忘,而Shi, Chen, Zhang, Zhan, 和 Wu (2021) 從函數優化的角度分析了這一問題,并發現在基類上訓練期間獲得的平坦局部最小值比尖銳最小值具有更好的泛化能力。
    • 代表算法論文:Shi, Chen, Zhang, Zhan, 和 Wu (2021) 提出了在新任務上微調模型參數以減少災難性遺忘的方法,通過尋找基訓練目標函數的平坦局部最小值。

3.2.2 基于元學習的方法

基于元學習的FSCIL方法利用現有知識來解決當前的學習問題,并通過持續的知識積累來提高系統的穩定性和可靠性。原型學習方法通過優化原型的表示來增強模型對新類別的泛化能力,而元過程方法則通過將學習任務轉化為元學習目標來提高模型對新知識的適應性。

  1. 原型學習 (Prototype learning)
    • 原型學習的目標是識別一組能夠準確代表給定數據集的小樣本(原型),然后使用數據點與原型之間的相似性來分類新的數據點或完成其他視覺任務。
    • 代表算法論文:Zheng 和 Zhang (2021) 提出了一種正則化類結構的方法,以調節FSCIL中學習到的類別在嵌入空間中的分布;Zhu, Cao, Zhai, Cheng, 和 Zha (2021) 提出了一種增量原型學習方案,包括隨機情節選擇和動態關系投影。
  2. 元過程 (Meta process)
    • 元過程受多任務優化方法MAXL啟發,將適應新知識和保留舊知識直接轉化為一個元目標,模仿元測試過程中的場景,通過從基礎類別中采樣一系列增量任務。
    • 代表算法論文:Chi 等人 (2022) 提出了MetaFSCIL,它將適應新知識和保留舊知識直接轉化為一個元目標;Zou 等人 (2022) 發現使用大邊界分類可以提高基礎類別的性能,但在學習新類別時會導致性能下降,他們提出了基于邊界的CLOM框架來有效解決這個問題。

3.2.3 基于特征和特征空間的方法

基于特征和特征空間的方法通過學習更健壯和高效的特征表示來提高模型對新類別的適應性。

  1. 特征解耦 (Feature decoupling)
    • 特征解耦涉及將特征劃分為不同的表示,使模型能夠集中注意力在更相關的信息上。特征的解耦可以導致低頻成分在保留舊知識方面發揮更重要的作用。
    • 代表算法論文:Zhao 等人 (2021) 使用離散余弦變換來解耦特征,并提出了頻率感知正則化方法來增強特征空間之間的學習性能。
  2. 特征空間 (Feature space)
    • 特征空間通過將原始數據映射到低維空間同時保留其有用特征來提高算法的效率。在FSCIL中,新類別數據被投影到由基礎或舊類別特征組成的特征子空間中,使模型能夠更好地適應新類別。
    • 代表算法論文:Cheraghian, Rahman, Ramasinghe 等人 (2021) 提出了一種混合子空間方法來描述數據的視覺和語義域分布,有助于避免遺忘舊類別;Kim, Han, Seo, 和 Moon (2023) 提出了WaRP方法,它結合了尋找損失函數平坦最小值的F2M方法和參數微調的FSLL方法。
  3. 前瞻性學習 (Prospective learning)
    • 前瞻性學習指的是在FSCIL中,模型在基礎數據集上訓練時就具有向前兼容性能,從而使模型能夠更好地處理增量的少量新類別。
    • 代表算法論文:Zhou, Wang, 等人 (2022) 提出了前向兼容訓練(FACT),它在特征空間中分配多個虛擬原型作為保留空間,使模型可擴展;Zhou, Ye, 等人 (2022) 提出了LIMIT方法,它通過從基礎數據集創建假的FSCIL任務,并通過不同假任務的元學習獲得通用特征,為模型準備好面對真實的FSCIL任務。

3.2.4 基于回放的方法

直接重放和生成式重放方法都旨在解決FSCIL中的災難性遺忘問題,它們通過不同方式重用舊知識來幫助模型學習新任務,同時保持對舊任務的記憶。直接重放依賴于存儲舊任務的樣本,而生成式重放則依賴于生成模型來模擬舊數據的分布。

  1. 直接重放 (Direct replay)
    • 直接重放方法涉及將之前任務中學習到的信息通過存儲舊任務的樣本來進行重放,以便在面對新任務時幫助任務求解器。
    • 代表算法論文:Kukleva, Kuehne, 和 Schiele (2021) 提出了一個三階段框架,使用模型參數約束方法來防止舊知識遺忘,并在第三階段使用存儲的樣本進行重放和校準。
  2. 生成式重放 (Generative replay)
    • 生成式重放方法使用生成模型來記憶舊任務數據的分布,并生成樣本進行重放,以此來解決直接存儲舊數據可能引起的隱私問題。
    • 代表算法論文:Liu, Gu, 等人 (2022) 提出了一種無需數據的重放方案,通過熵正則化鼓勵生成器產生接近決策邊界的不確定樣本;Agarwal, Banerjee, Cuzzolin, 和 Chaudhuri (2022) 提出了一種增量少樣本學習生成對抗網絡(FSILGAN),用于解決用少量數據近似真實數據分布的問題。

3.2.5 基于動態網絡結構的方法

基于動態網絡結構的方法通過在運行時根據輸入數據特征自動調整網絡結構,提高了FSCIL的通用性和減少了過擬合風險。

  1. 神經氣體網絡 (Neural gas network)
    • 神經氣體網絡是一種無監督的網絡結構,能夠學習特征空間的拓撲結構,用于知識表示。在FSCIL中,神經氣體網絡通過保持其拓撲結構的穩定性來防止遺忘舊類別,并通過動態增長來適應新樣本,從而改善對新類別的表示。
    • 代表算法論文:Tao 等人 (2020) 提出了TOPIC框架,使用神經氣體網絡學習不同類別形成的特征空間的拓撲結構。
  2. 圖注意力網絡 (Graph attention network)
    • 圖注意力網絡能夠動態處理不同類型的圖數據,并根據圖中節點和邊的重要性做出動態決策。在FSCIL中,圖注意力網絡用于分類器層,以適應增量任務的變化,并且隨著新任務的到來,圖中的節點和權重會動態增加。
    • 代表算法論文:Zhang 等人 (2021) 提出了Continually Evolved Classifier (CEC),首先使用基礎數據訓練網絡的背部以獲得強大的特征提取能力,然后引入圖注意力模型。
  3. 動態神經網絡 (Dynamic neural networks)
    • 動態神經網絡通過選擇性地擴展網絡節點來增強特征表示能力,并從模型正則化的角度減少特征漂移。這些網絡在增量任務中自適應地擴展,通過壓縮網絡擴展來豐富特征表示,并動態調整特征空間以適應舊類別的分布。
    • 代表算法論文:Yang 等人 (2021) 提出了可學習的擴展和壓縮網絡 (LEC-Net),通過選擇性地擴展和壓縮網絡節點來增強特征表示并減少特征漂移;Yang 等人 (2022) 提出了動態支持網絡 (DSN),它可以自適應地擴展網絡,通過壓縮網絡擴展來豐富每個增量任務的特征表示,然后通過節點自激活動態壓縮和擴展網絡,追求緊湊的特征表示,從而緩解過擬合。

image.png
圖5展示了在FSCIL(少樣本增量學習)中,網絡結構如何根據訓練數據的動態變化進行調整。通過不同的方式調整網絡結構來適應新數據,同時保留對舊數據的記憶。

  • TOPIC方法
    • 展示了TOPIC(Tao et al., 2020)方法,其中樣本特征形成了神經圖的拓撲結構。當新節點(代表新類別或新樣本)被添加到網絡中時,TOPIC使用損失約束來更新拓撲結構。這種方法通過維持神經氣體(Neural Gas)網絡的拓撲穩定性來防止遺忘舊類別,并通過動態增長來適應新樣本,從而改善對新類別的表示。
  • CEC方法
    • 展示了CEC(Continually Evolved Classifier,Zhang et al., 2021)方法,該方法將圖模型應用于分類器。CEC首先使用基礎數據訓練網絡的背部,以賦予網絡強大的特征提取能力。隨著新任務的出現和類別數量的增加,分類器的拓撲結構會持續演化,圖注意力網絡在分類器層中被用來適應增量任務的變化。
  • DSN方法
    • 展示了DSN(Dynamic Support Network,Yang et al., 2022)方法,在訓練新類別時,DSN暫時擴展網絡節點以學習新類別的特征。學習完成后,DSN通過節點自激活動態壓縮和擴展網絡,以去除冗余節點,從而提供一種緊湊的特征表示。這種方法通過選擇性地擴展和壓縮網絡節點,增強了增量類別的特征表示能力,并從模型正則化的角度減少了特征漂移。

4 實驗分析

(1)準確率
image.png
在CUB-200數據集的增量學習過程中,各種FSCIL方法在每個會話(session)的準確率表現。
image.png
圖7展示了CIFAR-100數據集上不同FSCIL(少樣本增量學習)方法在幀率(Frames Per Second, FPS)與準確率之間的性能比較**幀率(FPS)**是指模型在一秒鐘內能夠處理的圖像幀數,是衡量模型推理速度的一個重要指標。越靠近圖中的右上角,這意味著它在保持高準確率的同時,也具有較高的推理速度。

(1)計算機視覺領域的應用
少樣本增量學習在計算機視覺領域的三個主要應用:圖像分類、目標檢測和圖像分割。FSCIL技術在計算機視覺中的廣泛適用性,無論是在圖像分類、目標檢測還是圖像分割任務中,都能夠有效地處理新類別的增量學習問題,同時減少對舊知識的遺忘。

  1. 圖像分類中的應用 (Applications in image classification)
    • FSCIL技術被應用于圖像分類,以處理分類任務中新類別的增量學習問題。
    • 例如,Bai等人 (2020) 提出了一種基于線性規劃的增量學習分類器,用于高光譜圖像分類,以適應新類別的出現。
    • Xiang等人 (2019) 利用元學習的思想,通過屬性原型生成模塊和屬性關系模塊,為視頻監控中的行人屬性識別任務生成新的分類權重。
  2. 目標檢測中的應用 (Applications in object detection)
    • 目標檢測領域中,FSCIL技術使計算機系統能夠通過少量樣本學習檢測新的物體類別。
    • Kang等人 (2019) 提出了一個新穎的少樣本檢測模型,但該模型無法在開放環境中增量學習新目標。
    • Perez-Rua等人 (2020) 提出了ONCE模型,基于CenterNet方法,通過元學習算法為每個新類別訓練一個類特定代碼生成器,用于增量少樣本目標檢測問題。
  3. 圖像分割中的應用 (Applications in image segmentation)
    • 圖像分割任務要求對圖像中的每個像素進行分類,比圖像分類更具挑戰性。
    • Cermelli等人 (2021) 提出了PIFS方法,結合原型學習和知識蒸餾,用于增量少樣本語義分割。
    • Ganea等人 (2021) 提出了iMTFA方法,用于增量少樣本實例分割,通過重用在基礎類別上預訓練的Mask R-CNN網絡,并使用余弦相似性分類器來表示每個類別。

(2)FSCIL技術在不同領域的應用

  1. 計算機視覺中的少樣本增量學習 (Few-shot incremental learning in computer vision)
    • FSCIL技術起源于計算機視覺領域,已經廣泛應用于圖像分類、目標檢測和圖像分割等任務。
    • 例如,在高光譜成像的分類問題上,提出了基于線性規劃的增量學習分類器來應對新類別的識別需求。
  2. 目標檢測中的應用 (Applications in object detection)
    • 目標檢測是計算機視覺中的一個重要任務,FSCIL技術在此領域的應用允許計算機系統通過少量樣本學習檢測新對象。
    • 例如,Kang等人 (2019) 提出了一種新穎的少樣本檢測模型,但由于模型缺乏從數據流中增量學習新目標的能力,限制了其在開放環境和邊緣設備中的實際部署。
    • 后續研究如Perez-Rua等人 (2020) 提出的ONCE模型,基于CenterNet方法,通過元學習算法為每個新類別訓練一個類特定代碼生成器,以注冊新類別。
  3. 圖像分割中的應用 (Applications in image segmentation)
    • 圖像分割任務比圖像分類和目標檢測更具挑戰性,因為它需要對每個像素進行分類。
    • 實例分割作為圖像分割的一個子任務,比語義分割更困難,因為它需要區分不同實例之間的邊界。
    • 例如,Cermelli等人 (2021) 提出了PIFS方法,結合原型學習和知識蒸餾來解決增量少樣本語義分割問題;Ganea等人 (2021) 提出了iMTFA方法,用于解決增量少樣本實例分割問題。

5 思考

(1)算法的優缺點總結

  1. 傳統機器學習方法
    • 優點:通過精心設計的監督學習策略和引入額外數據,可以有效提升模型性能;增強了模型的可解釋性。
    • 缺點:統計分布建模過程復雜,可能難以處理。
  2. 基于元學習的方法
    • 優點:提高了模型的靈活性和適應性,能夠快速適應新任務。
    • 缺點:對元訓練集高度依賴,假設所有任務來自相同或相似的數據分布,可能在增量任務的數據分布與基礎類別不同時影響模型性能。
  3. 基于特征和特征空間的方法
    • 優點:學習更健壯和高效的特征表示,特別是前瞻性學習方法在處理未見樣本方面具有天然優勢。
    • 缺點:文中未明確指出,但通常這類方法可能需要精心設計的特征提取機制,且可能在高維數據上面臨維度災難。
  4. 基于重放的方法
    • 優點:直接解決災難性遺忘問題,通過重放舊任務樣本來幫助模型學習新任務。
    • 缺點:直接重放受限于存儲空間、樣本選擇和隱私問題;生成式重放雖提供更靈活的方法,但存在訓練復雜性和生成數據質量不佳的問題。
  5. 基于動態網絡結構的方法
    • 優點:適應不斷變化的數據流,通過調整模型結構或類間關系來學習新知識,同時保留舊知識,適合于處理增量學習和少樣本學習問題。
    • 缺點:文中未明確指出,但這類方法可能在網絡結構調整和優化上較為復雜,需要平衡模型的穩定性和可擴展性。

(2)穩定性與可塑性的關系
穩定性指的是模型保持已學習知識的能力,抵抗新輸入引起的變化。高穩定性的模型在舊數據上表現良好,但在接受新數據時可能表現不佳。可塑性指的是模型適應新輸入或新任務的能力。隨著可塑性的增加,模型在新數據上的泛化能力得到提升,但同時可能會逐漸遺忘舊數據。穩定性和可塑性通常不可兼得,模型需要在這兩者之間找到平衡點。
image.png
(3)少樣本學習、單樣本學習、零樣本學習、元學習 、遷移學習、增量學習的概念

  1. 少樣本學習 (Few-shot Learning, FSL):
    • 少樣本學習的目標是使機器學習模型能夠在只學習了大量數據的少數類別之后,通過少量樣本快速學習新類別。這受到人類快速學習能力的啟發。
  2. 單樣本學習 (One-shot Learning):
    • 單樣本學習是少樣本學習的一個特例,其中每個新類別只有一個或非常少的標記樣本。這種情況下,先前學習的類別可以幫助預測新類別。
  3. 零樣本學習 (Zero-shot Learning, ZSL):
    • 零樣本學習是一種情況,其中學習任務的數據集中沒有包含新類別的標記樣本。模型通過使用類別的語義屬性信息來識別新樣本的類別。
  4. 元學習 (Meta Learning):
    • 元學習,或稱為“學會學習”,是一個過程,它涉及從多個學習經歷中提取經驗,并使用這些經驗來提升未來的學習表現。元學習特別適用于少樣本學習,因為它允許模型從少量樣本中快速學習新任務。
  5. 遷移學習 (Transfer Learning):
    • 遷移學習關注于跨不同領域或任務的知識轉移,使知識能夠從數據豐富的領域/任務遷移到數據稀缺的新領域/任務。
  6. 增量學習 (Incremental Learning, IL):
    • 增量學習,也稱為持續學習或終身學習,是機器學習的一個領域,它關注于如何使模型在連續處理來自現實世界的信息流的同時,保留、整合和優化舊知識。
  7. FSCIL的變體 (Variants of few-shot class incremental learning):
    • 廣義少樣本增量學習(Generalized Few-shot Incremental Learning, GFSIL):涉及一個預訓練模型,該模型使用有限的實例來學習新類別。目標是維持對舊類別和新類別的分類性能。GFSIL通常只有一個增量階段,不涉及多個增量學習階段,且數據分布可能更均勻。并且其數據分割格式與FSCIL不同,例如,CIFAR-100可能被隨機分為40、10和50個類別,分別作為元訓練、元驗證和元測試集。
    • 增量少樣本學習(Incremental Few-shot Learning, FSIL):關注于在增量學習過程中處理少量樣本的情況。與GFSIL不同,FSIL的基礎和增量階段類別數量可能相同,這與FSCIL中豐富的基礎數據設置不同。在FSIL的實驗設置中,模型需要在只有少量樣本的情況下學習新類別,同時保持對基礎類別的記憶。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36755.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36755.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36755.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LearnOpenGL - Android OpenGL ES 3.0 使用 FBO 進行離屏渲染

系列文章目錄 LearnOpenGL 筆記 - 入門 01 OpenGLLearnOpenGL 筆記 - 入門 02 創建窗口LearnOpenGL 筆記 - 入門 03 你好,窗口LearnOpenGL 筆記 - 入門 04 你好,三角形OpenGL - 如何理解 VAO 與 VBO 之間的關系LearnOpenGL - Android OpenGL ES 3.0 繪制…

《Windows API每日一練》6.4 程序測試

前面我們討論了鼠標的一些基礎知識,本節我們將通過一些實例來講解鼠標消息的不同處理方式。 本節必須掌握的知識點: 第36練:鼠標擊中測試1 第37練:鼠標擊中測試2—增加鍵盤接口 第38練:鼠標擊中測試3—子窗口 第39練&…

3.imput 字符串常用方法 字符串倒序,切片

1.input input()函數接收一個標準輸入數據返回string類型 2.字符串常用方法 upper()將字符串中的小寫字母變為大寫 lower()大寫變小寫 len()獲取長度 count(子字符串)統計某個字符出現的次數 index(子字符串)可以返回子字符串出現的位置, rindex從右邊找 find(子字符串)可以返回…

vite-ts-cesium項目集成mars3d修改相關的包和配置參考

如果vite技術棧下使用原生cesium,請參考下面文件的包和配置修改,想用原生創建的viewer結合我們mars3d的功能的話。 1. package.json文件 "dependencies": {"cesium": "^1.103.0","mars3d": "^3.7.18&quo…

重啟ubuntu后命令行出現(initramfs),無圖形界面問題。

由于ubuntu內部軟件問題,需要重啟ubuntu,導致重啟后圖像界面消失,出現如下的命令行: (initramfs): 這里表示進入圖形界面初始化時,某個分區的文件損壞,損壞文件名稱會在上方顯示。 解決方法:…

深度學習 - Transformer 組成詳解

整體結構 1. 嵌入層(Embedding Layer) 生活中的例子:字典查找 想象你在讀一本書,你不認識某個單詞,于是你查閱字典。字典為每個單詞提供了一個解釋,幫助你理解這個單詞的意思。嵌入層就像這個字典&#xf…

Micrometer+ZipKin分布式鏈路追蹤

目錄 背景MicrometerMicrometer與ZipKin之間的關系專業術語分布式鏈路追蹤原理 ZipKin安裝下載 MicrometerZipKin 案例演示相關文獻 背景 一個系統頁面上的按鈕點擊到結果反饋,在微服務框架里,是由N個服務組成返回結果,中間可能經過a->b-…

【Electron】Electron入門實現

Electron 學習筆記 Electron 是一個開源框架,允許開發者使用網頁技術(HTML、CSS 和 JavaScript)來構建跨平臺的桌面應用程序。它由 GitHub 開發并維護,最初是為了支持開發 Atom 編輯器。Electron 結合了 Chromium(用于…

密碼學及其應用 —— 對稱加密技術

1. 對稱加密、流加密和塊加密 1.1 對稱加密 對稱加密(也稱為密鑰加密)是一種加密方式,其中加密和解密使用相同的密鑰。這種加密方法基于二進制層面的操作,如XOR(異或)、SHIFT(位移)…

Redis Stream Redisson Stream

目錄 一、Redis Stream1.1 場景1:多個客戶端可以同時接收到消息1.1.1 XADD - 向stream添加Entry(發消息 )1.1.2 XREAD - 從stream中讀取Entry(收消息)1.1.3 XRANGE - 從stream指定區間讀取Entry(收消息&…

【DevExpress】WPF DevExpressMVVM 24.1版本開發指南

DevExpressMVVM WPF 環境安裝 前言重要Bug(必看)環境安裝控件目錄Theme 主題LoginWindow 登陸窗口INavigationService 導航服務DockLayout Dock類型的畫面布局TreeView 樹狀列表注意引用類型的時候ImageSource是PresentationCore程序集的博主找了好久&am…

[筆記] keytool 導入服務器證書和證書私鑰

背景 我當前手頭已有一個服務器證書和對應的私鑰,現在需要轉換為 Java KeyStore 格式使用,找了一大圈才發現 keytool 無法直接導入服務器證書和私鑰,當然證書可以直接導入,但是私鑰是無法直接導入。找了一大圈發現可以先將服務器…

LeetCode題解:1669. 合并兩個鏈表,JavaScript,詳細注釋

原題鏈接: https://leetcode.cn/problems/merge-in-between-linked-lists/ 解題思路: 注意該題傳入的a和b是鏈表的索引,而不是節點的值先遍歷list1,找到a-1和b1節點將a-1的next指向list2的頭節點在將list2的尾節點的next指向b1節…

Navicat 外網連接 mysql (1、通過SSH方式內網訪問 2、對外開放3306端口)

1、通過SSH方式內網訪問 直接常規方式使用IP、賬號密碼連接,失敗 SSH方式: 常規 選項卡中:localhost錄入數據庫賬號密碼 SSH 選項卡中:勾選使用SSH,輸入服務器IP、賬號、密碼 如果出現該錯誤,可能是服務器…

計算機網絡重點名詞解釋整理

名詞解釋 GPTVersion 一、網絡協議 網絡協議 數據交換的規則 組成:語義、語法、定時 二、DHCP DHCP 動態規劃主機配置協議 作用:讓計算機自動獲取IP地址 特點:即插即用,不需要手動設置 三、信號的基本調制方法以及定義 …

Windows下activemq開啟jmx

1.activemq版本信息 activemq&#xff1a;apache-activemq-5.18.4 2.Windows下activemq開啟jmx 1.進入activemq conf目錄&#xff0c;備份activemq.xml文件 2.編輯activemq.xml文件&#xff0c;在broker節點增加useJmx"true" <broker xmlns"http://active…

C++循環隊列 自定義queue

原理解析 看main部分的注釋&#xff0c;對照著函數&#xff0c;應該能看懂。 #include <iostream> class Queue {public:static constexpr int MAX_SIZE 5;int items[MAX_SIZE];int front, rear;Queue() : front(-1), rear(-1) {}void enqueue(int value) {if ((rear …

理解 Vue.js 中的 immediate: true

理解 Vue.js 中的 immediate: true 在使用 Vue.js 時&#xff0c;監聽器 (watchers) 是一種非常重要的工具&#xff0c;它允許我們觀察和響應數據的變化。在定義監聽器時&#xff0c;我們通常會在組件的 watch 選項中添加相關配置。immediate: true 是其中的一個配置選項。本文…

無線通訊幾種常規天線類別簡介

天線對于無線模塊來說至關重要&#xff0c;合適的天線可以優化通信網絡&#xff0c;增加其通信的范圍和可靠性。天線的選型對最后的模塊通信影響很大&#xff0c;不合適的天線會導致通信質量下降。針對不同的市場應用&#xff0c;天線的材質、安置方式、性能也大不一樣。下面簡…

近期計算機領域的熱點技術

隨著科技的飛速發展&#xff0c;計算機領域的新技術、新趨勢層出不窮。本文將探討近期計算機領域的幾個熱點技術趨勢&#xff0c;并對它們進行簡要的分析和展望。 一、人工智能與機器學習 人工智能&#xff08;AI&#xff09;和機器學習&#xff08;ML&#xff09;是近年來計算…