티스토리 뷰

Convolution

 

 

image

 

> stride : fiter를 한 번에 얼마나 이동할 것 인지 설정, 위 예시는 stride 1이다.

> 필터가 이미지 위에서 stride하는 과정을 상세히 살펴보면

(1+1) + (2x0) + (3x1) + (0x0) + (1x1) + (5x0) + (1x1) + (0x0) + (2x1) = 8로 output의 번째 block이 계산되는 것을 볼 수 있다.


image

> Padding : 인풋 이미지에 zero - padding을 상하좌우에 추가하는 과정

padding을 사용하게되면 stride으로 인해 줄어드는 input크기를 보존할 수 있다.


* Convolution에서의 input

> Input type : torch.Tensor

> Input shape : (N * C * H * W) - (batch_size, channel, height, width)

image

예제1) 55 X 55, 예제2) 29.5 X 29.5 -> 29 X 29, 예제3) 32 X 32

예제4) 28 X 60, 예제5) 64 X 32


image

image

image

> Pooling은 이미지 size를 줄이거나 fully connected 연산을 대체하기 위해서 사용한다.

> Max Pooling : Pooling layer filter size에 따라서 최대값을 산출

Average Pooling : Pooling layer filter size에 따라서 평균값을 산출


 

VGG-net

image

> 3*3 Conv size를 사용, stride 1, padding 1로만 되어있다.

> 작은 필터를 여러 개를 잘 사용하면 Receptive Field를 유지하면서 Parameter의 수를 줄일 수 있다.


 

ResNet

image

> identity를 layer에 추가 시켜주어 conv layer가 깊어질때 원본 데이터의 특징이 사라지는 경우는 방지한다.

> ResNet 코드중에 downsample은 stride = 2일때 feature size가 줄어드니까 identity값도 같이 낮춰주기 위해서 사용하는 동시에 channel size를 맞춰준다.


image

> Classification : 분류 문제 해결,

> Object detection : 사진 안에 객체를 찾는 것,

> Object tracking : 이전의 frame과 현재의 frame의 객체의 연관관계를 찾아내는 것,

> Segmentation : 분할(모든 픽셀의 레이블을 예측)



참고링크:

[PyTorch] Lab-10-0 Convolution Neural Networkintro

[PyTorch] Lab-10-1 Convolution

[PyTorch] Lab-10-2 mnist cnn

[PyTorch] Lab-10-3 visdom

[PyTorch] Lab-10-4-1 ImageFolder1

[PyTorch] Lab-10-4-2 ImageFolder2

[PyTorch] Lab-10-5 Advance CNN(VGG)

[PyTorch] Lab-10-6-1 Advanced CNN(RESNET)1

[PyTorch] Lab-10-6-2 Advanced CNN(RESNET)2

[PyTorch] Lab-10-7 Next step of CNN

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함