지난 포스팅에 이어서 기술된 포스팅이다.
자 얘내들이 이번엔 두 번째 발견을 하셨다는데...이게 논문에 신기하다고 쓰여있는데 이거 진짜 신기하다. (기존의 통념이 날라가는 것만 같은....)
이번엔 원래 가지고 있는 학습 데이터도 조금만 학습해보고 그렇게 나온 결과들을 기술한다.
우리가 기존에 가지고 있는 통념이라면 Deep Network를 학습하려면 아무래도 Vanishing gradient가 발생하여 똑바로 학습이 안되고 이를 해결하기 위해 다양한 기법들이 있지만 가장 단순한 해결책으로 데이터를 무진장 많이 확보하여 학습하자가 가장 대표적인 방법이다. 이러면 Overfitting도 좀 억제되고 feature representation 자체가 좀 더 rich해진다랄까? 뭐 그렇게 되겠지가 있는데...
앞으로 나올 실험결과들은 좀 이러한 생각들을 많이 깨부셔주는 결과를 보여준다.
기존의 hyper-parameter를 적용하면 위 그림과 같이 Overfitting이 발생하게 된다. 그리고 심지어 저 결과는 ImageNet pre-training이 되었음에도 저런 현상이 일어난다.
오? 드디어 이 논문이 주장하는 내용과의 첫 번째 반례이구나!! 싶은데...이게 꼭 그렇게 봐서는 안된다.
우리가 가지고 있던 생각이 Overfitting을 피하려면 데이터를 무쟈게 많이 확보하자가 가장 단순한 아이디어인데 저 위의 결과는 ImageNet이란 지구상에서 공개된 것중 가장 방대한 데이터셋으로 학습을 미리 해놨음에도 불구하고 그보다 훨씬 조그만 COCO 데이터셋 튜닝하는데 Overfitting을 못막는다 는 것으로 해석할 수 있다.
이것은 ImageNet이 Overfitting을 항상 억제한다? 라는 가지기 쉬운 단순한 생각을 무너뜨리는 결과이다. 또한 그냥 무식하게 그저 불필요하다 싶을 정도로 데이터의 양이 중요한건 아니구나란 결론도 가볼 수 있지 않나 싶다! (이건 논란의 여지가 있지만 뒤에 discussion에서 좀 더 자세히 다룬다.)
그래서 본 실험에서는 hyper-parameter를 애초에 바꾸어서 실험을 했다. (pre-train과 random init 모두에 대상임) 원래 베이스라인에서 안하던 scale augmentation을 첨가하였으며, 초기 러닝레이트는 0.04 (vs. 0.02)로 바꾸고 마지막으로 decay factor는 0.02 (vs. 0.1)로 바꾸어서 실험을 하였다.
그랬더니 결과가...그냥 기존에 봐왔던 대로네? 데이터를 조금만 학습시켰음에도 불구하고 오래 학습시키면 결국 ImageNet 기반으로 pre-training하나 그냥 첨부터 학습시키나 결국 똑같은 결과를 얻게 된다...
다만 한가지 오해하면 안될 건 있다. 이러면 '데이터 좀만 있어도 상관 없겠네?' 라는 결론은 절대 아니다. 다만 우리가 원하는 도메인에 대한 데이터 (여기선 COCO)가 동일할 때, ImageNet pre-training이 불필요? 하다라는 결론이지 데이터를 많이 확보하나 안하나 성능은 비슷하다는 이야기는 아니다.
보다시피 최대 bbox AP가 36.3으로 형성되는데 기존에 COCO 전체 학습셋으로 실험했을 땐 그래도 AP가 40이상은 나와주었다. (명심하자! 데이터의 양은 일단 훌륭한 분류성능을 위해 중요하다!!)
단지 어떤 데이터의 양을 가지고 있든간에 ImageNet pre-training 이란 녀석은 1)오버피팅을 해결해 주지도 않고 2)다른 도메인에 적용될 때 더 나은 분류성능을 무조건적으로 제공해 주지도 않는다는 이야기 이다!!!!!!
뭐 당연한 이야기지만 결국 Imagenet pre-train하나 안하나 무의미하단 결론에 도달한다.
그렇다고 데이터의 양이 부족하다?란 결론은 아니다. AP가 35,000장 가지고 학습한거 보다 더 떨어졌다.
대신 이 떨어진게 ImageNet으로 pre-train한 녀석이랑 같이 떨어졌단게 키포인트이다. 다시말하지만 이럴거면 ImageNet 아무 쓰잘떽 없네? 가 결론이다!
Figure 8만 보면 이건 뭐... training loss가 pre-training과 비스무리 하게 잘 줄어든다. 근데 얘내들이 갑자기 왜 AP를 안보여주고 training loss를 보여주었으며, 섹션 제목도 갑자기 breakdown이니 왜 그러겠는가.
실제 1천장 가지고 실험을 해보니 아무리 최적화해도 5.4AP밖에 안나왔기 때문이다. (ImageNet 기반 pre-training은 9.9AP가 나옴)
그래서 좀만 데이터를 늘려서 3,500장 가지고 해봤는데 이것도 16AP가 나온 pre-training에 비해 9.3AP밖에 나오지 못했다.
결론적으로 ImageNet이 아예 무용인건 또 아니다. 너무 타겟 데이터가 심각히 부족하면 ImageNet이 도움이 되긴 한다는 의미이다. 다음 실험인 PASCAL VOC에 대해서도 실험 결과를 보겠다.
<Breakdown regime: PASCAL VOC.>
이번 섹션의 마지막 내용이다. 뭐 제목만 봤을땐 PASCAL VOC에서도 잘 안되나 보지?
나도 파스칼 데이터 많이 써봤지만 이건 데이터 자체가 애초에 좀 적다. 그래서 그런지 결과도 역시 후지다.
ImageNet으로 pre-training 하고 베이스라인으로 실험하면 18,000번 학습만에 82.7 mAP에 도달한 반면, from-scratch방법은 144,000번이나 학습을 까버렸음에도 불구하고 77.6mAP까지밖에 도달치 못했다.
논문에서 파스칼이 COCO에 비해 이미지 장수도 적고 인스턴스 개수도 적어서 데이터 자체가 불충분하기 때문에 그렇다고 나름 분석을 하는데.
뭐 여기까지 결론만 놓고 봤을때는
어느정도 데이터가 확보된 상태라면 굳이 ImageNet pre-training이 별 효력이 없으며, 새로운 딥러닝 모델을 내가 설계해서 '아 ImageNet으로 pre-train해야 성능 어느정도 확보할텐데?' 라는 불안한 생각은 할 필요가 없다는 것이다.
그냥 오래학습하고 적절한 normalization정도로 ImageNet정도는 가뿐히 넘는다는 것이다. 물론 학습데이터가 적당히 확보되었을때! (이 적당히는 어느정도인지는 모르겠다. 논문에 나온것보다 더욱 다양한 네트워크/각종테크닉들의 실험과 다양한 타겟환경에 대해 실험이 필요하다. 적어도 코코는 만장만 있다면 이미지넷 쓸데없는건 발견)
근데 아직 Discussion이 남았는데 내가 이렇게 결론 때리면 안되지... 마저 Discussion에서 어떻게 기술했는지 더 살펴보자!
정도이다. 난 5번이 참 의외의 발견이라고 본다. ImageNet으로 그렇게 미리 돌려놨는데도 COCO정도를 Overfitting에서 구원해주지 못하다니 말이다.
다음은 몇가지 나올 수 있는 ImageNet과 관련된 예상 질문들에 대한 저자들의 생각들에 대해 서술한다.
그래도 예전에는 ImageNet pre-train을 안하면 원하는 성능치에 아예 도달을 못할거란 생각이 지배적이었는데 이러한 통념을 날려주는 시원한 이야기 이다.
ImageNet이 쉽게 대규모 디비를 사용하게끔 그런 장을 제공했으니 언제 우리가 이런 양질의 디비를 사용했겠으며 이거가지고 여러가지 작업을 시도해 볼 수 있었으니 컴퓨터 비전 연구가 더 빠르게 발전할 수 있었다는 이야기이다.
수렴도 빨리 되니까 역시 또 도움되었다. 그리고 나름대로 각종 최적화 문제들을 탈피하는 데에 도움이 되었다는 이야기.
근데 그냥 과거의 이야기들로만 구성되어있다...이젠...ㅠ_ㅠ
타겟도메인의 데이터는 빅데이터가 필요하다는 이야기이다.
ImageNet이 무용하다고 빅데이터가 전부 의미 없단 이야기가 아니다! 우리에게 진짜 더 중요한 데이터가 필요하다는 이야기이지.
하지만 어쨋든간에 universal representation은 매우 중요한 목표임을 저자들은 밝힌다.
그리고 사실 universal representation이 그저 데이터의 양이 많다고 ImageNet으로부터 얻은 representation이 universal하다는 것도 그저 우리 추측일 뿐이다.
그리고 결과적으로 random initialization일때 더 좋은 결과가 나오기도 하니까...
이 내용은 좀 더 연구해볼 필요가 있겠다. universal representation을 어떻게 바라보아야 하며 범위는 어떻게 되고, 대표적인 사례를 뭐로 할 수 있는지 등등
사실 논문에서도 딱히 명확하게 이야기 해주진 않는다!
여기까지가 요 논문의 정리 글이다.
4개로 쪼개서 쓰긴 했는데 사실 써놓고 보니까 그럴거 까진 없었다.
그저 타겟 도메인의 양이 충분하고 시간도 어느정도 확보되있다는 가정만 있다면 ImageNet이 굳이 쓰잘떽 없다란 이야기이다.
더 생각나는건 특히 Localization할때 더 쓰잘떽 없단 정도?
아무튼 너무 ImageNet에 기대지말고 연구를 해도 된다는 뭐 좋은 증거자료같은 논문이다. (레퍼가 많이 달릴 논문이겠네 ㅎ)
5. Results and Analysis
5.2 Training from scratch with less data
자 얘내들이 이번엔 두 번째 발견을 하셨다는데...이게 논문에 신기하다고 쓰여있는데 이거 진짜 신기하다. (기존의 통념이 날라가는 것만 같은....)
이번엔 원래 가지고 있는 학습 데이터도 조금만 학습해보고 그렇게 나온 결과들을 기술한다.
우리가 기존에 가지고 있는 통념이라면 Deep Network를 학습하려면 아무래도 Vanishing gradient가 발생하여 똑바로 학습이 안되고 이를 해결하기 위해 다양한 기법들이 있지만 가장 단순한 해결책으로 데이터를 무진장 많이 확보하여 학습하자가 가장 대표적인 방법이다. 이러면 Overfitting도 좀 억제되고 feature representation 자체가 좀 더 rich해진다랄까? 뭐 그렇게 되겠지가 있는데...
앞으로 나올 실험결과들은 좀 이러한 생각들을 많이 깨부셔주는 결과를 보여준다.
<35k COCO training images.>
일단 기존의 COCO의 트레이닝 셋에서 약 1/3정도인 35,000장만 써서 학습을 해본 결과를 기술한다. 근데 그렇다고 원래의 Hyper-parameters를 사용해서 좋은 결과를 얻는 것은 아니다.기존의 hyper-parameter를 적용하면 위 그림과 같이 Overfitting이 발생하게 된다. 그리고 심지어 저 결과는 ImageNet pre-training이 되었음에도 저런 현상이 일어난다.
오? 드디어 이 논문이 주장하는 내용과의 첫 번째 반례이구나!! 싶은데...이게 꼭 그렇게 봐서는 안된다.
우리가 가지고 있던 생각이 Overfitting을 피하려면 데이터를 무쟈게 많이 확보하자가 가장 단순한 아이디어인데 저 위의 결과는 ImageNet이란 지구상에서 공개된 것중 가장 방대한 데이터셋으로 학습을 미리 해놨음에도 불구하고 그보다 훨씬 조그만 COCO 데이터셋 튜닝하는데 Overfitting을 못막는다 는 것으로 해석할 수 있다.
이것은 ImageNet이 Overfitting을 항상 억제한다? 라는 가지기 쉬운 단순한 생각을 무너뜨리는 결과이다. 또한 그냥 무식하게 그저 불필요하다 싶을 정도로 데이터의 양이 중요한건 아니구나란 결론도 가볼 수 있지 않나 싶다! (이건 논란의 여지가 있지만 뒤에 discussion에서 좀 더 자세히 다룬다.)
그래서 본 실험에서는 hyper-parameter를 애초에 바꾸어서 실험을 했다. (pre-train과 random init 모두에 대상임) 원래 베이스라인에서 안하던 scale augmentation을 첨가하였으며, 초기 러닝레이트는 0.04 (vs. 0.02)로 바꾸고 마지막으로 decay factor는 0.02 (vs. 0.1)로 바꾸어서 실험을 하였다.
그랬더니 결과가...그냥 기존에 봐왔던 대로네? 데이터를 조금만 학습시켰음에도 불구하고 오래 학습시키면 결국 ImageNet 기반으로 pre-training하나 그냥 첨부터 학습시키나 결국 똑같은 결과를 얻게 된다...
다만 한가지 오해하면 안될 건 있다. 이러면 '데이터 좀만 있어도 상관 없겠네?' 라는 결론은 절대 아니다. 다만 우리가 원하는 도메인에 대한 데이터 (여기선 COCO)가 동일할 때, ImageNet pre-training이 불필요? 하다라는 결론이지 데이터를 많이 확보하나 안하나 성능은 비슷하다는 이야기는 아니다.
보다시피 최대 bbox AP가 36.3으로 형성되는데 기존에 COCO 전체 학습셋으로 실험했을 땐 그래도 AP가 40이상은 나와주었다. (명심하자! 데이터의 양은 일단 훌륭한 분류성능을 위해 중요하다!!)
단지 어떤 데이터의 양을 가지고 있든간에 ImageNet pre-training 이란 녀석은 1)오버피팅을 해결해 주지도 않고 2)다른 도메인에 적용될 때 더 나은 분류성능을 무조건적으로 제공해 주지도 않는다는 이야기 이다!!!!!!
<10k COCO training images.>
뭐 계속 같은 얘기인데 이번엔 꼴랑 만장만 학습시킨 것이다.뭐 당연한 이야기지만 결국 Imagenet pre-train하나 안하나 무의미하단 결론에 도달한다.
그렇다고 데이터의 양이 부족하다?란 결론은 아니다. AP가 35,000장 가지고 학습한거 보다 더 떨어졌다.
![]() |
| pre-train한 게 26.0, 첨부터 학습한게 25.9... 그냥 오래학습해도 저정도는 간다는 계속 같은 이야기. |
대신 이 떨어진게 ImageNet으로 pre-train한 녀석이랑 같이 떨어졌단게 키포인트이다. 다시말하지만 이럴거면 ImageNet 아무 쓰잘떽 없네? 가 결론이다!
<Breakdown regime: 1k COCO training images.>
이번에는 데이터 양을 더 줄였다... 고작 1천장...![]() |
| 어쩐일로 이분들이 Training loss를 보여주었을까나..?? loss값 자체만 보면 수렴은 잘되긴 하는데... |
Figure 8만 보면 이건 뭐... training loss가 pre-training과 비스무리 하게 잘 줄어든다. 근데 얘내들이 갑자기 왜 AP를 안보여주고 training loss를 보여주었으며, 섹션 제목도 갑자기 breakdown이니 왜 그러겠는가.
실제 1천장 가지고 실험을 해보니 아무리 최적화해도 5.4AP밖에 안나왔기 때문이다. (ImageNet 기반 pre-training은 9.9AP가 나옴)
그래서 좀만 데이터를 늘려서 3,500장 가지고 해봤는데 이것도 16AP가 나온 pre-training에 비해 9.3AP밖에 나오지 못했다.
결론적으로 ImageNet이 아예 무용인건 또 아니다. 너무 타겟 데이터가 심각히 부족하면 ImageNet이 도움이 되긴 한다는 의미이다. 다음 실험인 PASCAL VOC에 대해서도 실험 결과를 보겠다.
<Breakdown regime: PASCAL VOC.>
이번 섹션의 마지막 내용이다. 뭐 제목만 봤을땐 PASCAL VOC에서도 잘 안되나 보지?
나도 파스칼 데이터 많이 써봤지만 이건 데이터 자체가 애초에 좀 적다. 그래서 그런지 결과도 역시 후지다.
ImageNet으로 pre-training 하고 베이스라인으로 실험하면 18,000번 학습만에 82.7 mAP에 도달한 반면, from-scratch방법은 144,000번이나 학습을 까버렸음에도 불구하고 77.6mAP까지밖에 도달치 못했다.
논문에서 파스칼이 COCO에 비해 이미지 장수도 적고 인스턴스 개수도 적어서 데이터 자체가 불충분하기 때문에 그렇다고 나름 분석을 하는데.
뭐 여기까지 결론만 놓고 봤을때는
어느정도 데이터가 확보된 상태라면 굳이 ImageNet pre-training이 별 효력이 없으며, 새로운 딥러닝 모델을 내가 설계해서 '아 ImageNet으로 pre-train해야 성능 어느정도 확보할텐데?' 라는 불안한 생각은 할 필요가 없다는 것이다.
그냥 오래학습하고 적절한 normalization정도로 ImageNet정도는 가뿐히 넘는다는 것이다. 물론 학습데이터가 적당히 확보되었을때! (이 적당히는 어느정도인지는 모르겠다. 논문에 나온것보다 더욱 다양한 네트워크/각종테크닉들의 실험과 다양한 타겟환경에 대해 실험이 필요하다. 적어도 코코는 만장만 있다면 이미지넷 쓸데없는건 발견)
근데 아직 Discussion이 남았는데 내가 이렇게 결론 때리면 안되지... 마저 Discussion에서 어떻게 기술했는지 더 살펴보자!
6. Discussions
우리 저자님들은 크게 6가지로 정리해서 주된 발견을 하셨다는데- 네트워크 바꾸지 않아도 첨부터 학습하는거 가능하다
- 첨부터 학습하려면 대신 오랫동안 학습하자
- 첨부터 학습하는게 ImageNet보다 결코 나쁘지 않은 결과를 배출하는데 대신 COCO기준 만장이상 학습할때만
- ImageNet pre-training은 수렴속도를 좀 빨리 가져가는 정도의 용도...
- 너무 데이터 양이 적지만 않다면야, ImageNet이 overfitting을 해결해 주진 않음
- ImageNet pre-training은 classification보다 localization에서 더 쓰잘떽 없음
정도이다. 난 5번이 참 의외의 발견이라고 본다. ImageNet으로 그렇게 미리 돌려놨는데도 COCO정도를 Overfitting에서 구원해주지 못하다니 말이다.
다음은 몇가지 나올 수 있는 ImageNet과 관련된 예상 질문들에 대한 저자들의 생각들에 대해 서술한다.
<Is ImageNet pre-training necessary?> -> No.
ImageNet pre-training은 필요조건은 아니다는 결론이다. 물론 전제조건은 충분한 타겟데이터와 computation의 확보이다.그래도 예전에는 ImageNet pre-train을 안하면 원하는 성능치에 아예 도달을 못할거란 생각이 지배적이었는데 이러한 통념을 날려주는 시원한 이야기 이다.
<Is ImageNet helpful?> -> Yes.
약간 너무 필요없다고 해서 미안한건지 그런 느낌의 답이다.ImageNet이 쉽게 대규모 디비를 사용하게끔 그런 장을 제공했으니 언제 우리가 이런 양질의 디비를 사용했겠으며 이거가지고 여러가지 작업을 시도해 볼 수 있었으니 컴퓨터 비전 연구가 더 빠르게 발전할 수 있었다는 이야기이다.
수렴도 빨리 되니까 역시 또 도움되었다. 그리고 나름대로 각종 최적화 문제들을 탈피하는 데에 도움이 되었다는 이야기.
근데 그냥 과거의 이야기들로만 구성되어있다...이젠...ㅠ_ㅠ
<Do we need big data?> -> Yes.
빅데이터는 필요한데 ImageNet같이 타겟 도메인에 최적화 되지 않은, 어떤 그냥 되게 일반적인 그런 느낌의 그런거 말고 쓸데없이 이상적인 상황에서의 빅데이터는 크게 의미가 없고.타겟도메인의 데이터는 빅데이터가 필요하다는 이야기이다.
ImageNet이 무용하다고 빅데이터가 전부 의미 없단 이야기가 아니다! 우리에게 진짜 더 중요한 데이터가 필요하다는 이야기이지.
<Shall we pursuit universal representations?> -> Yes.
지금 계속 하는 이야기가 ImageNet을 무시해도 된다는 이야기니까 대규모 데이터로부터 얻을거 같은 보편적인 representation이 중요하지 않다는 이야기인가? 라고 자칫 오해할 수 있다.하지만 어쨋든간에 universal representation은 매우 중요한 목표임을 저자들은 밝힌다.
그리고 사실 universal representation이 그저 데이터의 양이 많다고 ImageNet으로부터 얻은 representation이 universal하다는 것도 그저 우리 추측일 뿐이다.
그리고 결과적으로 random initialization일때 더 좋은 결과가 나오기도 하니까...
이 내용은 좀 더 연구해볼 필요가 있겠다. universal representation을 어떻게 바라보아야 하며 범위는 어떻게 되고, 대표적인 사례를 뭐로 할 수 있는지 등등
사실 논문에서도 딱히 명확하게 이야기 해주진 않는다!
여기까지가 요 논문의 정리 글이다.
4개로 쪼개서 쓰긴 했는데 사실 써놓고 보니까 그럴거 까진 없었다.
그저 타겟 도메인의 양이 충분하고 시간도 어느정도 확보되있다는 가정만 있다면 ImageNet이 굳이 쓰잘떽 없다란 이야기이다.
더 생각나는건 특히 Localization할때 더 쓰잘떽 없단 정도?
아무튼 너무 ImageNet에 기대지말고 연구를 해도 된다는 뭐 좋은 증거자료같은 논문이다. (레퍼가 많이 달릴 논문이겠네 ㅎ)




잘보고갑니다 좋은 글 공유 감사합니다.
답글삭제