티스토리 뷰
https://github.com/facebookresearch/detr
요새(20231202 기준) COCO 데이터셋에서 SOTA 모델들은 거의다 DETR로 부터 파생된 방법들을 기저로 두고 설계되어있다.
그리고 이런 DETR 류 논문들을 읽어보면 대부분 아 우리 모델은 적은 에폭으로도 금방 수렴해요! 하며 Naive DETR 과 그후에 연구된 개선된 DETR방법들에 대해 동일 에폭 설정으로 보다 높은 성능을 달성하는 것을 보이며 우수성을 주장한다. 그런면서, 왜 DETR의 수렴속도가 느린지 이유를 열거한다.
그런데...! 며칠전에 실험해보다가 발견한 게 있다. DETR의 Gradient Clipping 의 max_norm 값이 너무 작게 설정(0.1)되어 있던것이다.
https://github.com/facebookresearch/detr/blob/3af9fa878e73b6894ce3596450a8d9b89d918ca9/main.py#L28
나는 DETR 갖고 실험한 것은 아니지만 내 모델(심지어 다른 Task 수행하는 모델임)갖고 여러 max_norm 값에 대해 튜닝을 해보았을때, 0.1 과 1. 은 Validation Set에 대한 성능이 그 이상의 max_norm 값을 설정했을때의 성능에 비해 굉장히 낮게 기록됐다. 그래서 한 번 구글에 DETR Gradient Clipping 을 검색해보니 역시나 관련 이슈글이 하나 있었다.
https://github.com/facebookresearch/detr/issues/159
데이터셋, 모델, 손실함수 등에 따라 다르겠지만 처음 시도해볼만한 max norm 값으로는 10.0 정도가 적합한 거 같다.
아래는 내가 실험했을때의 결과이다. 모델은 DETR도 아니고 Task도 Detection이 아니니 이 점은 참고해야한다.
max_norm | acc |
0.1 | 41.33 |
1.0 | 78.50 |
5.0 | 85.55 |
10.0 | 85.77 |
50.0 | 85.77 |
'Deep Learning' 카테고리의 다른 글
Apple이 Vision Transformer 를 자사의 NPU에서 효율적으로 구동시키기 위해 시도한 것들 (0) | 2024.01.22 |
---|---|
[Deep Learning] 관심이 생긴 Detection 모델 Plain-DETR, DETR Does Not Need Multi-Scale or Locality Design (0) | 2023.12.06 |
Wandb 강제 종료(Ctrl+C) 후 잦은 에러 메시지 출력 문제 해결법 (2) | 2023.11.08 |
[Deep Learning] 20231105 학습시 배치 사이즈에 관하여... (0) | 2023.11.05 |
[ONNXRuntime] python ONNXRuntime gpu 지정 방법 (0) | 2023.10.20 |
- Total
- Today
- Yesterday
- 인공지능을 위한 선형대수
- 백준 11053
- Lowest Common Ancestor
- 가장 긴 증가하는 부분 수열
- 이분탐색
- 백준 11437
- PyCharm
- ㅂ
- MOT
- LCA
- 문제집
- 위상 정렬 알고리즘
- 자료구조
- 순열
- 백준 1766
- 단축키
- 백준
- 백트래킹
- FairMOT
- cosine
- 파이참
- C++ Deploy
- 조합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |