일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- yolo
- EfficientNet
- fast r-cnn
- SVM 이란
- Faster R-CNN
- CS231n
- cnn 역사
- CNN
- computervision
- pytorch project
- SVM margin
- libtorch
- pytorch c++
- cs231n lecture5
- DeepLearning
- support vector machine 리뷰
- yolov3
- 논문분석
- SVM hard margin
- RCNN
- Deep Learning
- 데이터 전처리
- darknet
- Computer Vision
- 서포트벡터머신이란
- pytorch
- Object Detection
- TCP
- self-supervision
- svdd
- Today
- Total
목록CNN (13)
아롱이 탐험대
해당 논문은 MNasNet의 저자인 Mingxing Tan과 Quoc V.Le가 쓴 논문이고, 2019년 CVPR에서 발표되었다. ResNet의 residual block의 등장 이후로 CNN은 2가지 성향으로 발전하고 있다. 이는 정확도만 높이는 방향과 비슷한 정확도를 가지고 효율성을 높이는 방향이다. EfficientNet은 네트워크의 이름과 마찬가지로 정확도와 효율성을 높인 놀라 온 네트워크이다. EfficientNet은 ResNet기반이고, 정확히 말해 base network는 MNasNet을 사용한다. 모델의 구조를 설명하기에 앞서 네트워크의 성능을 높이는 방법은 크게 3가지이다. 1. Depth: layer의 수를 늘리는 방법 2. Width: network의 channel을 증가시키는 방법 ..
Review 이전 시간에는 데이터 수집과 디렉터리 변경 및 labeling에 대해 알아보았다. 이번 시간에는 matplotlib을 활용하여 그래프화 및 나머지 전처리에 대해 진행하겠다. 1편: https://ys-cs17.tistory.com/28 1. make_graph.py Code 전체 코드https://github.com/yunseokddi/pytorch_dev/blob/master/facial_age_classifier/EfficientNet_ver/data_preprocess/make_graph.py (1) __init__ class analysis_data: def __init__(self, root_dir, start_age, end_age): self.root_dir = root_dir ..
1. Motivation 이번 시간에는 pytorch를 사용하여 facial age dataset으로 학습시킨 facial age classifier를 개발해보자. 이제는 kaggle에 도전해볼 실력이 된 것 같아 facial age dataset classifier라는 재미있어 보이는 과제를 수행하기 위해 시작하였다. (kaggle 원본 링크: (https://www.kaggle.com/frabbisw/facial-age) 2. Process 우선 해당 problem은 classification이기 때문에 object detection보다는 난이도가 비교적 원활하다. 하지만 얼굴은 사람에 따라 노안이거나 동안인 사람도 있고, 인종, 피부 등에 따라서도 많이 엇갈리는 어려움이 존재한다. 처음에는 1살, ..
YOLO9000: Better, Faster, Stronger Joseph Redmon∗†, Ali Farhadi∗† University of Washington∗ , Allen Institute for AI† http://pjreddie.com/yolo9000/ 1. Introduction 저번에 리뷰하였던 YOLO 즉 YOLOv1에 이어 성능과 속도 측면에서 모두 향상시킨 YOLO9000 (YOLOv2)에 대해 알아보자. 우선 기존 YOLO, faster r-cnn 그리고 SSD는 모두 real time에 적용가능한 network이다. 하지만 여전히 정확도 (mAP) 측면에서는 부족한 감이 존재한다. YOLOv2에서는 정확도와 속도를 향상시킴으로써 이를 보완한다. 이름에서 보셨다싶이 YOLOv2는 Y..
지난 시간에 이어서 본격적으로 Convolutional Neural Networks에 대해 알아보자 CNN에서 합성곱 연산을 어떤 방식으로 하는지 보자. 우선 CNN에 들어오는 image의 size를 32*32*3이라고 가정하자. 여기서 32는 각각 weight와 height를 의미하고 3은 depth를 의미한다. 처음에 들어올 때는 RGB라고 생각해도 무관하다. 그리고 해당 Image를 filter라는 것을 통해 합성곱 연산을 해준다. 연산 과정은 뒤에서 설명하겠다. 위 예시에서는 5*5*3 size의 filter가 존재한다. 여기서 주의해야 할 점은 filter의 depth와 image의 depth는 같아야 한다. 위처럼 image와 filter를 통해 합성곱 연산 후 bias값을 더해주는 구조이다...
activation function에 이어 data preprocessing에 대해 알아보자 데이터의 전처리 과정은 우선 각각에 대해 평균을 빼줌으로써 zoro-centered 시키는 과정을 통해 정규화를 진행한다. 하지만 image에서는 zero-centered 과정은 필요하지 않다. 그 이유는 각각의 pixel은 0~255까지의 범위이기 때문이다. PCA와 Whitening이라는 주성분 분석은 데이터의 차원을 줄이고자 진행한다. 하지만 이미지에서는 이것 또한 쓰지 않는다. image에서는 전체 img에서 평균이 되는 img를 빼주거나 아니면 channel별로 mean값을 빼주는 방법이 있다. 이 두 가지 방법 중 후자인 channel의 mean을 빼주는 방식이 더욱 간편하다. 다음은 매우 중요한 we..
지난 시간에 이어서 lecture 5를 살펴보자 우선 수업을 시작하기 전 실전에서 train을 어떻게 하는지에 대해 설명을 하였다. CNN을 train하려면 가장 필요한 건 막대한 데이터이다. 하지만 이 데이터들을 구하기도 힘들도 구했다 해도 train과 test 하는데 오랜 시간과 비용이 필요하다. 따라서 tensor flow, pytorch 같은 deep learning 모듈에서는 기본적인 finetuning 된 학습된 파라미터를 제공한다. (github이나 다른 사이트에서도 찾기 쉽다.) 따라서 우리가 가진 데이터는 너무 적은데, 우선 image net이라는 open data 웹사이트에 접속하여 image net data를 기반으로 학습을 시킨다. 그 후 우리가 가지고 있는 소량의 데이터로 fine..
지난 시간 loss function과 gradient descent에 이어서 설명하겠다. input과 weight를 곱해 bias를 더한 후 loss function을 통과하여 loss를 구하는 과정을 computation graph를 통해 시각적으로 표현하였다. 여기서는 max function을 이용하여 total loss를 구하였다. computation graph는 눈으로 보기에는 이해하기 쉽고 간단하지만, 계산적인 측면에서는 수만수억 개의 뉴런을 모두 이렇게 계산하기에는 많은 한계점들이 존재한다. 아래는 2020년 기준으로 잘 사용하지는 않지만 유명했던 network들이다. 간단한 예시의 module을 살펴보자. 우선 왼쪽에서 오른쪽 방향으로 가는 것을 FP(forward path)라 하고, 한국..