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

SSL 알고리즘을 벤치마크하거나 포괄적이고 확장 가능한 환경에서 새로운 알고리즘을 개발해야 하는 AI 연구자 및 개발자를 위해 설계되었습니다.

Highlights

  • Multi-modal Support: CV, NLP, Audio 분류 작업을 지원합니다.
  • Algorithm Library: 14가지 SSL 알고리즘(FixMatch, FreeMatch, SoftMatch 등)의 구현을 포함합니다.
  • Extensive Benchmarking: 강력한 성능 테스트를 보장하기 위해 15가지 평가 태스크를 제공합니다.
  • Developer Friendly: 빠른 시작을 위한 Python 패키지, 환경 일관성을 위한 Docker 지원, 그리고 새로운 알고리즘으로 라이브러리를 확장할 수 있는 명확한 구조를 제공합니다.