>  기사  >  기술 주변기기  >  테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

WBOY
WBOY앞으로
2023-04-11 09:11:021418검색

도메인 적응은 전이 학습을 해결하는 중요한 방법입니다. 현재 도메인 적응 방법은 동기식 훈련을 위해 원래 도메인과 대상 도메인 데이터에 의존합니다. 원본 도메인 데이터를 사용할 수 없고 대상 도메인 데이터가 완전히 표시되지 않는 경우 테스트 시간 교육은 새로운 도메인 적응 방법이 됩니다. TTT(Test-Time Training)에 대한 현재 연구에서는 자기 지도 학습, 대조 학습, 자기 훈련 및 기타 방법을 널리 활용하고 있습니다. 그러나 실제 환경에서 TTT를 정의하는 방법은 종종 무시되어 여러 방법 간의 비교가 부족합니다.

최근 남중국 공과대학 A*STAR 팀과 Pengcheng 연구소는 방법에 순차 추론 기능(Sequential Inference)이 있는지 여부와 소스 도메인 훈련 대상인지 여부를 구별하여 TTT 문제에 대한 체계적인 분류 기준을 공동으로 제안했습니다. 수정이 필요합니다. 현재 방법에 대한 자세한 분류를 제공합니다. 동시에, 다양한 TTT 분류에서 가장 높은 분류 정확도를 달성하는 대상 도메인 데이터의 고정 클러스터링을 기반으로 하는 방법이 제안되었습니다. 이 기사는 TTT에 대한 후속 연구의 올바른 방향을 지적하고 실험 설정에서의 혼란을 방지합니다. 비교할 수 없습니다. 해당 연구 논문은 NeurIPS 2022에 게재되었습니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

  • 논문: https://arxiv.org/abs/2206.02721
  • 코드: https://github.com/Gorilla-Lab-SCUT/TTAC

1. 소개

딥러닝의 성공은 주로 레이블이 지정된 데이터의 양이 많고 훈련 세트와 테스트 세트가 독립적이고 동일하게 분포된다는 가정에 기인합니다. 일반적으로 합성 데이터로 학습한 후 실제 데이터로 테스트해야 하는 경우 위의 가정을 충족할 수 없는 경우가 있는데, 이를 도메인 이동이라고 합니다. 이 문제를 완화하기 위해 도메인 적응(DA)이 탄생했습니다. 기존 DA 작업은 훈련 중에 소스 및 대상 도메인의 데이터에 액세스해야 하거나 여러 도메인에서 동시에 훈련해야 합니다. 전자는 적응 훈련 중에 모델이 항상 소스 도메인 데이터에 액세스할 수 있어야 하는 반면, 후자는 더 많은 비용이 드는 계산이 필요합니다. 원본 도메인 데이터에 대한 의존도를 줄이기 위해 개인 정보 보호 문제나 스토리지 오버헤드로 인해 원본 도메인 데이터에 액세스할 수 없습니다. 원본 도메인 데이터가 없는 SFDA(Source-Free Domain Adaptation)는 액세스할 수 없는 원본 도메인 데이터의 도메인 적응 문제를 해결합니다. 저자는 SFDA가 수렴을 달성하기 위해 여러 라운드에 걸쳐 전체 대상 데이터 세트에 대해 교육을 받아야 한다는 사실을 발견했습니다. SFDA는 스트리밍 데이터에 직면하고 적시에 추론 예측을 해야 할 때 이러한 문제를 해결할 수 없습니다. 스트리밍 데이터에 적시에 적응하고 추론 예측을 해야 하는 이러한 보다 현실적인 설정을 테스트 시간 훈련(TTT) 또는 테스트 시간 적응(TTA)이라고 합니다.

저자는 커뮤니티 내에서 TTT의 정의에 대한 혼란이 있어 불공정한 비교가 발생하고 있음을 인지했습니다. 이 논문은 두 가지 주요 요소를 기준으로 기존 TTT 방법을 분류합니다.

  • 스트리밍 방식으로 나타나고 현재 나타나는 데이터를 적시에 예측해야 하는 데이터의 경우 이를 원라운드 적응 프로토콜(One-Pass)이라고 합니다. 적응), 멀티 패스 적응이라고 하는 위 설정을 충족하지 않는 다른 프로토콜의 경우 처음부터 끝까지 추론 예측을 수행하기 전에 전체 테스트 세트에서 여러 라운드에 대해 모델을 업데이트해야 할 수 있습니다.
  • 더 효과적인 TTT를 달성하기 위해 추가적인 자체 감독 분기를 도입하는 등 필요한 여부에 따라 소스 도메인의 훈련 손실 방정식을 수정합니다.

이 논문의 목표는 훈련 손실 방정식을 수정하지 않고 가장 현실적이고 도전적인 TTT 프로토콜, 즉 단일 라운드 적응을 해결하는 것입니다. 이 설정은 TENT[1]에서 제안한 TTA와 유사하지만 기능 통계와 같은 소스 도메인의 경량 정보를 사용하는 데 국한되지 않습니다. 테스트 시간에 효율적으로 적응하는 TTT의 목표를 고려할 때 이 가정은 계산적으로 효율적이며 TTT의 성능을 크게 향상시킵니다. 저자는 이 새로운 TTT 프로토콜을 순차적 테스트 시간 훈련(sTTT)이라고 명명했습니다.

위의 다양한 TTT 방법 분류 외에도 이 논문에서는 sTTT를 더욱 효과적이고 정확하게 만드는 두 가지 기술도 제안합니다.

  • 본 논문에서는 TTAC(Test-Time Anchored Clustering) 방법을 제안합니다.
  • 클러스터 업데이트에 대한 잘못된 의사 라벨의 영향을 줄이기 위해 논문에서는 네트워크의 예측 안정성과 샘플에 대한 신뢰도를 기반으로 의사 라벨을 필터링합니다.

2. 방법 소개

논문은 제안 방법을 설명하기 위해 네 부분으로 구성됩니다. 그림 1; 그림 1의 의사 레이블 필터 부분과 같은 의사 레이블 필터링을 위한 몇 가지 전략을 소개합니다. 3) TTT++[2]에서 두 분포 사이의 거리를 측정하기 위해 L2 거리를 사용하는 것과 달리 저자는 KL 분기를 사용합니다. 두 분포 사이의 거리를 측정합니다. 두 전역 특성 분포 사이의 거리를 측정합니다. 4) 테스트 시간 훈련(TTT) 프로세스에서 특성 통계를 업데이트하기 위한 효과적인 반복 방법을 도입합니다. 마지막으로 다섯 번째 섹션에서는 전체 알고리즘의 프로세스 코드를 제공합니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

1부 고정 클러스터링에서 저자는 먼저 가우스 혼합을 사용하여 대상 도메인의 기능을 모델링합니다. 여기서 각 가우스 구성 요소는 발견된 클러스터를 나타냅니다. 그런 다음 작성자는 원본 도메인의 각 범주 분포를 일치를 위한 대상 도메인의 분포에 대한 기준점으로 사용합니다. 이러한 방식으로 테스트 데이터 기능은 동시에 클러스터를 형성할 수 있으며 클러스터는 소스 도메인 카테고리와 연결되어 대상 도메인에 대한 일반화를 달성합니다. 요약하자면, 소스 도메인과 대상 도메인의 특징은 각각 카테고리 정보에 따라 모델링됩니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

그런 다음 두 혼합 가우스 분포 사이의 거리를 KL 다이버전스로 측정하고 KL 다이버전스 매칭을 줄여 달성합니다. 두 가지 도메인 기능 중 하나입니다. 그러나 두 개의 혼합 가우스 분포에서 KL 발산을 직접 해결하기 위한 폐쇄형 솔루션이 없으므로 효과적인 그래디언트 최적화 방법을 사용할 수 없습니다. 본 논문에서 저자는 원본 도메인과 대상 도메인에 동일한 개수의 클러스터를 할당하고 각 대상 도메인 클러스터를 원본 도메인 클러스터에 할당함으로써 전체 혼합 가우시안의 KL 발산 솔루션을 각 쌍의 합으로 변환할 수 있습니다. 가우시안 간의 KL 발산.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

위 방정식의 닫힌 형태의 해는 다음과 같습니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

공식 2에서는 소스 도메인 클러스터의 매개변수를 오프라인으로 수집할 수 있으며, 경량 통계만 있기 때문에 데이터를 사용하므로 개인정보 유출 문제가 발생하지 않으며 컴퓨팅 및 스토리지 오버헤드도 소량만 사용합니다. 대상 도메인의 변수에 대해 의사 레이블을 사용합니다. 이를 위해 저자는 효과적이고 가벼운 의사 레이블 필터링 전략을 설계했습니다.

의사 라벨 필터링 전략의 두 번째 부분은 크게 두 부분으로 나뉩니다.

1) 시계열의 일관된 예측을 위한 필터링:

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

2) 사후 확률 기반 필터링:

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

마지막으로 필터링된 샘플을 사용하여 대상 도메인 클러스터의 통계를 해결합니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

3부 앵커 클러스터링에서는 필터링된 일부 샘플이 대상 도메인 추정에 참여하지 않습니다. 또한 저자는 고정 클러스터링의 클러스터 접근 방식과 유사하게 모든 테스트 샘플에 대해 전역 기능 정렬을 수행합니다. 여기서 모든 샘플은 소스 도메인과 대상 도메인에 각각 정의된 전체 클러스터로 간주됩니다. 다시 KL 분기를 최소화하는 목표에 맞게 전역 특성 분포를 정렬합니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

Part 4 위의 세 부분은 모두 몇 가지 도메인 정렬 방법을 소개하지만 TTT 프로세스에서는 대상 도메인의 분포를 추정하려고 합니다. 대상 도메인 전체의 데이터를 관찰할 수 없기 때문에 쉽지 않습니다. 최첨단 작업에서 TTT++[2]는 기능 대기열을 사용하여 과거 부분 샘플을 저장하고 로컬 분포를 계산하여 전체 분포를 추정합니다. 그러나 이는 메모리 오버헤드를 가져올 뿐만 아니라 정확성과 메모리 간의 균형을 초래합니다. 본 논문에서 저자는 메모리 오버헤드를 완화하기 위해 통계의 반복적인 업데이트를 제안합니다. 구체적인 반복 업데이트 공식은 다음과 같습니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

일반적으로 전체 알고리즘은 알고리즘 1과 같습니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

실험 결과

서문에서 언급했듯이 본 논문에서는 저자는 다양한 TTT 전략 하에서 다양한 방법을 공정하게 비교하는 데 큰 관심을 기울입니다. 저자는 다음 두 가지 핵심 요소에 따라 모든 TTT 방법을 분류합니다. 1) 원패스 적응 프로토콜(One-Pass Adaptation) 여부와 2) 소스 도메인의 훈련 손실 방정식을 수정하는지 여부를 각각 Y/N으로 기록하여 소스 도메인 훈련 방정식을 수정할 필요가 있거나 필요하지 않습니다. O/M은 단일 라운드 적응 또는 다중 라운드 적응을 나타냅니다. 또한 저자는 6개의 벤치마크 데이터 세트에 대해 충분한 비교 실험과 추가 분석을 수행했습니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

표 1에 표시된 것처럼 TTT++[2]에는 추가 자체 감독 분기가 있으므로 N-O 및 Y-O 프로토콜 모두에 나타납니다. N-O 프로토콜 아래에는 자체 감독 분기를 추가하지 않습니다. 이 분자의 손실은 일반적으로 Y-O에서 사용될 수 있습니다. TTAC는 또한 Y-O의 TTT++[2]와 동일한 자체 감독 분기를 사용합니다. 표에서 볼 수 있듯이 TTAC는 CIFAR10-C 및 CIFAR100-C 데이터 세트 모두에서 모든 TTT 프로토콜과 모든 데이터 세트에서 최적의 결과를 달성했으며 TTAC는 3% 이상의 개선을 달성했습니다. 표 2 - 표 5는 ImageNet-C, CIFAR10.1 및 VisDA의 데이터가 각각 최상의 결과를 얻었음을 보여줍니다.

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

또한 저자는 동시에 여러 TTT 프로토콜 하에서 엄격한 절제 실험을 수행했으며, 표 6과 같이 각 구성 요소의 역할을 명확하게 확인했습니다. 첫째, L2 Dist와 KLD를 비교하면 KL divergence를 사용하여 두 분포를 측정하는 것이 더 좋은 효과가 있음을 알 수 있습니다. 성능 향상은 14%에 불과하지만 앵커드 클러스터와 의사 레이블 필터를 결합하면 29.15% -> 11.33%의 상당한 성능 향상을 볼 수 있습니다. 이는 또한 각 구성 요소의 필요성과 효과적인 조합을 보여줍니다. 테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법

마지막으로 저자는 sTTT(N-O) 하의 누적 성능, TTAC 기능의 TSNE 시각화, 소스 도메인 독립적 TTT 분석 및 테스트 샘플 분석을 포함하여 텍스트 끝 부분에서 TTAC를 완전히 분석합니다. 대기열 및 업데이트 라운드, 벽시계 시간으로 측정된 계산 오버헤드. 기사의 부록에는 더 흥미로운 증거와 분석이 나와 있습니다.

IV. 요약

이 기사에서는 TTAC의 이번 작업의 기여 포인트인 기존 TTT 방법의 분류 비교, 제안 방법 및 각 TTT 프로토콜 분류에 따른 실험을 간략하게 소개합니다. 더 자세한 논의와 분석은 논문과 부록에서 다루겠습니다. 우리는 이 작업이 TTT 방법에 대한 공정한 벤치마크를 제공할 수 있기를 바라며 향후 연구는 해당 프로토콜 내에서 비교되어야 합니다.

위 내용은 테스트 단계 교육을 올바르게 정의하는 방법은 무엇입니까? 순차적 추론 및 도메인 적응 클러스터링 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제