본문 바로가기

ALL100

Loss function Loss function Loss function이란 손실 함수로써 모델의 Output이 얼마나 틀렸는지 나타내는 척도이다. 즉, Loss가 작을 수록 좋은 것인데, 모델의 학습과정에서 이 Loss의 미분값을 통해 Back Propagation을 진행한다. Loss function은 관점에 따라 Cost function이나 Objective Function으로도 부르는데, 구분할 필요가 있다. Loss function : 하나의 데이터에 대한 오차를 최소화하기 위해 정의된 함수 Cost function : 모든 오차를 일반적으로 최소하하기 위해 정의된 함수 Objective Function : 어떤 값을 최대화 혹은 최소화하기 위해 정의된 함수. 따라서 "Loss function ⊂ Cost functi.. 2024. 1. 22.
YOLO v3 Main Ideas Bounding box Prediction YOLO v2는 bounding box 에측 시 t(x, y, w, h)를 구한 후 위 그림처럼 b(x, y, w, h)로 변형시켜 L2 loss를 통해 학습시켰다. 여기서 c(x, y)는 grid cell의 좌상단의 offset이다. 하지만 YOLO v3는 gt좌표를 위의 공식을 거꾸로 적용시켜 t로 변형 후 직접 t(x)와 직접 L1 loss를 통해 학습시키는 방식을 선택한다. 예측한 bbox 마다 objectness score를 Logistic 함수를 적용해 구한다. 또한 anchor box와 gt box와의 IoU 값이 가장 높은 box만 매칭시킨다. gt box에 할당되지 못한 bbox는 bbox regression loss를 만들지.. 2024. 1. 22.
[논문 리뷰] Object Detection in 20 Years: A Survey 조금 지난 것이지만 Object detection의 역사를 전반적으로 이해할 수 있는 Survey 논문에 대한 리뷰인데, Survey 논문의 특성상 구석구석 읽어봐야겠다는 생각으로 요약보다는 생략에 초점을 두었다. 따라서 리뷰보다는 번역과 생략이라고 할 수 있다!! Introduction Object detection은 사람, 동물, 차와 같은 객체들의 class를 인식하는 CV의 중요한 task이다. Object detection의 목표는 어떠한 객체가 있는지?를 계산하는 모델 및 기술을 개발하는 것이다. Object detection의 주요한 두 지표는 정확도와 속도이다. Object detection은 Instacne segmentation과 같은 다른 CV task를 위한 기초이다. 최근 딥러닝 .. 2024. 1. 19.
분산분석(ANOVA)의 가정(feat.Python) 분산분석이란 분산분석은 세 집단 이상의 모평균 차이를 검정하고, 표본에서의 차이가 통계적으로 유의한지 검증하기 위해 분산을 이용하는 방법을 말한다. 평균을 비교하는데 분산을 사용하는 이유는, 분산이 클 수록 치우쳐진 정도가 커 평균이 다를 확률이 높아지기 때문이다. 보통 분산분석은 "같다" 또는 "같지 않다"만 파악할 뿐, 다른 가설 검정처럼 "크다", "작다"는 파악하지 않는다. 여러 실험이나 연구에서 집단이 3개 이상인 경우가 많아 분산분석은 나름 활용도가 높다. 분산분석은 각 집단을 나누는 요인이 1개이면 일원분산분석(One-way ANOVA), 분산분석의 가설 설정 일반적인 가설검정에서 "같지 않다"는 방향을 모른다는 표현으로 양측검정을 하지만, 분산분석에서는 "평균이 다르다"는 의미로 쓰여 양측.. 2024. 1. 18.
Mask R-CNN Instance Segmentation Instance Segmentation은 이미지에 존재하는 모든 객체를 탐시하는 동시에 각 인스턴스를 픽셀 단위로 분류하는 task이다. Semantic segmentation은 객체의 종류별로 구분을 한다는 차이점이 있다. Instance segmentation은 각 객체를 탐지하는 Object detection과 카테고리를 분류하는 Semantic segmentation이 결합되었다고 볼 수 있다. Mask R-CNN Mask R-CNN은 Faster R-CNN의 RPN이 출력한 RoI에 대하여 객체의 class를 예측하는 classification branch, bbox regression을 수행하는 bbox regression branch와 평행으로 segm.. 2024. 1. 18.
이표본 검정(Two-sample)(feat.Python) 두 모집단의 가설검정 일표본 검정과 달리, 두 모집단의 가설검정은 집단 각각의 모수가 어떠한 관계에 있는지를 검정한다. 이 때 두 모수의 관계는 보통 =, 이렇게 3가지가 있는데, 서로의 관계를 파악할 때는 주로 뺄셈과 나눗셈을 사용한다. 모평균, 모비율의 비교 - 뺄셈을 사용해, [모수 - 모수]가 0, 음수, 양수 중 어떠한 값을 갖는지 가설로 설정한다. 모분산의 비교 - 나눗셈을 사용해 1, 1보다 큰 수, 1보다 작은 수 중 어떠한 값을 갖는지 가설로 설정한다. 이 때 모분산이 나눗셈을 사용하는 이유는 확률분포 때문인데, 모평균과 모비율은 뺄셈을 해도 정규분포나 t분포를 사용할 수 있지만, 모분산은 뺄셈을 하면 사용할 확률분포가 없기 때문이다. 또한 두 모집단의 두 모수의 크기가 서로 완벽하게 같.. 2024. 1. 17.
FPN (Feature Pyramid Networks for Object Detection) FPN 다양한 크기의 객체를 인식하는 것이 OD task의 핵심적인 문제이다. 기존의 방식대로면 모델의 추론 속도가 너무 느리며 메모리를 지나치게 많이 사용했다. FPN은 이를 통해 컴퓨팅 자원을 적게 차지하면서 다양한 크기의 객체를 인식하는 방법을 제시한다. Summary 원본 이미지를 Conv layer에 입력해 Forward pass를 진행하고, 각 stage마다 다른 scale을 가지는 4개의 Feature map을 추출한다. 이 과정을 Bottom-up pathway라고 하는데, 후에 Top-down pathway를 통해 각 feature map에 1x1 conv layer를 적용해 모두 256개의 channel을 가지도록 조정하고 Upsampling을 진행한다. 마지막으로 Lateral con.. 2024. 1. 17.
Normalization의 종류 Normalization & Standardization & Regularization 데이터과학, 머신러닝 등을 공부하다 보면 정규화라는 단어를 자주 접할 수 있는데, Normalization, Standardization, Regularization 세 가지 영어표현을 모두 정규화라고 하는 것은 문제가 있다. Normalization의 종류에 대해 알아보기 전에 세 가지 method의 차이에 대해 짚고 넘어간다. 1. Normalization & Standardization 둘 다 데이터의 분산을 줄이기 위해 값의 범위를 축소하는 rescaling 과정이다. scale의 범위가 크다면 노이즈 데이터가 생성될 가능성이 커지고, Overfitting이 될 가능성이 높아지고, 활성화 함수의 의미가 희미해진.. 2024. 1. 16.
GPT-1 labeled data 기반의 supervised learning은 딥러닝 모델의 적용을 어렵게 하는 요인 중 하나이다. 이 경우 labeled data를 더 확보한는 것이 해결방안 중 하나이지만, 효율적이지 않다. 이러한 경우 unlabeled data로부터 정보를 추출할 수 있는 semi-supervised, unsupervised 모델은 더 많은 가치를 창출할 수 있다. 또 경우에 따라서 충분한 labeled data가 있음에도 unlabeled data로부터 좋은 representation을 학습하는 것이 더 큰 성능 향상을 불러오기도 한다. 이러한 지도학습의 데이터 부족 문제는 NLP에서 똑같이 적용되는데 이 때 Word 수준 이상의 unlabeled text data를 학습하는 것은 다음과 같.. 2024. 1. 16.