[UROP #9] Deep Mutual Learning (2)

윤하은·2023년 11월 19일
2

UROP

목록 보기
9/14
post-thumbnail

Paper : https://arxiv.org/abs/1706.00384

Github 참고 : https://github.com/huanghoujing/AlignedReID-Re-Production-Pytorch/blob/master/aligned_reid/dataset/Dataset.py

이전글 👉🏻 [논문 읽기 #8] Deep Mutual Learning (1)

💡 로 표시된 부분은 제가 이해한 내용을 적은 부분입니다. 오류가 있다면 댓글로 남겨주세요 🙏🏻



3. Experiments



3.1 Datasets and Settings


Datasets

CIFAR-100 데이터셋

  • 100개 클래스에서 가져온 32×32 크기의 컬러 이미지로 구성되어있다.
  • 50,000개의 훈련 이미지와 10,000개의 테스트 이미지로 나뉜다.
  • Top-1 분류 정확도가 보고된다.

Market-1501 데이터셋

  • 다양한 비중첩 카메라 뷰에서 캡처된 1,501 개 신원의 32,668 개 이미지를 포함한다.
  • 이 중 751 개의 신원은 훈련에 사용되고 750 개의 신원은 테스트에 사용된다.
  • 네트워크를 751-way 분류를 위해 훈련하고 테스트에서 가장 마지막 풀링 레이어의 결과 기능을 가장 가까운 이웃 매칭에 대한 표현으로 사용한다.
  • CIFAR-100보다 더 어려운 데이터셋으로서 작업이 인스턴스 인식이기 때문에 더 세부적이며, 더 많은 클래스가 있는 작은 데이터셋이다.
  • 평가에는 표준 누적 일치 특성 (CMC) Rank-k 정확도 및 평균 평균 정밀도 (mAP) 메트릭이 사용된다.




Implementation Details

모든 네트워크 및 훈련 절차는 TensorFlow에서 구현하고 NVIDIA GeForce GTX 1080 GPU에서 모든 실험을 수행했다.


CIFAR-100의 경우 Wide Residual Networks 논문의 실험 설정을 따른다.

  • 옵티마이저 : Nesterov 모멘텀을 사용한 SGD를 사용
  • 초기 학습률 : 0.1
  • 모멘텀 : 0.9
  • 미니 배치 크기 : 64

학습률은 60 epoch마다 0.1로 감소하고 200 epoch 동안 훈련한다.

데이터 증가에는 수평 뒤집기 및 이미지의 각 측면에 4픽셀로 패딩된 이미지에서의 무작위 자르기가 포함되며, 누락된 픽셀은 원본 이미지의 반사로 채웠다.


Market-1501의 경우

  • 옵티마이저 : Adam
  • 학습률 lr = 0.0002, β1 = 0.5, β2 = 0.999 - 미니 배치 크기 : 16

모든 모델을 100,000 번 반복해서 훈련하고, ImageNet에서 사전 훈련을 수행한 경우와 그렇지 않은 경우를 실험했다.




Model Size

전형적인 학생 크기의 간단한 네트워크:

  • Resnet-32
  • MobileNet

전형적인 선생님 크기의 큰 네트워크:

  • InceptionV1
  • Wide ResNet WRN-28-10
    

CIFAR-100에서 모든 네트워크의 매개변수 수 :



3.2 Results on CIFAR-100


두 네트워크 DML 집단에서 얻은 CIFAR-100 데이터셋의 Top-1 정확도를 다양한 아키텍처로 비교했다.

  • ResNet-32, MobileNet 및 WRN-28-10 간의 모든 다른 네트워크 조합은 독립적으로 학습하는 것보다 집단에서 학습할 때 성능이 향상되었다. "DML-Independent" 열의 모든 양수 값이 이를 나타낸다.

  • 용량이 더 작은 네트워크(ResNet-32 및 MobileNet)가 일반적으로 DML에서 더 많은 이점을 얻었다.

  • WRN-28-10이 MobileNet이나 ResNet-32보다 훨씬 큰 네트워크임에도 불구하고 (Table 1), 여전히 더 작은 피어와 함께 훈련받는 이점이 있다.

  • 큰 네트워크 집단(WRN-28-10)을 훈련하는 것은 여전히 독립적으로 학습하는 것과 비교하여 유익하다.



따라서 모델 증류의 관례적인 지혜와는 달리 큰 사전 훈련된 선생님이 이점을 얻기 위해서는 필수가 아니며 여러 큰 네트워크는 여전히 Distillation과 유사한 프로세스에서 혜택을 받을 수 있다.




3.3 Results on Market-1501


DML과 함께 Market-1501의 mAP 및 Rank-1 정확도를 정리하며 기존 방법과 비교했다.

각 MobileNet은 두 네트워크 집단에서 훈련되며 집단 내 두 네트워크의 평균 성능이다.

DML은 독립적으로 학습하는 것과 비교하여 MobileNet의 성능을 크게 향상시켰다. ImageNet에서의 사전 훈련이 있을 때와 없을 때 모두 해당된다. 또한, 두 MobileNet으로 훈련된 제안된 DML 접근 방식의 성능이 이전 최첨단 딥러닝 방법을 크게 능가하는 것을 볼 수 있다.




3.4 Comparison with Distillation


선생님 네트워크(Net 1)가 사전 훈련되어 학생 네트워크(Net 2)에 대한 고정된 사후 목표를 제공하는 모델 증류와 본 논문의 DML을 비교했다.


강력한 사전 훈련된 선생님으로부터의 전통적인 증류 방식은 학생 성능을 독립적으로 학습하는 것과 비교하여 향상시켰다 (1 distills 2 vs Net 2 Independent).

그러나 결과는 사전 훈련된 선생님이 필요하지 않을 뿐만 아니라 두 네트워크를 함께 깊은 상호 학습시키면 증류보다 명확한 향상이 제공된다는 것을 보여준다 (1 distills 2 vs DML Net 2).

따라서 상호 학습 프로세스에서 선생님 역할을 하는 네트워크가 사전 훈련된 선생님보다 더 나아지는 것을 알 수 있다.


Market-1501에서 두 간단한 MobileNet을 함께 훈련하면 독립적으로 학습하는 것에 비해 상호 학습이나 증류와 비교하여 유사한 향상이 이루어졌다. 작은 네트워크의 동료 교육은 매우 효과적일 수 있다.

그에 반해 증류에서는 동일한 네트워크를 선생님으로 사용하면 실제로 학생이 독립적으로 학습하는 것보다 더 나빠진다 (마지막 행 1 distills 2 (45.16) vs Net 2 Independent (46.07)).




3.5 DML with Larger Student Cohorts


이전 실험에서는 2명의 학생으로 이루어진 집단을 연구했다. 본 실험에서는 더 많은 학생이 포함된 집단에서 DML이 어떻게 확장되는지 연구했다.


(a)는 MobileNet의 증가하는 집단 크기에 대한 Market-1501의 DML 훈련 결과를 보여준다.

(a) 평균 mAP

DML 집단 내의 네트워크 수가 증가함에 따라 평균 단일 네트워크의 mAP 성능이 향상되어 독립적으로 훈련된 네트워크와의 간격이 증가한다.

학생들의 일반화 능력이 동료들과 함께 학습함으로써 향상되는 것을 나타낸다.


(a) 표준 편차

DML의 네트워크 수가 증가함에 따라 결과가 더욱 안정적으로 나타남을 확인할 수 있다.



(b)에서는 (a)와 동일한 모델을 사용하지만 각 구성원의 평균 예측 대신 앙상블을 기반으로 예측을 수행했다(모든 구성원의 연결된 피처에 기초한 일치).

앙상블 예측이 개별 네트워크 예측을 예상대로 능가한다는 것을 볼 수 있다. 더불어, 앙상블 예측도 여러 네트워크를 집단으로 훈련시키면 혜택을 받는 것으로 나타난다 ((b) DML 앙상블 vs. Independent 앙상블).

DML이 모델 앙상블에 비해 성능 향상에 추가 비용이 적게 들기 때문에 모든 응용 프로그램에서 성능을 향상시키기 위한 일반적으로 유용한 기술일 수 있다.




3.6 How and Why does DML Work?


깊은 상호 학습 전략이 어떻게 동작하며 왜 동작하는가


"왜 딥 네트워크가 일반화되는가"에 대한 최근 연구

  • zero training error를 생성하는 많은 솔루션이 종종 존재하지만 이 중 일부는 좁은 틈새가 아닌 넓은 계곡에 존재하여 작은 변화가 예측 효능을 극적으로 변경하지 않도록 한다.

  • 딥 네트워크는 이러한 좋은 솔루션을 찾는 데 기대보다 더 뛰어나며, 사후 엔트로피가 더 높은 솔루션을 선호함으로써 견고한 최소값을 찾는 경향이 향상될 수 있다.
    
    

Better Quality Solutions with More Robust Minima :

응용 분야에서 네트워크는 훈련 데이터에 완벽하게 맞다. 훈련 정확도는 100%가 되고 분류 손실이 최소화된다. 그러나 DML은 테스트 데이터에서 더 나은 성능을 보여준다.

따라서 DML은 훈련 손실의 더 나은 최소값을 찾아주는 대신 DML이 테스트 데이터에 더 잘 일반화되는 더 넓고 견고한 최소값을 찾도록 도와준다.

이는 DML이 어떻게 하면 더 나은 최소값을 찾아주는지에 대한 간단한 테스트를 수행하여 확인된다.


독립적인 가우시안 노이즈를 각 모델 파라미터에 추가한 후 학습된 모델의 훈련 손실을 분석했다. 두 최소값의 깊이가 동일한 것으로 나타나지만 이러한 변형을 추가한 후 독립적인 모델의 훈련 손실이 급증하는 반면 DML 모델의 손실은 훨씬 더 적게 증가했다.

이는 DML 모델이 훨씬 더 넓은 최소값을 찾았다는 것을 의미하며, 이는 더 나은 일반화 성능을 제공할 것으로 기대된다.




How a Better Minima is Found :

"DML이 어떻게 더 나은 최소값을 찾는 데 도움이 되는 걸까?"


각 네트워크에게 동료의 확률 추정치를 일치시키라고 요청하면 해당 네트워크가 0을 예측하고 선생님/동료가 0이 아닌 값을 예측하는 경우에는 매우 큰 페널티가 부여된다.

따라서 DML의 전반적인 효과는 각 네트워크가 독립적으로 작은 집합의 보조 확률에 작은 질량을 할당할 것이라면 DML의 모든 네트워크는 보조 확률의 예측을 집계하려고 한다.

그 결과 전체적으로 더 많은 질량을 보조 확률에 할당하고 더 많은 구별되는 보조 확률에 0이 아닌 질량을 할당한다.


이 효과는 DML로 훈련된 ResNet-32 모델과 독립적으로 훈련된 ResNet-32 모델의 CIFAR-100에서 얻은 상위 5위 클래스에 할당된 확률을 비교하여 설명된다.

각 훈련 샘플에 대해 모델이 생성한 사후 확률에 따라 상위 5개 클래스가 순위가 매겨지며 (클래스 1이 진짜 클래스이고 클래스 2가 두 번째로 가능성 있는 클래스 등), 독립적으로 학습된 모델에 대한 학습 샘플의 모든 확률에 질량을 할당하는 방법을 DML로 훈련된 모델과 비교한다.

이를 통해 독립적으로 학습된 모델의 경우 Top-1 이하의 확률에 대한 질량 할당이 DML 학습보다 빠르게 감소한다는 것을 확인할 수 있다. 이는 DML로 훈련된 모델과 독립적으로 훈련된 모델의 평균 엔트로피 값이 각각 1.7099 및 0.2602임을 평균화하여 측정할 수 있다.


따라서 본 논문의 방법은 넓은 최소값을 찾기 위한 엔트로피 정규화 기반 접근 방식과 관련이 있지만 맹목적인 고 엔트로피 선호 대신 '합리적인' 대안에 대한 상호 확률 일치를 통해 이루어진다.



DML with Ensemble Teacher :

DML 전략에서 각 학생은 집단에 속한 모든 다른 학생에게 개별적으로 가르쳐진다.

2.3에서는 다른 DML 전략도 논의했다. 각 학생이 집단 내의 모든 다른 학생들의 예측과 일치하도록 하는 것이다. 이 접근 방식이 더 나을 것으로 기대할 수 있다.

앙상블 예측이 개별 예측보다 뛰어나기 때문에 더 깨끗하고 강력한 학습 신호를 제공해야 한다. 실제로는 동료 교수에게 가르치는 것보다 앙상블의 결과가 더 나쁘다.


동료 교육 및 앙상블 교육의 교육 신호를 분석하면 앙상블 대상이 실제 레이블에 대해 훨씬 뾰족하게 나타남을 알 수 있다. 이로 인해 DML의 엔트로피 값이 DML_e보다 크게 증가한다.

따라서 앙상블의 노이즈 평균화 특성이 올바른 예측을 만드는 데 효과적이지만, 보조 클래스 확률이 교육 신호에서 중요한 단서이며 사후 엔트로피가 높은 것이 모델 교육에 더 견고한 솔루션으로 이어짐에 있어서는 도움이 되지 않는다.




4. Conclusion


동료와 상호 증류를 활용하여 심층 신경망의 성능을 향상시키는 간단하고 일반적으로 적용 가능한 방법을 제안했다.

이 접근 방법을 통해 강력한 정적 선생님으로부터 축소된 네트워크보다 성능이 뛰어난 작은 네트워크를 얻을 수 있다. DML의 응용 중 하나는 작고 빠르며 효과적인 네트워크를 얻는 것이다.

또한 이 방법은 강력한 대형 네트워크의 성능을 향상시키는 데 유망하며, 이러한 방식으로 훈련된 네트워크 집단은 앙상블로 결합하여 성능을 더욱 향상시킬 수 있음을 보여주었다.




0개의 댓글