본문 바로가기

갈아먹는 머신러닝 시리즈

(36)
갈아먹는 Object Detection [8] yolov2, yolo9000 들어가며 이번에 살펴볼 논문은 1 step Object Detection의 포문을 연 yolo의 후속편 yolo v2입니다. 저자인 Redmon은 상당히 괴짜인데요, 이번 논문의 형식부터 상당히 재미있습니다. 저는 이렇게 첫 장의 절반을 피규어로 채운 논문은 처음 봤습니다 ㅎㅎ 그 밖에도 기존의 논문 형식의 틀을 깨고 각 섹션의 소제목들을 Better, Faster, Stronger로 달았습니다. 파격적인 형식에 맞게 내용도 상당히 재미있습니다. 기존 yolo 모델을 보완하여 정확도를 높인 yolo v2 모델을 제시합니다. 그리고 이 yolo v2 모델을 기반으로 무려 9000 종류의 물체를 구분할 수 있는 yolo 9000 모델을 공개합니다. 이전까지 Object Detection 분야에서 가장 많이 ..
갈아먹는 Image Classification [3] MobilenetV1 들어가며 이번에 살펴볼 논문들은 mobilenet v1입니다. 최근에는 NAS를 이용해서 더 가볍고 성능이 뛰어난 아키텍쳐들을 찾습니다. NAS는 크게 기본 블럭의 구조를 미리 설정하고, 이를 얼마나 깊고 넓게 쌓을 것인가를 강화학습 또는 유전 알고리즘으로 찾도록 동작합니다. 이 때 기본 블럭으로 많이 채택되는 것이 mobilenet v2에 제시된 블럭입니다. 이와 관련된 연구 흐름을 정리하면 아래와 같습니다. 먼저 mobilenet v1은 depthwise separable convolution 기법을 적용한 신경망 아키텍쳐를 제안합니다. mobilenet v2는 이 아키텍쳐를 기반으로 invertible bottleneck 이라는 개념을 추가하여 성능을 개선합니다. 이렇게 발견한 기본 블럭에 NAS를..
갈아먹는 Object Detection [7] Feature Pyramid Network 들어가며 오늘 살펴볼 논문은 등장할 당시에도 영향력이 엄청났지만 이 후에 등장하는 모델들에 큰 영향을 준 Feature Pyramid Network 입니다. 현재 State of the Art를 기록하고 있는 EfficientDet 모델도 이 FPN에 등장한 피쳐들을 합쳐주는 기법을 사용합니다. 그만큼 Object Detection 분야에서 영향력이 큰 논문이라 할 수 있습니다. 포스팅을 준비하면서 영문으로 된 포스팅[2]을 참고하였습니다. 저자인 Jonathan Hui가 쓴 다른 양질의 블로그 포스팅들도 많으니 관심있으신 분들은 한번 살펴보시길 추천드립니다. 그럼 시작하겠습니다! Feature Pyramid Object Detection 분야에서 풀리지 않았던 고질적인 난제는 바로 작은 물체를 탐지해내..
갈아먹는 Image Classification [2] Fixing the train-test resolution discrepancy 들어가며 이번에 살펴볼 논문은 이미지넷 리더보드에서 현재 1위를 기록 중인 FixEfficientNet의 핵심이 되는 FixRes 기법을 소개한 Fixing the train-test resolution discrepancy입니다. 해당 논문은 신경망의 아키텍쳐를 새롭게 제시한 것이 아니라, 신경망을 학습시키는 방법을 제시합니다. 저자들이 주목한 것은 학습 시에 신경망이 바라보는 물체의 크기와 테스트 시에 바라보는 물체의 크기가 다르기 때문에 학습 데이터의 분포와 테스트 데이터의 분포 사이에 불일치가 일어난다는 것입니다. 말만 들어도 어렵죠?? ㅎㅎ 사실 NIPS 페이퍼이기도 하고, 내용 자체가 난해해서 저도 완벽하게 이해하지는 못했습니다. 제가 이해한 한도 내에서 리뷰를 진행해보도록 하겠습니다. Fix..
갈아먹는 Image Classification [1] Noisy Student 들어가며 최근 Object Detection 분야의 SOTA 모델들을 살펴보면서 백 본으로 사용되는 Image Classification 모델들 논문을 읽게 되었습니다. DenseNet 이후로 잘 보지 않았는데 그동안 참 많은 변화들이 있었네요 ㅎㅎ 게으름에 반성을 많이 하게 되었고, Image Classification 분야 논문들도 하나씩 제 스타일로 리뷰해볼까 합니다. 첫 번째 논문은 현재 Imagenet 리더 보드 상에서 2위를 기록하고 있는 Noisy Student[1]입니다. 이는 기존 EfficientNet 아키텍쳐에 이미지 넷 데이터 셋과 함께 라벨을 붙이지 않은 대량의 이미지를 self-training 기법을 적용하여 학습한 것입니다. 방식이 참 신선하면서도 라벨을 붙이지 않은 데이터를 ..
갈아먹는 딥러닝 기초 [2] weight initialization 목차 이 포스팅은 weights initialization 기법들의 수식, 특징, 사용처를 설명합니다. keras에서 기본적으로 제공하는 기법들을 위주로 정리하였습니다. · 들어가며 · 웨이트 초기화 기법 분류 - 상수 기반 초기화 - 선형 대수 기반 초기화 - 확률 분포 기반 초기화 - 분산 조정 기반 초기화 · fan in, fan out · Lecun Initialization · Xavier Glorot Initialization · He Initialization · 마치며 들어가며 이번 포스팅에서는 weight 값을 어떻게 초기화 시킬 수 있는지에 대해서 알아보겠습니다. 웨이트 값을 어떻게 초기화 시키는 지에 따라서 그라디언트를 얼마나 잘 전달할 수 있고, 레이어를 더 많이 쌓을 수 있는지를 ..
갈아먹는 딥러닝 기초 [1] Activation Function(활성화 함수) 종류 들어가며 딥 러닝 기초 개념들을 복습하면서 관련 내용들을 정리해보려 합니다. 가장 먼저 각 활성화 함수별로 간단한 특징과 사용처 정도를 짚고 넘어가겠습니다. 자세한 개념들은 직접 검색해보시거나 레퍼런스를 참고해주시면 감사하겠습니다. 활성화 함수는 붉은 색 그래프, 활성화 함수의 미분값은 푸른색 그래프로 표현하였습니다. Sigmoid 특징: 입력 값을 0과 1 사이의 값으로 변환하여 출력합니다. 사용처: 로지스틱 리그레션, 바이너리 클래시피케이션 등에 사용됩니다. 한계점: 미분 함수의 최대 값이 0.5가 됩니다. 때문에 레이어가 깊어질 수록 그라이언트가 전달되지 않는 vanishing gradient 문제가 발생할 가능성이 있습니다. 이후 ReLU에 의해 많이 대체됩니다. Hard Sigmoid 특징: 시..
갈아먹는 통계 기초[4] 가설, 검정, p-value 지난 글 갈아먹는 통계 기초[1] 확률 분포 정리 갈아먹는 통계 기초[2] 공분산과 피어슨 상관계수 갈아먹는 통계 기초[3] 표본 추출 들어가며 우리는 지금까지 데이터를 특정한 확률 분포를 가진 확률 변수로 모형화 하였습니다. 그리고 모집단의 표본에서 얻은 통계량을 통해 모집단의 통계적 특성을 추측해보았습니다. 이러한 과정을 논리적으로 전개하기 위해서 필요한 것이 가설과 검정입니다. 가설(hypothesis)란 확률 분포에 대한 어떠한 주장이며 이를 증명하는 행위를 검정(testing)이라 합니다. 특히 확률 분포의 모수 값에 대한 가설을 검정하는 것을 모수 검정(parameter testing)이라 부릅니다. 귀무 가설과 대립가설 귀무 가설(null hypothesis, 영 가설)은 처음부터 버릴 것을..