microsoft/Semi-supervised-learning
A Unified Semi-Supervised Learning Codebase (NeurIPS'22)
What it solves
USB (Unified Semi-supervised Learning Benchmark) 提供了一種標準化的方式,用於在不同數據模態下開發、訓練與評估半監督學習 (SSL) 演算法。它解決了在電腦視覺、自然語言處理與音訊分類任務中,難以一致地比較 SSL 方法的問題。
How it works
USB 是一個基於 PyTorch 的 Python 套件 (以 semilearn 分發),實作了廣泛基於一致性正規化 (Consistency Regularization) 的 SSL 演算法。它提供了一個統一的框架,使用者可以透過 YAML 檔案指定訓練配置,以便在各種數據集上執行現有的演算法。
Who it’s for
它是為 AI 研究人員與開發者設計的,這些人需要在一套全面且易於擴展的環境中,對 SSL 演算法進行基準測試或開發新演算法。
Highlights
- Multi-modal Support: 涵蓋 CV、NLP 與 Audio 分類任務。
- Algorithm Library: 包含 14 種 SSL 演算法的實作 (例如 FixMatch, FreeMatch, 與 SoftMatch)。
- Extensive Benchmarking: 提供 15 種評估任務以確保穩健的性能測試。
- Developer Friendly: 提供 Python 套件以便快速上手,支援 Docker 以確保環境一致性,並具有清晰的結構,方便使用新演算法擴展套件庫。