
이번에는 MobileNet v1 논문에 대해서 간단하게 리뷰해보려고 한다. 1. Intro AlexNet 이후로 CV분야는 딥러닝 네트워크를 중심으로해서 많은 발전을 이뤄냈다고 언급한다. Network의 연구는 대부분 더 깊게 쌓고, 복잡하게 구성하여 parameter수를 늘려 performance를 증가시키는 방향으로 진행되고 발전해왔다고 한다. 하지만 그것이 size, speed 관점에서는 더 효율적이라고 말할 수는 없다는 것이 이 논문의 핵심이다. 로보틱스, 자율주행, AI가 탑재된 앱 등 다양한 Recognition Task에서 제한된 플랫폼(하드웨어 성능)에서 빠른 정보전달이 중요하다고 말한다. 이 논문에서는 작은 parameter를 통한 size와 low latency를 목적으로 두 개의 Hy..

지금까지 AlexNet, VGGNet, ResNet, DenseNet을 리뷰해봤다. 모델의 성능을 올리기위해 개선했던 방향은 여러가지가 있지만 크게 Layer의 Depth를 깊게하거나 각 Layer의 width(feature 수)를 크게 하거나 Resolution을 높이는 방향으로 전개되었다. efficientnet은 3가지 조건에 대한 적절한 비율을 찾아내어 적은 epoch으로 높은 성능을 보여주는 이름 그대로의 효율적이면서 높은 성능을 보여주었다. 그래서 이번에는 EfficientNet 논문을 리뷰해보려고 한다. 1. Abstract 이 논문은 model scaling과 Depth, width, resolution의 적절한 비율을 통해 더 좋은 성능을 이끌어낼 수 있음을 연구했다. 그래서 효율적인 c..

ImageNet에서 분류대회 기준 2위를 한 모델로 AlexNet보다 더 깊은 layer를 쌓으면서 간단한 구조로 설계되어 지금까지도 자주 사용되는 모델이다. CNN 모델에서 중요한 모델 중 하나인 만큼 간단하게 리뷰해보자! 1. Abstract Convolutional Network depth에 대한 연구를 진행했으며 3x3 Conv를 활용해 더 깊은 depth의 Network를 설계하여 이전 SOTA모델 보다 높은 성능의 Performance를 보여주었다.(16-19 layers) 다른 데이터셋에서도 일반적인 퍼포먼스를 보여줬으며, 컴퓨터 비전의 많은 연구에서 이용할 수 있도록 만들었다. (특히 U-Net 같은 Semantic Segmentation 모델의 backbone) 2. Intro 컴퓨터 비..

Computer Vision(CV) 를 공부한다면 CNN은 당연히 공부할 것이고, 가장 기본적인 Network인 AlexNet을 공부하지 않는다는 것은 우리나라 사람이 우리역사를 모르는 것과 같다. 그만큼 AlexNet을 알고가는 것은 매우 중요하다고 볼 수 있다. 그럼 간단하게 알아보자 1. Abstract AlexNet이 발표 전까지도 ImageNet의 1000개 클래스를 갖는 이미지 분류를 위해 large and deep Convolutional Neural Network를 학습시켜왔다고 언급한다. AlexNet은 이전 SOTA모델보다 높은 성능을 보여줬고, 다섯개의 Conv layers와 Max Pooling, 3개의 fully connected layers with final 1000-way s..

구조 DenseNet 이전 Conv 구조는 input이 Layer를 통과하면 이후에는 사용되지 않지만, DenseNet에서는 이전에 입력된 input과 output을 concatenate하여 이후 모든 Layer에 concatenate 되는 방식으로 학습시키는 것이 핵심이다. input이 위의 그림처럼 모든 이후 Layer에 계속해서 적용되는 것을 확인할 수 있다. Layer는 크게 Pooling, Dense Block, Transition Layer, Classification Layer로 구성되어있다. 1. Convolution and Pooling Layer 첫 Conv Layer에서는 output channel 수를 16으로 설정하였고, 7x7 filter, stride 2를 사용하였으며 Pool..

Pytorch로 AlexNet을 간단하게 구현해보자 논문에서 제시한 AlexNet 구조보다 좀 더 간단하게 1 Flow로 11x11 Conv - 5x5 Conv - Pooling - 3x3 Conv - 3x3 Conv - 3x3 Conv - Pooling - fc 4096 - fc 4096 - classifier 구조로 구현해봤다. 1. Intro 1. 11x11 Conv stride = 4, padding = 0, out_channels = 96 논문은 48 + 48 두개로 split했으나 간단하게 1 flow로 구현 input size = 227(논문에서는 224지만 실제로 227로 구현해야 동작하여 transform Resize 활용해 적용) output size = 55 2. 5x5 Conv st..