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 サポート、新しいアルゴリズムを拡張するための明確な構造を提供します。