2023 Samsung AI Challenge : Camera-Invariant Domain Adaptation

알고리즘 | 비전 | 이미지 분할 | 도메인 적응 | mIoU

  • moneyIcon Prize : 2,100만 원
  • 757명 마감

 

딥린이의 unet + DANN 방법 공개(참고만 하세요....)

2023.09.08 09:51 3,521 Views language

해당코드는 베이스라인을 기초로하여 DANN(DANN : Domain-Adversarial Training of Neural Networks)을 적용하여
도메인 적응을 수행하는 코드입니다.

해당 코드는 아니고 unet3p 와 hybrid loss를 사용했을 때 지금 public스코어 0.29를 달성했습니다.
train_target 데이터를 어디에 쓸지도 갈피를 못잡았던 저와같은 딥린이 분들에게 도움이 되길 바라며 코드를 올립니다.

고수님들이 있으시다면 이 코드가 잘 짜여진 코드인지 평가도 부탁드립니다.

주의사항 해당 코드는 딥린이의 코드로 참고시 유의 바랍니다ㅎㅎ

DANN(Domain-Adversarial Training of Neural Networks)note제목 없음.png

제안하는 알고리즘의 목표는 target domain의 label에 대한 정보가 없더라도 target risk가 낮도록 classifier η 를 만드는 것이다.

모델은 크게 feature extractor, label predictor, domain classifier로 구성.

일반적으로는 loss를 줄이는 쪽으로 학습하지만 해당모델은 Gradient Reversal layer를 domain classifier 앞에 배치하여 도메인 라벨을 구분을 어렵게하여 도메인간의 적응을 꾀함

작성자의 코드에서는 feature extractor를 베이스라인의 Unet()을 이용하였으며 label predictor 기존 Unet의 마지막 레이어인 conv_last를 가져왔고,domain classifier 또한 Linear Layer를 통해서 간단히 구현함

주의사항 해당코드는 딥린이의 생각으로 구현한 코드로 올바른 DANN모델이 아닐 수 있음

Code