티스토리 뷰

https://github.com/facebookresearch/detr

 

GitHub - facebookresearch/detr: End-to-End Object Detection with Transformers

End-to-End Object Detection with Transformers. Contribute to facebookresearch/detr development by creating an account on GitHub.

github.com

 

요새(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

 

Default gradient clipping with max_norm=0.1 · Issue #159 · facebookresearch/detr

Great repository and thanks for all the hard work! I have been experimenting with the panoptic network, i.e. training it from scratch using the ResNet50 backbone. During those experiments, I have o...

github.com

 

 

데이터셋, 모델, 손실함수 등에 따라 다르겠지만 처음 시도해볼만한 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

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함