728x90

DeepLearning 48

[Object Detection] Image Annotation Formats

Image Annotation Formats Object Detection 시 pascal voc, coco 등 annotation format이 있다. 모델에 넣을 인풋을 세팅할 때 이런 포맷을 지정해줘야함. COCO COCO 포맷은 object detection, keypoint detection, stuff segmentation, panoptic segmentation, image captioning의 5개의 annotation 타입이 있다. Annotation은 JSON 파일 형식으로 저장되어 있다. 아래는 object detection의 경우 COCO 포맷 JSON파일의 예시이다. annotation{ "id" : int, "image_id": int, "category_id": int, "s..

[머신러닝/ML] 군집화 (Clustering)

군집화 (Clustering) 군집화(Clustering)는 비지도학습의 한 예시로, 어떠한 label 없이 데이터 내에서 거리가 가까운 것들끼리 각 군집들로 분류하는 것이다 (분류라고 표현했지만, 지도학습인 classification과는 다르다). 즉 데이터 내에 숨어있는 패턴, 그룹을 파악하여 서로 묶는 것이라고 할 수 있다. 만약 라벨값이 존재하는 데이터라고 하더라도, 같은 라벨 내에서도 얼마든지 다른 군집으로 묶일 가능성이 있다. 군집화 알고리즘에는 K-Means Clustering, Mean Shift, Gaussian Mixture Model, DBSCAN, Agglomerative Clustering 등이 있다. Agglomerative Clustering을 제외한 나머지 알고리즘을 정리해보..

DeepLearning/Basic 2021.03.03

[Object Detection] object detection 성능평가지표

Object Detection 성능의 평가 모델이 얼마나 객체 탐지를 성공적으로 수행했는가는 두 가지 측면에서 살펴볼 수 있다. 1) 얼마나 잘 탐지하는가? 2) 얼마나 빠르게 탐지하는가? 얼마나 잘 탐지하는가는 Accuracy의 측면으로, mAP로 흔히 평가한다. 얼마나 빠르게 탐지하는가는 inference time을 얼마나 단축시키는가의 측면으로, 모델의 효율성 등과 연관되며 이는 FPS로 흔히 평가한다. 얼마나 잘 탐지하는가 Precision and Recall Recall = TP / (TP+FN) = TP / # of ground truths Precision = TP / (TP + FP) = TP / # of predictions 간단히 말하면 Recall은 actual == True인 경우 ..

[Object Detection] Faster R-CNN 논문 리뷰

Faster R-CNN : Towards Real-Time Object Detection with Region Proposal Networks Idea Fast R-CNN은 selective search 수행으로 인한 region proposals(object가 있는 곳을 파악하는 과정)에서의 시간 소요 (bottleneck)가 단점으로 작용함 Faster R-CNN에서는 Region Proposals를 CNN으로 수행함으로써 속도 개선 (“Region Proposal Networks; RPNs” ) → end-to-end object detection model 구성 → 5 fps 까지의 속도 향상, Pascal VOC 기준 mAP 78.8%의 성능 개선 RPNs Region proposals 부분에서..

[머신러닝/ML] 결측치 처리하는 7가지 방법 (Seven Ways to Make up Data)

정형 데이터를 다루다 보면, 각 칼럼 당 비어 있는 값들이 존재하는 경우가 빈번하다. (없는 것 찾기가 힘듦) 파이썬 머신러닝 완벽 가이드 책 실습을 진행하던 중, 데이터 결측치를 채우는 방법(Data Imputation)을 좀 더 디테일하게 알아보았고, 지금부터의 내용은 www.theanalysisfactor.com/seven-ways-to-make-up-data-common-methods-to-imputing-missing-data/ 를 정리한 것임을 밝힌다. Data imputation 1. 평균값으로 대체 (Mean Imputation) 결측치가 존재하는 변수에서 결측되지 않은 나머지 값들의 평균을 내어 결측치를 대체하는 방법. 해당 값으로 대체 시 변수의 평균값이 변하지 않는다는 장점이 있지만,..

DeepLearning/Basic 2021.02.18

[ML/DL] 최적화(Optimization), 경사하강법 (Gradient Descent Algorithms)

경사하강법을 얘기하기 전에 최적화란 개념에 대해 먼저 짚고 넘어갈 필요가 있다. 최적화는 간단하게 말해서 고등학교때 배우는 함수의 극대 극소지점을 찾는 것이다 (그래서 우리가 그렇게 미친 듯이 미분해서 0이 되는 지점을 찾는 문제를 풀었던 것). 즉 함수를 최소화 하거나 최대화하는 것을 의미한다. 이때의 함수를 우리는 목적함수라고 부른다. 머신러닝/딥러닝에서는 이 목적함수를 최적화시킴으로써 학습을 진행하게 된다. 그러니, 어떤 목적함수를 지정할지, 어떤 방식으로 최소화 혹은 최대화되는 지점을 찾을 것인지가 매우 중요할 것이다. Ex) A가 B사의 블루투스 헤드폰을 사려고 하는 경우 이때 A는 블루투스 헤드폰을 비싼 돈을 주고 사고싶어하진 않을 것이다. 배송비를 아끼려고 용산 전자상가까지 걸어간다든지, 혹..

DeepLearning/Basic 2021.02.04

[ML] Ensemble (1) - 보팅(Voting), 배깅(Bagging)

앙상블 앙상블은 쉽게 말하면 여러 분류기의 결과를 하나의 결과로 합치는 것이다. 대부분의 경우 앙상블의 결과가 단일 모델보다 예측 결과가 우수하지만, 항상 그렇다고 보장하지는 않는다. 캐글이나 데이콘에서 정형 데이터 챌린지의 경우 대부분 XGBoost, LGBM과 같은 부스팅 알고리즘을 쓰는데, 이 또한 앙상블 기법 중 하나이다. 앙상블의 종류로는 크게 Voting, Bagging, Boosting이 있고, Stacking 또한 종종 사용된다. 보팅(Voting) 보팅은 일반적으로 서로 다른 알고리즘 기반의 모델을 (예를 들면, knn과 logistic regression, decision tree와 같은 식으로 말이다) 같은 트레인 셋으로 학습시킨 결과를 결합한다. 보팅은 크게 하드 보팅(hard vo..

DeepLearning/Basic 2021.01.28
728x90