tensorflow/neural-structured-learning

Training neural models with structured signals.

해결하는 문제

신경 구조 학습(Neural Structured Learning, NSL)은 레이블이 부족한 데이터에서 신경망을 훈련하는 문제를 해결합니다. 훈련 과정 중에 데이터 샘플 간의 관계나 유사성에 대한 "구조적 신호"를 포함시킴으로써 모델의 정확도와 강건성을 향상시킵니다.

작동 방식

NSL은 어떤 신경망(예: 피드포워드, 컨볼루션, 순환 네트워크 등)의 훈련을 안내하기 위해 두 가지 유형의 구조적 신호를 활용합니다:

  • 명시적 구조: 샘플 간의 알려진 관계를 그래프로 표현합니다.
  • 암시적 구조: 악성 공격에 대한 저항력을 높이기 위해 적대적 변형을 사용하여 구조를 유도합니다.

이러한 신호는 훈련 단계에서만 통합되며, 최종 모델의 추론 및 배포 워크플로는 변경되지 않으므로 예측 시 성능 저하가 발생하지 않습니다.

대상 사용자

특히 반교사 학습 또는 적대적 공격에 강한 모델이 필요한 TensorFlow 기반 모델을 개선하고자 하는 개발자 및 연구자에게 적합합니다.

주요 특징

  • 유연한 통합: Keras API, 저수준 TF 연산, 그래프 생성 도구를 제공하여 훈련에 구조적 신호를 쉽게 추가할 수 있습니다.
  • 광범위한 호환성: CNN, RNN, MLP 등 다양한 신경망 아키텍처와 호환됩니다.
  • 이중 접근 방식: 신경 그래프 학습과 적대적 학습을 하나의 프레임워크로 일반화합니다.
  • 추론 오버헤드 없음: 구조적 신호는 훈련 시에만 사용되며, 배포 성능에 영향을 주지 않습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트