
핵심아이디어는 SENet에서 나왔던 channel-wise response를 계산하여 이를 적용하는 것과 ReLU6에 H-Swish(HardSwish) 이다. 1. H-Swish $$ Swish(x) = x \sigma (x) $$ 로 표현되며 기존 ReLU에서 음수값에 대한 정보손실 문제를 해결하기 위한 함수이다. 하지만 Sigmoid 자체가 연산량이 크기 때문에 V3에서는 이를 줄이기 위해 Approximation을 한 함수를 제안한다. $$ H-Swish (x) = x \frac{ReLU6(x+3)}{6} $$ 이는 Swish를 잘 approximation 하고, 연산량도 줄어들어 mobile network에 필요한 연산량을 줄이는 방향과 부합한 방법이다. 2. V3 Unit 위의 그림처럼 ReLU..

V1에서 달라진 점과 Architecture 중심으로 이야기를 하려고 한다. 0. Abstract MobileNet V2는 Bottleneck 간 skip-connection과 Inverted Residual Structure를 바탕으로 설계되었다. Block 안 expansion layer는 lightweight depthwise conv를 사용한다.(MobileNet v1과 같다.) 또한 representational power를 유지하려면 narrow layers에선 non-linearities를 제거하는 것이 중요하며 이를 실험적으로 확인했다. 이러한 아이디어를 바탕으로 실험한 결과 성능향상을 확인할 수 있었다. 1. Intro 현재 SOTA 모델들은 높은 computational cost(res..

이번에는 ShuffleNet v1을 직접 구현해보았다. 확실히 MobileNet v1과 비교했을 때 비슷한 학습속도에서 높은 성능을 보여줌을 확인할 수 있었다. 1. Setup 이전 구현들과 같다. import torch.nn as nn import torch import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as optim import time import numpy as np import random import torch.backends.cudnn as cudnn seed = 2022 torch.manual_seed(seed) tor..

이번에는 MobileNet V1을 직접 구현해보았다. 확실히 ResNet, VGGNet보다 학습속도가 빠르다는 것을 확인할 수 있었다. 1. Setup 이전 구현과 똑같이 세팅을 했다. import torch.nn as nn import torch import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as optim import time import numpy as np import random import torch.backends.cudnn as cudnn seed = 2022 torch.manual_seed(seed) torch.cuda..

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..