기본 콘텐츠로 건너뛰기

11월, 2018의 게시물 표시

[논문 리뷰] Rethinking ImageNet Pre-training (004)

지난 포스팅에 이어서 기술된 포스팅이다. 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이란 지구상에서 공개된 것중 가장 방대한 데...

[논문 리뷰] Rethinking ImageNet Pre-training (003)

지난 포스팅 에 이어 기술된 포스팅이다. 4. Experimental Settings  이분들의 연구에서는 최소의 변화만을 추구한다. 베이스라인이야 Mask R-CNN을 기반으로 하고, 다만 normalization과 학습횟수는 변화가 좀 있다. (이건 뭐 당연하지...normalization을 다른거 쓰겠다 했고 학습빈도야 이게 이 논문 키포인트니)  그리고 크게 3가지로 나누어서 실험세팅에 대해 설명을 한다.   먼저 구조! ResNet과 FPN(Feature Pyramid Network) 기반의 Mask R-CNN 쓰신다. 그리고 BatchNorm (BN)말고 GroupNorm(GN)과 SyncBN을 사용한다. 공정한 비교를 위해 fine-tuned모델도 BN말고 GN/SyncBN으로 튜닝했다.   두 번째 러닝레이트 설계! 기존의 Mask R-CNN은 9만번이나 18만번 정도 튜닝을 한다. 근데 이건 튜닝할때나 그렇고 본 연구처럼 첨부터 학습하는 건 더 많이 학습시켜야지 않겠는가. 그래서 무려 54만번의 학습을 감행한다 (논문에서는 9만번 학습을 '1X schedule' 이라 하니 54만번의 학습은 '6X schedule' 이다.). 그리고 원래처럼 6만번 남았을때 0.1배 러닝레이트를 줄이고 2만번 남았을 때 또 러닝레이트를 0.1배를 가한다.   마지막으로 Hyper-parameters! 이놈은 Detectron의 설정을 싹다 차용한다. 특히 초기 러닝레이트는 0.02이고 weight decay는 0.0001에 모멘텀은 0.9 쓰고...... 그냥 다 비슷비슷하니 이건 넘기겠다. 5. Results and Analysis 5.1 Training from scratch to match accuracy  이분들의 가장 맨 먼저 본 놀라운 발견은 COCO만 사용해서 모델을 첨부터 학습하는게 튜닝해서 학습하는 모델의 정확도를 결국 따라잡는 다는 것이다.!! (...

[논문 리뷰] Rethinking ImageNet Pre-training (002)

지난 포스팅 에 이어서 기술된 포스팅 이다. 3. Methodology  이분들의 목표는 다시한번 또 말하지만 ImageNet의 pre-training 무용을 보여주고 싶은 것이다!! 테크니컬 리포트 성격이 강한 논문이기에 구조적 개선에 대한 내용보단 pre-training에 대한 분석적인 관점을 가지고 논문을 보면 좋겠다. 특히 지난번 포스팅에서 언급했듯이 다시한번 두가지 관점에서 해당 섹션에 대해 설명한다.  Model Normalization    Training Length          3.1 Normalization  이미지 분류기 학습은 좀 더 능률적인 최적화를 위해 normalization 기법들을 필요로 한다. Normalization의 성공적인 사례는 여기선 두가지로 보는데 normalized parameter init와 activation normalization layers이다. 어쨋든 이건 이렇다 치고 이미지분류 이외에도 디텍터를 학습할때도 저런 normalization안쓰면 학습은 어렵다고 말한다. (맞음ㅇㅇ)  대표적으론 Batch Normalization (BN) 이 있긴하다. 근데 디텍션에서는 주로 고해상도 영상을 다루고 이에 따라 한정된 메모리자원에서는 배치사이즈를 조금 줄여서 쓸 수밖에 없다. 이런식으로 배치사이즈를 줄여버리면 BN의 성능이 후져진다. 이러한 이슈는 만일 우리가 pre-training을 한다면 fixed param으로 해결해 버릴 수가 있지만, 초장부터 학습하는 본 연구에서는 이러한 방법은 전제자체가 잘못되었다. 그래서 이친구들이 대체로 생각한 두가지 normalization 기법을 소개한다. (1) Group Normalization (GN) : 배치의 차원과는 독립적인 연산을 함. 배치크기와 아무 상관 없음. (2) Synchronized Bat...

[논문 리뷰] Rethinking ImageNet Pre-training (001)

본 논문은 Arxiv에서 현재 (18.11.23 기준) 트위터 멘션이 가장 많이 된 논문이다. ( 논문 링크 ) 트위터 언급 1등! 저자들은 무려 ResNet을 제안한 Kaiming He와 내가 신봉하는 연구자인 RCNN의 발명가 Ross 형님이시다. 딥 네트워크를 깊이 연구한 Kaiming He와 Object Detection을 깊이 연구한 Ross Girshick의 콜라보 답게 많은 실험들이 기존의 네트워크 학습이 detection에서 어떻게 해석되는지 요런느낌으로 논문을 쭉쭉 써내려 나갔다. 포맷을 보면 너무도 당연스럽게 CVPR 2019에 제출된 논문임을 알 것같다. 아마도 억셉된다면 적어도 spotlight이상은 가지 않을까... (패러다임의 변화를 제안한 논문!) 여하튼 인상적인 논문 제목이다. 이미지넷의 pre-training에 대해서 다시 생각해보자...주제 자체가 크지 않은가! 일반적으로 CV분야에서 pre-training을 한다면 그것은 ImageNet을 사용하는 작업이 거의 대부분일텐데 기존의 패러다임에 대해 다시 생각해보자라는 본 논문은 매우 충격적이지 않을 수 없다. 찬찬히 abstract부터 보겠다. Abstract  요 논문은 COCO 디비의 물체 검출과 instance segmentation에서 Random initialization으로 학습한 모델이 꽤나 경쟁력있는 결과를 낸걸 보고한다. 학습횟수를 늘리는거 빼고는 기존의 ImageNet으로부터 pre-training한거나 random으로 초기화해서 한거나 다 같은 수준으로 수렴할 수 있다. Random Initialization에서 학습한게 예상외로 강력한 것이 본 논문에서 (1)  학습 데이터의 10%만 사용 (2) 더 깊고 넓은 (deeper and wider) 모델 (3) 다양한 task, metric에서도 이런 경우에도 유지된다는 것이다. 실험은 COCO 2017셋에서 이미지넷으로 pre-training된 모...