분류 전체보기(48)
-
[CV Study] ShuffleNet: An Extremely Efficient Convolutional Neural Network for M
MobileNet 논문의 제목인 "MobileNet: Efficient Convolutional Neural Networks for Mobile Vision Applications"과 ShuffleNet 논문 제목이 상당히 비슷한 것을 보면 알 수 있듯, ShuffleNet 역시 MobileNet처럼 보다 가벼운 모델을 만드는 데 중점을 두고 있으며 MobileNet 보다 뛰어난 성능을 보인다. MobileNet이나 GoogLeNet에서는 1x1 convolution(pointwise convolution)이 연산량과 파라미터 수를 줄이는데 효율적이어서 적극적으로 활용되었다. 하지만 Xception이나 ResNeXt의 op별 연산량을 살펴보면 1x1 conv에서 매우 많은 시간을 소요하고 있다는 사실을 ..
2020.06.14 -
[CV Study] MobileNet: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNet(MobileNet V1)은 모바일 기기에서 서빙 가능한 가벼운 모델을 만들겠다는 동기로 진행된 연구이다. MobileNet의 핵심은 연산량과 파라미터 수를 줄이는 역할을 하는 depthwise separable convolution이다. 사실 이것만 이해해도 MobileNet을 이해했다고 볼 수 있다. Depthwise Separable Convolution 위의 그림이 depthwise separable convolution이며, depthwise convolution과 pointwise convolution이 연속적으로 이어진 형태이다. 이러한 형태의 convolution이 어떤 이점이 있는 지를 살펴보기 위해 일반적인 convolution, depthwise convolution,..
2020.06.13 -
[CV Study] GoogLeNet: Going Deeper With Convolutions
Inception이라는 이름은 "Network In Network"에서 영감을 받아서 지어진 이름이다. 딥러닝 모델의 성능을 높이는 방법 중 하나는 모델 depth와 width를 늘리는 것이다. 하지만 이는 곧 더 많은 파라미터, 더 큰 용량, 더 많은 연산량, 오버피팅 가능성으로 이어진다는 문제가 있다.이 문제를 해결 하기 위한 방법 중 하나는 fully connected layer를 sparsely connected layer 구조로 바꾸는 것인데, dropout을 통해 정규화(regularization) 효과를 거두는 경우가 이에 해당한다. 하지만, CPU/GPU 특성상 non-uniform sparse data에 대해서는 효율적인 커널 연산이 어렵다는 문제가 있다. (연산량을 100배 줄이더라도 ..
2020.06.13 -
[CV Study] SqueezeNet: AlexNet-Level Accuracy With 50x Fewer Parameters and <0.5MB Model Size
Accuracy가 같다면 더 작을 모델일수록 (1) 서버 간의 커뮤니케이션을 줄일 수 있고, (2) 더 작은 대역폭(bandwidth)로도 서빙이 가능하고, (3) 한정된 메모리의 가속기에서 사용에 용이하다. SqueezeNet은 ImageNet에서 AlexNet과 동일한 수준의 accuracy를 유지하면서도 50배 더 적은 파라미터를 사용하고, compression 기법을 적용했을 때 AlexNet보다 510배 작은(
2020.06.11 -
[CV Study] Unsupervised Representation Learning With Deep Convolutional Generative Adversarial Networks
비지도학습(unsupervised learning)은 labeling이 되지 않은 무수히 많은 이미지 데이터를 활용하여 좋은 feature representation을 학습할 수 있다는 장점이 있다. 비지도학습 방식으로 GAN을 트레이닝 하여 좋은 image representation을 얻어내고, 학습된 generator와 discriminator를 지도학습(supervised learning) task에서 feature extractor로 활용할 수 있다. 하지만 GAN은 다음과 같은 문제를 가지고 있다. 학습시에 안정적이지 못하다. Generator가 종종 터무니 없는 output을 생성하기도 한다. GAN이 무엇을 학습하는지 시각화할 수 없다. Approach & Model Architecture ..
2020.06.11 -
[CV Study] Generative Adversarial Nets
Notation $G$ Generator $D$ Discriminator $x$ Input data $z$ Input noise $p_g$ Generator의 확률 분포 $\theta_g$ MLP로 구성된 $G$의 parameter $G(z; \theta_g)$ Generator의 mapping function $\theta_d$ MLP로 구성된 $D$의 parameter $D(x; \theta_g)$ Discriminator의 mapping function $D(x)$ $G$가 생성한 확률 분포인 $p_g$와 real data인 $x$가 주어졌을 때 $x$가 나올 확률 $G$와 $D$의 훈련 $D$는 real data $x$와 $G$가 생성한 $p_g$가 주어졌을 때 correct label인 $x$를..
2020.06.11