∙ Deep Learning(Bishop 2024): Chapter 3 이다. 3.1. Discrete Variables 3.2. The Multivariate Gaussian: 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3. Periodic Variables 3.4. The Exponential Family 3.5. Nonparametric Methods 3.5.1 3.5.2 3.5.3
아...할거 드~~~릅게 많다 진짜ㅋㅋ😱
🍚 밥이다 밥! (12:30~13:00)
마찬가지로 동편제(한식): 유린기? 뭐 그런게 나왔다. 후식으로는 내돈내산 녹차프라푸치노 (내 최애다ㅎㅎ)
💻 코드 작동시켜보기! (13:30-18:00)
아 슈밤...진짜 안되는거 천지...
🚍 퇴근! (18:30 - 19:00)
퇴근이 제일 좋다는 직장인의 말에 공감이 점점된다ㅋㅋㅋ 아침출근때문에 그냥 졸리다ㅋㅋ 피곤🩸하고ㅠㅠ
🏋🏻 운동! (19:00 -)
이제 3대 운동보단 좀 더 세분화해서 A,B루틴 안하는 날에는 가슴,삼두, 등,이두, 어께 위주로 해봐야겠다. 아 그리고 데드나 스쿼트의 경우에는 조금 텀을 둬야겠다... 격일마다 무겁게만 하다보니 오히려 퍼포먼스가 안나오는 느낌? 그래서 스쿼트와 데드의 경우에는 일주일에 1~2번정도만 본세트무게로❗️ 나머지는 평소드는 무게의 8~90%정도의 중량만 들어야겠당
2. 주중에 할 것: Deep Learning 2024(Bishop) - Chapter 2: Exercise 풀기.
- Chapter 3 읽고 공부하기 3.1. Discrete Variables 3.2. The Multivariate Gaussian 3.3. Periodic Variables 3.4. The Exponential Family 3.5. Nonparametric Methods
3. 표본분포
4. 통계
5. 통계적 추론
🚲 출근! (8:30 - 9:00)
알람 못듣고 일어났다ㅋㅋㅋ 8시에... 그래도 타슈타고 정시도착!
30분정도 걸렸당
📖 공부! (9:00-12:00)
∙ Deep Learning(Bishop 2024): Chapter 3 이다. 3.1. Discrete Variables 3.2. The Multivariate Gaussian 3.3. Periodic Variables 3.4. The Exponential Family 3.5. Nonparametric Methods
아...할거 드~~~릅게 많다 진짜ㅋㅋ😱
🍚 밥이다 밥! (12:30~13:00)
마찬가지로 동편제(한식): 닭강정과 스파게뤼~
후식으로는 교수님께서 사주신 무려 4000원의 애플망고요거트 스무디~
인턴끝나기전에 모든 음료종류는 다먹어봐야징ㅎㅎ
💻 코드 작동시켜보기! (13:30-18:00)
아 슈밤...진짜 안되는거 천지...
🚍 퇴근! (18:30 - 19:00)
퇴근이 제일 좋다는 직장인의 말에 공감이 점점된다ㅋㅋㅋ 아침출근때문에 그냥 졸리다ㅋㅋ 피곤🩸하고ㅠㅠ
🏋🏻 운동! (19:00 -)
이제 3대 운동보단 좀 더 세분화해서 A,B루틴 안하는 날에는 가슴,삼두, 등,이두, 어께 위주로 해봐야겠다.
2. 주중에 할 것: Deep Learning 2024(Bishop) - Chapter 2: Exercise 풀기.
- Chapter 3 읽고 공부하기 3.1. Discrete Variables 3.2. The Multivariate Gaussian 3.3. Periodic Variables 3.4. The Exponential Family 3.5. Nonparametric Methods
3. 표본분포
4. 통계
5. 통계적 추론
🚍 출근! (8:10 - 8:25)
그냥 7시 25분에 알람 맞춰버렸다 ㅋㅋㅋ 그래도 밥은 맛있게 야무지게 먹고왔다 히히🤣 출퇴근은 셔틀버스가 역쉬 제일 빠른거 같다. (Shortest Path Algorithm?) 아 그리고 어제부터 새로운 루틴 추가하니 확실히 오늘 더 피곤하다 ㄹㅇ...
📖 공부! (8:30-12:00)
셔틀버스 타고 오는게 일찍공부할 수 있어서 이득인거 같다. 이제 남은 할일: ∙ 논문 review: 논문 정리 논문 review PPT만들기
∙ Deep Learning(Bishop 2024): Chapter 3 이다. 3.1. Discrete Variables 3.2. The Multivariate Gaussian 3.3. Periodic Variables 3.4. The Exponential Family 3.5. Nonparametric Methods
아 그리고 너무 뒷골 땡기고 목아프고 머리아파서 짜잔- 옛날에 다이소에서 산 목 마사지 기구를 들고왔는데 겨우 살만했다. 그래도 나름 효과가 준수하다?
1. 논문 review: A Free Lunch for Unsupervised Domain Adaptive Object Detection without Source Data ∙ 논문 정리 ∙ 논문 review ∙ PPT만들기
2. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites AAAI에 넣을 내용으로 정리 및 Exercise 풀기
3. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 3 읽고 공부하기 3.1. Discrete Variables 3.2. The Multivariate Gaussian 3.3. Periodic Variables 3.4. The Exponential Family 3.5. Nonparametric Methods
그냥 7시에 알람 맞춰버렸다 ㅋㅋㅋ 그래도 밥은 맛있게 야무지게 먹고왔다 히히🤣 출퇴근은 셔틀버스가 역쉬 제일 빠른거 같다. (Shortest Path Algorithm?)
📖 공부! (8:30-12:00)
셔틀버스 타고 오는게 일찍공부할 수 있어서 이득인거 같다. 이제 남은 할일: ∙ 논문 review: 논문 정리 논문 review PPT만들기
∙ Deep Learning(Bishop 2024): Chapter 3 이다. 3.1. Discrete Variables 3.2. The Multivariate Gaussian 3.3. Periodic Variables 3.4. The Exponential Family 3.5. Nonparametric Methods
아 그리고 너무 뒷골 땡기고 목아프고 머리아파서 짜잔- 옛날에 다이소에서 산 목 마사지 기구를 들고왔는데 겨우 살만했다. 그래도 나름 효과가 준수하다?
아...할거 드~~~릅게 많다 진짜ㅋㅋ😱
🍚 밥이다 밥! (12:30~13:00)
마찬가지로 동편제(한식):개노맛...
📖 논문발표! (14:30-18:00)
많이 배우긴 배웠는데 그만큼 힘든시간... 그래프하나하나, 식 하나하나 저자의 의도파악 및 비판적사고? 코드구현가능성 이런걸 잘 봐야한다는걸 깨달았다
🚍 퇴근! (18:30 - 19:00)
퇴근이 제일 좋다는 직장인의 말에 공감이 점점된다ㅋㅋㅋ 아침출근때문에 그냥 졸리다ㅋㅋ 피곤🩸하고ㅠㅠ
1. 논문 review: A Free Lunch for Unsupervised Domain Adaptive Object Detection without Source Data ∙ 논문 정리 ∙ 논문 review ∙ PPT만들기
2. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites ∙ Exercises
퇴근이 제일 좋다는 직장인의 말에 공감이 점점된다ㅋㅋㅋ 아침출근때문에 그냥 졸리다ㅋㅋ 피곤🩸하고ㅠㅠ
🏋🏻 운동!안할래 (19:00 -)
오늘은 5X5 Strength A루틴 하는날. 카페인 시원하게 마시고 바로 Squat→Bench Press→Barbell Row하러 갔다.
드디어 주말이 왔다.
그냥 좀 푹 자고 싶다. 알람 울리는거 세상에서 제일 싫다ㅠ.ㅠ
📌 TODO List:
1. 논문 review: A Free Lunch for Unsupervised Domain Adaptive Object Detection without Source Data ∙ 논문 정리 ∙ 논문 review ∙ PPT만들기
2. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites AAAI에 넣을 내용으로 정리 및 Exercise 풀기
No Free Lunch from Deep Learning이라는 말이 있을만큼 No Free Lunch라는 말은 유명한데...
이를 정면으로 반박하고 Free Lunch라고 표현한걸 봐서는 매우 자신이 있다는 말로 해석해서
이 논문을 첫번째 논문 review발표 논문으로 선택하였다
[사전조사 배경지식 정리]
1. 용어정리
DAOD: Domain Adaptation Object Detection
leverage: 영향, 활용
Cross Domain: 2개간의 Domain간의 연결 or 관련성, 결합 등을 의미
Domain Discrepancy: domain간의 distribution이 불일치하는 것, 이로인해 일반화가 쉽지 않음.
Domain Shift: Cross Domain에서 발생하는 문제점. Imbalance와 Consistency없는 Domain shift의 경우, Tgt이 적으면 DA가 어려움. 이를 해결하기 위해 여러가지 방법들을 다양한 level에서 활용. ex) img-level, instance-level, pixel-level, category-level, ...
Domain Invariance: Domain불변성을 결과적으로 학습하는것이 목표인 논문들이 많음.
Domain Alignment: 두 Domain에 대해 일치(정렬)시키는 것. 이때, 보통 두 Domain간의 feature distribution alignment를 통해 이루어진다.
Unsupervised Learning Object Detection: Label 혹은 Annotation이 없는 Target Domain문제에 대한 학습 Semi-supervised Learning Object Detection: Label을 teacher모델이 생성(이를 pseudo labeling이라 함), 이를 이용.
∙ Src, Tgt모두 없이도 DAOD를 가능하게하려고 여러방법들을 도입한 논문발표(이번 review논문)
∙ 또한, Data Augmentation방법들도 여럿 도입됨.
[2022]:
∙Domain Adversarial Training, Data Augmentation은 약간 국룰화?처럼 되는 뉘앙스
∙ pseudo label을 다루기 위해 여러 시도들 발생
Abstract
🧐 저자의 제안:
UnLabeled Src Data →Tgt에 최적화가 주목 이를 위해 저자는SFOD프레임워크를 제안
[SFOD] (Source Data-Free Domain Adaptive Object Detection): Src Data없이도 DA탐지를 가능하게 하며, 이는Noise있는 Label로 학습하는 것으로 모델링한다.
일반적으로 Src에서 pretrained모델을 활용, Tgt의 가짜라벨생성을 한다. 하지만 Tgt Domain라벨이 없으면, 이런 가짜라벨생성에 대한 평가가 어렵다. → SED(Self-Entropy Descent)라는 평가지표 도입! SED: 가짜라벨에 대해 적절한 신뢰임계값결정을 위해 도입한 metric
다만, 완전히 깨끗한 라벨을 얻는 것은 여전히 어려움을 겪고 있는데, 실험결과 생성된 노이즈가 있는 라벨에서 FN이 지배적임을 발견. 개선을 위해 FN mining이 도움이 되며, Mosaic와 같은 데이터 증강을 통해 FN시뮬레이션을 용이하게 한다.
🧐 개인 생각 정리:
핵심:
Src Domain에서 pretrained만 사용, supervision signal을 제공 → 즉, Tgt으로 pseudo labeling되어 noise가 발생할 수 밖에 없는 구조.
문제점 1: Src, Tgt에 대한 label이 모두 없기에 pseudo label에 대한 평가가 어려움 → SED라는 평가지표 도입❗️
문제점 2: 다만, clean label얻기는 어려움---noise에서 FN, FP가 지배적 →FN Mining, Data Augmentation(e.g. Mosaic)으로 이를 개선❗️
Introduction & Main contribution
제안된 SFOD pipeline, 주어지는 supervision신호는 Src Domain의 adapt를 위해 pre-trained model에만 제공됨.
Object Detection의 발전은 단지 수동라벨링된 Train data에 의존해서 향상되어 왔다. 이는 새로운 환경이나 Data 분포가 다른 경우(e.g. 물체외관, 배경타입, 날씨 등 다양한 요인) 일반화가 쉽지 않다는 한계점이 존재.
그렇다면, 어떻게 pre-trained model을 supervision 없이 label-rich Src Domain → unlabeled Tgt Domain...? 이 UDA를 위해 많은 방법들이 고안됨 ∙ Domain-invariant features를 alignment 하는 방식 ∙ Domain distribution 근접화 방식 ∙ 두 domain간 similarity를 측정해 pseudo labeling 하는 방식 이는 두 Domain이 관련되었지만 다름을 의미 → 따라서 두 Domain간 접근이 자유로울 필요성이 존재하지만 challegeable함.
이미 Classification에서는 Src-data free한 방식이 좋았으나 Detection에서는 여전히 시도되지 않았었음. 본 논문에서는 전술한 문제 해결을 위해SFOD(Source data-Free domain adaptive Object Detection)라는 간단하지만 효과적인 접근방법을 소개함.
Sol)적절한 신뢰도임계값으로 Bbox를 직접 P/N을 부분 filtering하는 것이다. 물론, Detection에서는 FP,FN같은 noisy labels는 무조건 존재하고, Tgt모델은 여전히 "집단지성의 원칙"을 따라 최적화 가능하다. ("집단지성의 원칙": 여러 모델이나 다수의 예측을 종합하거나, 다수의 샘플의 정보를 활용하여 모델을 최적화할 수 있다는 것을 의미)
하지만 supervision metric이 없어 적절한 신뢰도임계값 찾기란 어렵다. noisy label로 신뢰도임계값이 너무 높거나 낮을 수 있기때문에 적절한 신뢰도임계값 탐색이 필요하다.
∙SED :Search Confidence threshold
이를 위해 등장한 Self-Entropy Descent는 전술한 신뢰도임계값을 찾기위해 제안된다.
Self-Entropy
예측 불확실성은 Self-Entropy로 계산된다. 이 문장은 다음과 같이 해석될 수 있다: "자가 엔트로피가 낮을수록 더 예측이 확실하다." 신뢰도 임계값을 탐색함과 동시에, 생성된 가상 라벨을 사용해 pre-trained model을 fine-tuning하고 그 후 훈련 이후 데이터셋의 Self-Entropy를 평가한다.
"라벨이 더 지저분할수록 더욱 라벨을 맞추기가 어려워진다." (사실 당연한 소리다.) ∴ 신뢰도임계값↓→평균 Self-Entropy↓→ 첫 local-minimum에 도달 시, 이를 신뢰가능한 pseudo label생성을 위한 적절한 신뢰도임계값으로 선택.
이 솔루션의 타당성을 입증하기 위해 장난감 실험을 설계. 구체적으로, 생성된 pseudo label은 FP와 FN. 실험 분석을 통해 FN이 작고 가려진 객체와 같은 noisy label에서 주를 이루는 것을 발견.
∙FN Mining & Mosaic :FN의 영향 완화
또한 Mosaic(Bochkovskiy, Wang, and Liao 2020)와 같은 데이터 증강을 통해 거짓 음성을 시뮬레이션할 수 있도록 이 솔루션을 FN시뮬레이션으로 완화.
🧐 Main Contribution
i) Src data-free인 UDA-OD의 첫번째 시도. ii)Src data-free인 UDA를 noisy label학습을 통해 혁신적으로 모델링, 해결. iii) Src data사용을 안하고도 매우 좋은 성능, 다른 Src data based를 능가.
SED배경: 적절한 신뢰도임계값으로 Bbox를 직접 P/N을 부분 filtering해야하고, 이를 위해 신뢰도 임계값 평가를 위한 supervision metric이 필요. SED역할: 예측 불확실성을 Self-Entropy로 계산, 신뢰도임계값 탐색 및 생성된 가상 라벨을 사용해 pre-trained model을 fine-tuning하고 훈련 이후 데이터셋의 Self-Entropy를 평가
FN Mining배경: 생성된 pseudo label은 FP와 FN이 noisy label이 주를 이룸. FN Mining역할: Mosaic와 같은 데이터 증강으로 FN완화.
[요약]: Step 1. pseudo Label 생성 신뢰도가 높은 소수의 sample(= Tgt)으로는 좋은 성능을 달성할 수 없다. Sol)적절한 신뢰도임계값으로 Bbox를 직접 P/N을 부분 filtering하는 것
이를 위해 적절한 supervision metric이 필요 → SED: Self-Entropy Descent❗️ 이렇게 평가된 예측불확실성으로 신뢰도임계값 탐색→ pseudo label 생성에 도입.
Labeled Src Data로 Faster R-CNN을 pre-train시킨 이후 이를 Unlabeled Tgt Data에 fine-tuning시켜 pseudo label생성에 동시에 도입.
Step 2. 생성된 pseudo Label의 FN완화 생성된 pseudo label은 FP, FN등이 noisy label이 주를 이룬다. 이를 해결하기위해 FN Mining, Mosaic Augmentation을 이용.
noisy label학습을 위해 많은 방법들이 classification에서 이루어져 왔었다. ∙ 초기: instance-독립의 Noise model 사용: 각 클래스가 다른 클래스와 혼동되는 문제 발생 ∙ 최근: Label noise 예측에 초점
하지만 위 연구들의 noisy label 설정방식은 이상적: noisy label과 true label을 수동 설정.
추가적으로 noisy label학습을 위해 여러 방식들이 제시됨: object경계지정이 명확하지 않은경우, 문제해결이 불가능
Source free Domain Adaptive Object Detection
[UDA-OD가정] Src와 Tgt이 training과정에서 자유롭게 사용되어 Src-Tgt, 두 Domain간의 차이(discrepancy)를 최소화 하는것.
[Src data-free UDA의 목표] 신경망 최적화를 위해 Dt만 사용하는 것 이때, 유일한 supervision 신호는 Ds의data를 직접사용하는 대신, Ds에서 pre-trained model θs에서 제공된다.
∙ Pseudo Lables Optimization via SED
🤔 A toy example: How to evaluate the quality of pseudo labels?
Toy example이란? MNIST를 2개의 범주(positive, negative)로 구분; 이를 MNIST-2라 지칭함. 이를 기반으로 다양한 Dataset을 구축. ex) positive sample을 negative에 서로다른비율로 섞거나 negative sample을 positive에 서로다른비율로 섞어 이를 LeNet에 훈련. 즉, 혼합 비율 = 노이즈 정도.
훈련 후 전체 데이터셋의 예측 불확실성을 잡기 위해 'mean self-entropy'개념을 도입:
nc : class 수 pc(xti): class c의 예측확률
위 그림에서 보이듯, noise정도는 mean self-entropy와 양의 상관관계를 가짐은 자명하다.
∙ 위 그림) 더 noisy label → label 맞추기가 어려움 = mean self-entropy⇧ ∙이상적 상황) 가장 깨끗한 라벨 할당 → 가장 낮은 mean self-entropy
즉, 두 상황을 고려해보면? ❗️mean self-entropy가 감소→ local-minima에 도달 = reliable한 label할당.
🤔 SED: how to generate reliable pseudo labels in Object Detection
Detection에서 Negative samples는 진~~짜 많다.(진짜 강조 많이한 말.) 앞단의 설명처럼, training을 위해 P/N sample분리가 필요 → 이는 저점~고점까지 적절한 confidence threshold를 찾아야함을 의미.
[SED: Self Entropy Descent]
❗️mean self-entropy가 감소해 첫 local-minimum에 도달할 때, 훈련을 멈춘다. (→ 가장 낮은 entropy값=가장 깨끗한 = 신뢰할만한 라벨할당 가능.)
Dt 와 Ds에서 pre-train된 modelθs는 자유롭게 활용가능하므로 pseudo label y(xt)와 그에 해당하는 신뢰도 p(xt)는 아래와 같이 유도된다.
즉, pretrained model parameter와 confidence threshold를 기반으로 하는 Faster R-CNN을 이용해 input x에 대해 pseudo label y와 신뢰도값 p를 출력으로 함을 의미.
각각 region proposal loss, region classification loss, Bbox regression loss를 의미.
Region Proposal Bbox Regression: Src domain에서pretrained model training으로 예측된 Bbox를 ground_truth로 바로 사용가능. Detection오류는 Classification오류보다 훨씬 약하다 (Borji and Iranmanesh 2019).
이 Fine-Tuning작업 이후, pre-trained과 confidence threshold로생성된 pseudo label들은 update된 모델 θt를 사용해 Tgt Dataset의 평균 self-entropy, H(Dt)로 평가한다.
SED전략: 저점~고점까지 탐색, Self-Entropy가 첫 극솟값만나면 멈춤
∙ False Negative Simulation
적절한 confidence threshold값을 SED를 통해서 찾았지만, 여전히 문제점 존재: pseudo labels는 여전히 noisy Detection에서의 noisy label: FP, FN
여러 공개된 데이터셋에서 각 confidence구간에서 TP와 FP를 계산. 아래 그림처럼FP는 비교적 작은 비율만을 차지합니다.
놀랍게도, 저자가 신뢰 임계값을 거의 0에 가깝게 설정해도 반이상의 positive sample은 box하기를 어려워한다. 결과적으로 training 중 positive sample이 FN으로 작용하게 된다!
그렇기에 본 논문에서는 Label Denoising을 위한 FN mining에 초점을 맞춘다. 아래 시각화된 자료에서 알 수 있듯, 대부분의 FN은 작고 가려진 객체로 TN과 섞여서 positive로 다시 mining하기가 어렵다. → Domain discrepancy가 심화되는 이유.
Solution) TP를 이용한 FN Simulation: Data Augmentation detect된 positive를 어렵게 만듬 → detect하기 힘든 작고 가려지는 객체를 모방, 이를 simulate함. 추가적으로 FN의 악영향을 억제
이를 위해 저자는 Mosaic Augmentation(YOLOv4)을 FN Simulation에 선택. TP를 활용해 작거나 가려진 객체생성 시, TN에 영향을 주지 않기 때문.
CutMix(2019)를 개선한 방식, 4개의 train_img를 혼합, 일반상식내의 객체도 감지가능.
[Mosaic의 Main 2-step] Step 1: Random Scaling - Tgt Domain에서 detect된 단순객체를 사용→다양한 크기의 어려운 객체 모방
Step 2: Random Cutting - 일부 구조만 보이는 객체를 어느수준까지 모방가능
Mosaic data: {(x ̃, y ̃)}는 아래 식에 따라 Tgt domain data {(xA,yA),(xB,yB),(xC,yC),(xD,yD)}로 구성될 수 있다:
train_img: H×W. (u, v): 2차원 이동. {MA,MB,MC,MD} ∈ {0,1}s(W)×s(H): binary mask그룹 s(·)와 λ: Random Scaling & Cutting 인자.
일부 Mosaic img. 더 효과적인 거짓 음성 마이닝 또는 거짓 음성 시뮬레이션 방법이 더 많은 성능 향상을 가져올 수 있다고 저자는 생각.
FN Simulation이 SED와 함께 pseudo labeling생성을 위한 적절한 신뢰 임계값을 찾는과정을 위의 SFOD의 전체 파이프라인에서 볼 수 있다.
🧐 개인 생각 정리:
핵심: ∙ How to evaluate the quality of pseudo labels?
noisy label = label맞추기 어려움 = mean self-entropy⇧ → 깨끗한(= 신뢰할만한) 라벨을 얻으려면 entropy값이 낮아야함. → 즉, mean self entropy-noise degree그래프상에서 극솟값에 도달하면 라벨할당!
∙ How to generatethe quality of pseudo labels? training을 위해 P/N sample분리가 필요한데, 이를 위해 적절한 threshold값이 필요.
pretrained model parameter와 confidence threshold를 기반으로 하는 Faster R-CNN을 이용해 input x에 대해 pseudo label y와 신뢰도값 p를 출력으로 함을 의미.
pre-trained과 confidence threshold로생성된 pseudo label들은 update된 모델θt를 사용해 Tgt Dataset의 평균 self-entropy,H(Dt)로 평가
∙ False Negatives Simulation 신뢰 임계값을 거의 0에 가깝게 설정해도 반이상의 positive sample은 box하기를 어려워한다. (작거나 가려지는 물체때문!) 결과적으로 training 중positive sample이 FN으로 작용하게 된다! → Label Denoising을 위한 FN mining에 초점
FN Mining은 FN Simulation으로 이루어지며, FN Simulation에 Mosaic방식을 선택 FN Simulation이 SED와 함께 pseudo labeling생성을 위한 적절한 신뢰 임계값을 찾는다.
요약: 아무래도 과정이 제법 복잡하여 한번 요약을 해야할 것 같았다.
1. 기존과 달리 Src data-free를 위해서는 Labeled Src Data로 Faster R-CNN을 pre-trained시킴.
2. Src의 data를 직접 사용하는 대신, Src로 pre-train된 model에서 유일한 supervision signal을 학습 시 제공 (for. 신경망 최적화를 위해 Tgt Domain만 사용.)
3. FN Simulation과 SED를 같이 사용해 pseudo labeling 생성을 위한 적절한 confidence threshold, h를 찾는다. (SED: training을 위해 P/N분리가 필요하고, 이를 위해서는 신뢰할만한 pseudo label이 생성되어야하고, 이를 위해 신뢰할만한confidence threshold가 필요 = 낮은 entropy, 따라서 mean self-entropy를 이용, 저점~고점을 탐색하다 Self-Entropy가 첫 극솟값을 만나면 멈춘다. 이 전략을 SED라 부른다. 즉, confidence threshold로 생성된 pseudo label들을 update된 pretrained모델로 Tgt Dataset의 mean self-entropy를 평가한다: hopt = argmin H(Dt)이다.)
(FN Simulation: SED로 찾은 pseudo label은 여전히 noisy(FP, FN)label인데, 특히나 positive가 작거나 가려지는 물체로 인해 FN으로 작용하는 현상이 발생하여 이를 방지하기 위함이다.)
4. h와 pre-trained model parameter를 이용해 Faster R-CNN은 아래 두 값을 출력한다. cf) pseudo label y(x)= foreground클래스확률의 argmax값 cf) confidence p(x)= classification분기에서의 softmax값
Experiments
∙ Experimental Setup
‣ Datasets
5개의 open dataset이 사용됨:
‣ Implementation Details
공정한 비교를 위해 [Xu 2020]과 동일한 실험적 setting. ☞ [img pixel]: train-test모두 600 pixel로 resize ☞[batch_size]: 1 ☞[Model]: - (pre-trained): VGG16 with ImageNet & Src. Domain data 여기서만 사용. - (backbone): Faster R-CNN - (Detector): SGD(lr=0.001)
∙ Comaparison Results
그림 7.mean self-entropy와 해당하는 AP, mAP의 곡선은 4가지 Adaptation task에서 confidence threshold에 따라 변하는데, SED를 통해 최적의 mAP값에 근접할 수 있다.
[그림 7]: 저자의 실험은 4가지 Adaptation task에 대해 진행된다. 위 그림은 다양한 confidence threshold값 하에 Detection precision과 mean self-entropy의 곡선을 보여준다.
Real World는 다양한 현상이 존재: 각도, 해상도, 품질 및 유형 등 → Domain Shift 유발가능; 본실험에서는 두 real dataset 간의 새로운 Detection task Adaptation을 고려. ∙ [Src Domain]: KITTI ∙ [Tgt Domain]: Cityscapes
[표 1]: 유일한 공통 객체: 자동차 카테고리, 이에 대한 AP를 비교진행. ∙only SED: labeled Tgt validation set에서 찾은 이상적인 confidence threshold값이 없음에도 AP가 매우 이상적인 값에 근접. 자동차 Detection Acc측면에서도 많은 기존방법보다 좋음. ∙SED+Mosaic: AP: 43.6% →44.6% (DA-Detection을 0.7%만큼 넘어섬) FN Simulation이 FN noise label에 의한 악영향 완화.
‣ Adaptation from Synthetic to Real Images
자율 주행을 위한 annotating train data부족으로 synthetic dataset을 사용. ∙[Src Domain]: Sim10k ∙[Tgt Domain]:Cityscapes
여기선 Sim10k와 Cityscapes 양쪽에서 유일한 객체 카테고리인 주석이 달린 자동차의 성능만을 평가.
[표 2]: DA-Faster, Noise Labeling, AT-Faster과 비교, SFOD방법이 우수, 기존을 능가. (다만, 저자방식은 기존의 Src based보다 어려운 도전이 될 것.)
특히 더 많은 Src Data가 필요하지 않은 경우, DA-Faste, SW-Faster, CR-DA-DET 같은 소수의 접근 방식만이 이 적응 작업에 도전한다는 점에서 더욱 어렵다.
Domain Gap이 넓음에도 도메인 갭의 이렇게 넓은 범위에도 불구하고, 그림 7(그래프 그림)에서 볼 수 있듯, SOTA들이 다양한 confidence threshold에서 개선되는데, 특히 SED 또는 SED+Mosaic을 사용할 때 CR-DA-DET의 26.9%에서 mAP를 27.6% 및 29.0%로 개선할 수 있다.
‣Adaptation from Normal to Foggy Weather
Real-World적용에서 Detector는 다양한 날씨조건에서 사용될 수 있지만, 일일히 날씨조건에 맞는 많은 양의 data를 수집하고 label로 지정하는 것은 매우 어려운 일이다. ∙[Src Domain]:Cityscapes ∙[Tgt Domain]:Foggy Cityscapes
[표 4]: SFOD와 다른 UDA-OD방법들(DA-Faster, SW-Faster, DA-Detection, CR-DA-DET, AT-Faster) 간의 비교 기준인(Src only) 22.3%의 mAP에 비해, label noise로 훈련된 SED+Mosaic는 pseudo label이더라도 33.5%로 향상될 수 있다.
더 나아가 DA-Detection과 같은 Defogging방법을 사용으로 Tgt Domain img품질개선 후, 여기서 SFOD성능열 연구했는데, 아래 표에서 볼 수 있듯, 안개 제거 후에 SFOD 약 3%정도 성능향상이 이뤄졌다.. 즉, 안개가 가짜 라벨의 라벨 노이즈를 악화시켜 감지 성능에 영향을 미침을 알 수 있다.
SFOD에서는 Src Domain의 pre-trained model로 얻은 Tgt Domain pseudo label로 training과정 중 noisy label로 인해 방해받을 수 있는데, 아래 그림을 보자.
SED를 직접 사용해 pseudo label 생성을 위한 confidence threshold를 찾거나 추가적으로 FN-Simulation에 결합 시, noisy label로 인한 악효과억제로 더 많은 객체탐지가 가능하다.
🧐 개인 생각 정리:
핵심: 5개의 Dataset이 활용됨: KITTI, Sim10k, Cityscapes, BDD100k, Foggy Cityscapes
[Src → Tgt] ① KITTI → Cityscapes : for 새로운 Domain ② Sim10k → Cityscapes: for train data부족상황 가정. ③ Cityscapes→ BDD10k: for data양의 차이(매우적음 to 매우많음) ④ Cityscapes→ FoggyCityscapes: for noisy Tgt Domain
Conclusion
UDA-OD를 위한 새로운 학습 패러다임인SFOD를 제안. 이는Src Data를 직접사용하는 대신, Src Domain에서사전훈련된 모델만을 활용, Supervision signal을 제공하는 것이 핵심이다.
이는 noise가 있는 Label로 학습하는 관점에서 해결가능하다 보는데, 많은 Src data기반방법을 넘기도 하지만 Noise Label(FP,FN)을 완전히 제거하는 것에 대해 Unsupervised 방식이 매우 어렵다는점을 인정해야한다.
[논문 정리]
Abstract:
핵심:
Src Domain에서 pretrained만 사용, supervision signal을 제공 → 즉, Tgt으로 pseudo labeling되어 noise가 발생할 수 밖에 없는 구조.
문제점 1: Src, Tgt에 대한 label이 모두 없기에 pseudo label에 대한 평가가 어려움 →SED라는 평가지표 도입❗️
문제점 2: 다만, clean label얻기는 어려움---noise에서 FN, FP가 지배적 →FN Mining, Data Augmentation(e.g. Mosaic)으로 이를 개선❗️
SED배경:적절한 신뢰도임계값으로 Bbox를 직접 P/N을 부분 filtering해야하고, 이를 위해 신뢰도 임계값 평가를 위한 supervision metric이 필요. SED역할:예측 불확실성을 Self-Entropy로 계산, 신뢰도임계값 탐색 및생성된 가상 라벨을 사용해 pre-trained model을 fine-tuning하고훈련 이후 데이터셋의 Self-Entropy를 평가
FN Mining배경:생성된 pseudo label은 FP와 FN이 noisy label이 주를 이룸. FN Mining역할:Mosaic와 같은 데이터 증강으로 FN완화.
[요약]: Step 1. pseudo Label 생성 신뢰도가 높은 소수의 sample(= Tgt)으로는 좋은 성능을 달성할 수 없다. Sol)적절한 신뢰도임계값으로 Bbox를 직접 P/N을 부분 filtering하는 것
이를 위해 적절한 supervision metric이 필요 →SED:Self-Entropy Descent❗️ 이렇게 평가된 예측불확실성으로 신뢰도임계값 탐색→ pseudo label 생성에 도입.
Labeled Src Data로 Faster R-CNN을 pre-train시킨 이후 이를 Unlabeled Tgt Data에 fine-tuning시켜 pseudo label생성에 동시에 도입.
Step 2.생성된pseudo Label의 FN완화 생성된 pseudo label은 FP, FN등이 noisy label이 주를 이룬다. 이를 해결하기위해 FN Mining, Mosaic Augmentation을 이용.
pre-trained과 confidence threshold로생성된 pseudo label들은 update된 모델θt를 사용해 Tgt Dataset의 평균 self-entropy,H(Dt)로 평가
∙ False Negatives Simulation 신뢰 임계값을 거의 0에 가깝게 설정해도반이상의 positive sample은 box하기를 어려워한다. (작거나 가려지는 물체때문!) 결과적으로 training 중positive sample이 FN으로 작용하게 된다! → Label Denoising을 위한 FN mining에 초점
FN Mining은 FN Simulation으로 이루어지며, FN Simulation에 Mosaic방식을 선택 FN Simulation이 SED와 함께 pseudo labeling생성을 위한 적절한 신뢰 임계값을 찾는다.
요약:아무래도 과정이 제법 복잡하여 한번 요약을 해야할 것 같았다.
1.기존과 달리 Src data-free를 위해서는 Labeled Src Data로 Faster R-CNN을 pre-trained시킴.
2.Src의 data를 직접 사용하는 대신, Src로 pre-train된 model에서 유일한 supervision signal을 학습 시 제공 (for. 신경망 최적화를 위해 Tgt Domain만 사용.)
3.FN Simulation과 SED를 같이 사용해 pseudo labeling 생성을 위한 적절한 confidence threshold, h를 찾는다. (SED:training을 위해 P/N분리가 필요하고, 이를 위해서는 신뢰할만한 pseudo label이 생성되어야하고, 이를 위해 신뢰할만한confidence threshold가 필요 = 낮은 entropy, 따라서 mean self-entropy를 이용, 저점~고점을 탐색하다 Self-Entropy가 첫 극솟값을 만나면 멈춘다. 이 전략을 SED라 부른다. 즉, confidence threshold로 생성된 pseudo label들을 update된 pretrained모델로 Tgt Dataset의 mean self-entropy를 평가한다: hopt= argmin H(Dt)이다.)
(FN Simulation: SED로 찾은 pseudo label은 여전히 noisy(FP, FN)label인데, 특히나 positive가 작거나 가려지는 물체로 인해 FN으로 작용하는 현상이 발생하여 이를 방지하기 위함이다.)
4.h와 pre-trained model parameter를 이용해 Faster R-CNN은 아래 두 값을 출력한다. cf) pseudo labely(x)= foreground클래스확률의 argmax값 cf) confidencep(x)= classification분기에서의 softmax값
Experiments
핵심: 5개의 Dataset이 활용됨: KITTI, Sim10k, Cityscapes, BDD100k, Foggy Cityscapes
[Src → Tgt] ① KITTI → Cityscapes :for 새로운 Domain ② Sim10k → Cityscapes:for train data부족상황 가정. ③Cityscapes→ BDD10k:for data양의 차이(매우적음 to 매우많음) ④Cityscapes→ FoggyCityscapes:for noisy Tgt Domain
논문 review
🤔 내 생각
👍 장점:
∙ Unlabeled Domain Adaptation을 classification에만 적용하던 것을 Detection에도 적용했다는 점.
∙발생하는 2가지 문제점을 잘 파악하고 이에 적절한 해결책인 SED와 FN mining을 도입.
∙ Src data free하다는 점에서 data에 의한 영향도 줄어들고, real world에 대한 generalization이 좀 더 좋아보임.
👎 단점 + 🔍 개선할 점:
∙아무래도 Unsupervised방식이기에 근본적인 한계(pseudo label의 noise완전제거)는 매우 어렵다는 단점.
∙ confidence threshold search 시, mean self-entropy 기준 탐색을 하는 것 같고, 이에 대한 설명으로 낮은 값부터 높은 값까지 탐색한다 하였으니 greedy나 순차탐색이라는 느낌이 들었음. 순차탐색은 O(n)으로 다소 빠른편에 속함. 다만 BST같은 O(log n)을 활용한다면 Real World에서 더 탐지를 빨리 할 수 있지 않을까?
💻 코드구현가능성:
∙pre-trained model은 VGG16이기에 쉽게 구현가능 + Loss function도 마찬가지.(⭐️)
∙SED의 경우, mean self-entropy정도는 괜찮을 것 같고 Search도 Greedy-Search알고리즘을 사용하면 될 것 같으나 이를 Confidence score를 받아온다는 개념이 될 지는 모르겠음.(Faster R-CNN 코드를 뜯어봐야 좀 더 알 것 같다.)(⭐️⭐️⭐️)
∙FN Simulation의 경우, Mosic Augmentation은 이미 많은 github소스가 존재.(⭐️⭐️⭐️)
∙Faster R-CNN의 경우, 구현도 처음이고 아무래도 Detection model자체가 구현난이도가 존재하기에 다소 어려울 것 같음.(⭐️⭐️⭐️~⭐️⭐️⭐️⭐️)
∙이런 부분부분의 구현은 사실 이미 선행된 오픈소스 코드들이 많이 존재, 딱히 문제는 없어보이나 전반적인 main idea기반의 전체 모델 파이프라인 구현의 경우, 좀 어려워보인다. (⭐️⭐️⭐️⭐️⭐️⭐️)
1. 논문 review: A Free Lunch for Unsupervised Domain Adaptive Object Detection without Source Data ∙ Source free Domain Adaptive Object Detection (정리는 완료, 톺아보기 필요❗️) 아 그리고 pseudo labeling in FN Simulation에서 Detection에서 TN얘기가 나왔다. Detection에서는 TN이 안쓰인다고 알고있어서 이에 대해서도 좀 알아봐야한다.
∙ Experiments (2번째로 많음 - 목)
2. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites
1. 논문 review: A Free Lunch for Unsupervised Domain Adaptive Object Detection without Source Data ∙ 논문 정리 ∙ 논문 review ∙ PPT만들기
2. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites
2. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites
그냥 7시에 알람 맞춰버렸다 ㅋㅋㅋ 그래도 밥은 맛있게 야무지게 먹고왔다 히히🤣 출퇴근은 셔틀버스가 역쉬 제일 빠른거 같다. (Shortest Path Algorithm?)
어제 폭설❄️이 와서 그런지 버스가 생각보다 일찍? 왔고 생각보다 늦게 도착했다.
📖 공부! (8:30-12:00)
셔틀버스 타고 오는게 일찍공부할 수 있어서 이득인거 같다. 이제 남은 할일은 논문 review와 Deep Learning: Chapter 2 이다.
먼저 Chapter 2.4먼저 다 읽었는데 생각보다 흥미로웠던 내용이었다.
변수에는 그에 맞는 Distribution이 있고, 한 변수에서 다른 변수로 비선형변환함수를 이용해 어떻게 변환을 어떻게 하는지, (합성함수방식) 이때, 변환은 각 변수의 mode가 서로 정확하게 맞지는 않는다는점. 이 단변량 분포를 다변량분포에 어떻게 적용할 것인가? → 분포에 절댓값을 씌운 det J를 곱해주는 방법.
J; Jacobian Matrix 역할: 공간의 일부를 확장하고 다른 부분을 압축하는 것 (= 해당 변수의 변화량이 다른 변수에 얼마나 영향을 주는지를 의미; 이를 모든 영역에 대해 고려하면 전체 공간이 어떻게 변화하는지 알 수 있음)
대충 요약하면 이런 뉘앙스다.
이번 DA의 핵심이 서로 다른 Distribution간의 적용에 대한 내용이고
책 내용에서도 나왔지만 Chapter 18. 즉, Image Generation Model에서
Normalizing flow라는 생성모델클래스를 다룰때 중요한 역할을 한다 적혀있었다는 점에서
대단히 도움이 많이 되었던 내용이라 생각한다.
밥먹을 때 까지 1시간이나 남았기에 짧은 Related Works를 모두 다 읽었다.
Abstraction과 Introduction에서 조금씩 소개된 간단한 내용이었다.
🍚 밥이다 밥! (12:30~13:00)
마찬가지로 동편제(한식)
불향🔥제육?이 나왔는데 사진 지금보니 진짜 많이도 담았다ㅋㅋㅋ
(살뺀다고 식이조절하고 있는데 이거땜시 바로 돼지🐷될듯ㅋㅋㅋ
아니 그리고 불향이라면서... 불향 왜 냄새만 남...??)
📖 공부! (13:30-18:00)
논문 review 계속 진행. 오늘은 Relative Works파트와 SFOD파트를 읽었다.
2. 주중에 할 것: Deep Learning 2024(Bishop)-Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites
1. 논문 List마저 읽기 ∙ Multi-Granularity Alignment Domain Adaptation for Object Detection (CVPR 2022) ∙ Cross-domain adaptive teacher for object detection (CVPR 2022) ∙ ConfMix: Unsupervised Domain Adaptation for Object Detection via Confidence-based Mixing (WACV 2023) ∙ Object detection based on semi-supervised domain adaptation for imbalanced domain resources (Machine Vision and Applications 31 2020)
2. Deep Learning 2024(Bishop): Chapter 2 읽고 공부하기 ∙ 2.1 The Rule of Probability ∙ 2.2 Probability Densities ∙ 2.3 The Gaussian Distribution ∙ 2.4 Transformation of Densities ∙ 2.5 Information Theory ∙ 2.6. Bayesian Probabilites
6시 알람이 지독하게도 날 깨워서 겨우겨우 셔틀버스 시간에 맞춰 일어났다... 그래도 밥은 맛있게 야무지게 먹고왔다 히히🤣 출퇴근은 셔틀버스가 역쉬 제일 빠른거 같다. (Shortest Path Algorithm?)
📖 공부! (8:30-12:00)
셔틀버스 운행하는 곳이 내 자취방 근처라는 것을 알고? 일찍와서 공부를 시작할 수 있었다. 지난주에 미리 정리한 논문 리스트에 대한 Abstract와 Conclusion에 대해 정리해 보았다. (남은 논문 3편 정리완료. 8:30~10:10) https://chan4im.tistory.com/220