본문 바로가기

딥러닝8

[object detection] Single Shot Multibox Detector (SSD) 아키텍쳐 분석 SSD Single Shot MultiBox Detector[논문]는 object detection을 위한 아키텍쳐다. object detection을 위한 여러 아키텍쳐가 있는데 R-CNN, Fast R-CNN, Faster R-CNN 등 2-stage detector가 아닌 YOLO와 같은 1-stage detector에 속한다.2016년 11월에 발표된 모델이고 PascalVOC, COCO 데이터셋 등과 같은 표준 데이터셋에서 FPS는 59, mAP는 74%를 기록했다. 속도는 굉장히 빠른 편이며, (512, 512) 이미지에서는 76.9%를 달성하여 Faster R-CNN보다 더 좋은 결과를 얻기도 했다. 또한 저해상도에서도 높은 성능을 보이는 것이 SSD의 특징이다.먼저, Single Shot .. 2019. 8. 8.
[object detection] YOLO 모델의 원리 Object detection 분야에서 쓰이는 모델로는, Faster-RCNN, MobileNet, SSD 등 많은 모델이 있지만 그 중 YOLO 모델에 대해 자세히 알아보려 한다. 일단, 현 시점에서는 YOLO, YOLOv2, YOLOv3(YOLO 9000)까지 모델이 개발되었고 각 모델마다 변화에 따른 장단점이 생겨났다. 필자는 YOLOv3를 사용해서 프로젝트들을 진행해본 결과 나름 괜찮은 성능의 결과를 얻을 수 있었다. 그러나 YOLOv2에 비해 느리다는 것이 단점이었다. 구조적 관점에서 이러한 차이들을 파악하기 전 기본적인 바탕이 되는 YOLO 모델의 원리에 대해 알아보는 것이 이번 글의 목표다. YOLO 가장 기본이 되는 YOLO 모델의 원리를 설명하고자 한다. 먼저 간단히 설명하자면, 예측하고.. 2019. 7. 22.
주차 구역 인식(Vision-Based Parking-Slot Detection) 논문 리뷰 논문리뷰 이 글은 Vision-Based Parking-Slot Detection: A DCNN-Based Approach and a Large-Scale Benchmark Dataset 논문을 읽고 쓴 글이다. 들어가기에 앞서, parking-slot과 주차 구역은 동일한 단어라고 가정한다.Abstract이 논문은 DCNN을 기반으로 주차 구역(parking-slot)을 탐지하는 모델을 제안한다. 이 모델을 여기선 DeepPS이라 명칭한다. 이 모델의 주요 단계는 다음 두가지로 나뉜다.Input image에서 모든 marking points를 확인한다.Marking points의 쌍에 의해 형성된 로컬 이미지 패턴들을 분류한다.여기서 Input image는 AVM과 같은 형태의 surround-view.. 2019. 7. 4.
Regularization과 딥러닝의 일반적인 흐름 정리 최적화(optimization) : 가능한 훈련 데이터에서 최고의 성능을 얻으려고 모델을 조정하는 과정일반화(generalization) : 훈련된 모델이 이전에 본 적 없는 데이터에서 얼마나 잘 수행되는지를 의미하지만, 일반화 성능을 제어할 방법이 없기 때문에 단지 훈련 데이터를 기반으로 모델을 조정할 수 있음과소적합(underfitting) : 훈련 데이터의 손실이 낮아질수록 테스트 데이터의 손실도 낮아진다. 즉, 모델 성능이 계속 발전될 여지가 있음.과대적합(overfitting) : 모델이 훈련 데이터에 특화되어 일반화 성능이 높아지지 않고 오히려 감소즉, 훈련 데이터에 특화된 패턴을 학습하기 시작했다는 의미, 이 패턴은 새로운 데이터와 관련성이 적어 잘못된 판단을 하게 만듦 Regularizat.. 2019. 1. 13.
[keras] Boston Housing 데이터를 통한 주택 가격 예측(regression) 2019-01-05-boston-housing 1. 보스턴 주택 가격 데이터셋1970년 중반 보스턴 외곽 지역의 범죄율, 방 개수, 지방세율 등 총 14개의 변수로 이루어진 데이터셋으로, 이를 통해 주택 가격을 예측할 수 있다. 변수에 대한 자세한 내용은 kaggle: boston housing에서 확인할 수 있다. 데이터 수는 총 506개로, 훈련 샘플 404개, 테스트 샘플 102개로 나뉘어 있어 비교적 개수가 적은 데이터셋이다. 따라서 K-fold cross validation을 이용하여 좀 더 정확한 평가를 할 것이다. 데이터셋 로드from keras.datasets import boston_housing(train_data, train_targets), (test_data, test_target.. 2019. 1. 5.
[keras] 정확한 평가를 위한 검증(validation) 데이터 나누기 2019-01-05-validation 딥러닝 모델을 구축할 때, 훈련 데이터와 테스트 데이터만으로도 훈련의 척도를 판단할 수 있다. 하지만, 훈련 데이터에 대한 학습만을 바탕으로 모델의 설정(Hyperparameter)를 튜닝하게 되면 과대적합(overfitting)이 일어날 가능성이 매우 크다. 또한, 테스트 데이터는 학습에서 모델에 간접적으로라도 영향을 미치면 안 되기 때문에 테스트 데이터로 검증을 해서는 안 된다. 그래서 검증(validation) 데이터셋을 따로 두어 매 훈련마다 검증 데이터셋에 대해 평가하여 모델을 튜닝해야 한다. 하지만, 검증 데이터셋이 훈련에 사용되지 않더라도 검증 데이터셋에 대한 성능을 기반으로 hyperparameter를 튜닝하므로 정보 누설(information lea.. 2019. 1. 5.
[Keras] 뉴스 기사 토픽 분류로 보는 다중 분류(multi-classification) 2018-12-26-reuter-dataset 1986년에 공개된 로이터(Reuter) 데이터셋은 짧은 뉴스 기사와 토픽의 집합으로 이루어져 있다. 알다시피 뉴스 기사는 텍스트 데이터이며, 단어 순서가 유지되어야 하는 시퀀스 데이터다. 총 46개의 토픽이 있으며, 각 토픽마다 기사 데이터 수가 일정하지는 않다. 1. 데이터 준비하기from keras.datasets import reuters(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)로이터 데이터셋도 IMDB 데이터셋과 마찬가지로 Keras에 포함되어 있으며, 같은 형태를 취하고 있다. 학습 데이터는 정의된 단어 사전 내 해당 단어의 인덱스.. 2018. 12. 26.
딥러닝, 머신러닝, 패턴인식 뭐가 다를까? 2018-07-04-artificial-intelligence 1. 인공지능(AI, Artificial Intelligence)궁극적으로 흉내 내고자 하는 목표를 의미하는 포괄적인 용어이다.기계로부터 만들어진 지능이며, 컴퓨터 공학에서 이상적인 지능을 갖춘 존재, 즉 인공적인 지능을 뜻한다.철학적 관점에서는 강인공지능과 약인공지능으로 나뉜다.강인공지능(Strong AI, 범용 인공지능, AGI) 어떤 문제를 실제로 사고하고 해결할 수 있는 컴퓨터 기반의 인공적인 지능을 만들어 내는 것에 관한 연구인간의 사고와 같이 컴퓨터 프로그램이 행동하고 사고하는 인간형 인공지능.인간과 다른 형태의 지각과 사고 추론을 발전시키는 컴퓨터 프로그램인 비인간형 인공지능.약인공지능(Weak AI) 어떤 문제를 실제로 사고하거.. 2018. 12. 26.