일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- dcgan
- Meta Pseudo Labels
- conjugate pseudo label paper
- shrinkmatch
- CycleGAN
- dann paper
- simclrv2
- semi supervised learnin 가정
- remixmatch paper
- Pseudo Label
- adamatch paper
- mme paper
- shrinkmatch paper
- CGAN
- WGAN
- GAN
- 딥러닝손실함수
- 최린컴퓨터구조
- 컴퓨터구조
- 백준 알고리즘
- CoMatch
- Pix2Pix
- Entropy Minimization
- cifar100-c
- ConMatch
- BYOL
- mocov3
- tent paper
- SSL
- UnderstandingDeepLearning
Archives
- Today
- Total
Hello Computer Vision
Dilated Convolution 이란 본문
이번 방학에 CNN 모델에 대해서 다시 원론적으로 공부를 하는 도중 Dilated convolution 에 대해 맞닥뜨렸다.
한눈에 설명할 수 있는 이미지는 다음과 같다.
이것이 무엇을 나타내는지 한번 알아보자면 현재 kernel의 크기는 3x3의 크기이며, 7x7이미지를 sliding window 하고있는 상황이다.
근데 왜 흝는 과정에서 5x5커널처럼 흝고있느냐? 바로 nn.Conv2d 의 파라미터 중 dilation이란 값이 있는데 이 값이 2이기 때문이다. nn.Conv2d document 살펴보기
기본 값은 1이며 1을 준다는 것은 커널 안 파라미터들(예시에서는 3x3) 사이사이 간격을 주는 것이다. 1을 준다면 그냥 밀집된 kernel이며 2를 준다면 예시와 같이 듬성듬성한 kernel이 되는 것이다.
여기서 2를 주어서 듬성듬성한 kernel이라면 듬성듬성 빈 곳의 값은 0을 주는 것이다.
어느 정도 이해한 후 그림을 다시 살펴보자면 3x3 kernel을 사용하였지만 dilation 값을 2로 줌으로써 5x5 커널처럼 이미지를 흝고있음을 알 수 있다.
그러면 처음부터 5x5 kernel을 사용하지 왜 3x3 kernel을 사용하냐?
학습시키는 파라미터 수에 대한 부담이라고 할 수 있다.
한마디로 어느 정도 정보의 손실은 일어날 수 있겠지만 적은 수의 파라미터로 이미지를 살펴볼 수 있다.
이러한 방법은 큰 이미지를 다룰 때 효과적이라고 한다.
'딥러닝' 카테고리의 다른 글
GRN(Global Response Normalization)에 대한 이해(LRN을 곁들인) (0) | 2023.02.18 |
---|---|
einops rearrange 공부해보기 (0) | 2023.02.10 |
Convolutional Neural Network 특징 (0) | 2023.01.05 |
RNN(Recurrent Neural Network)에 대한 이해해보기 (0) | 2023.01.02 |
*args와 **kwargs 쓰임 (0) | 2022.12.30 |