티스토리 뷰
Convolution
> stride : fiter를 한 번에 얼마나 이동할 것 인지 설정, 위 예시는 stride 1이다.
> 필터가 이미지 위에서 stride하는 과정을 상세히 살펴보면
(1+1) + (2x0) + (3x1) + (0x0) + (1x1) + (5x0) + (1x1) + (0x0) + (2x1) = 8로 output의 번째 block이 계산되는 것을 볼 수 있다.
> Padding : 인풋 이미지에 zero - padding을 상하좌우에 추가하는 과정
padding을 사용하게되면 stride으로 인해 줄어드는 input크기를 보존할 수 있다.
* Convolution에서의 input
> Input type : torch.Tensor
> Input shape : (N * C * H * W) - (batch_size, channel, height, width)
예제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
> Pooling은 이미지 size를 줄이거나 fully connected 연산을 대체하기 위해서 사용한다.
> Max Pooling : Pooling layer filter size에 따라서 최대값을 산출
Average Pooling : Pooling layer filter size에 따라서 평균값을 산출
VGG-net
> 3*3 Conv size를 사용, stride 1, padding 1로만 되어있다.
> 작은 필터를 여러 개를 잘 사용하면 Receptive Field를 유지하면서 Parameter의 수를 줄일 수 있다.
ResNet
> identity를 layer에 추가 시켜주어 conv layer가 깊어질때 원본 데이터의 특징이 사라지는 경우는 방지한다.
> ResNet 코드중에 downsample은 stride = 2일때 feature size가 줄어드니까 identity값도 같이 낮춰주기 위해서 사용하는 동시에 channel size를 맞춰준다.
> Classification : 분류 문제 해결,
> Object detection : 사진 안에 객체를 찾는 것,
> Object tracking : 이전의 frame과 현재의 frame의 객체의 연관관계를 찾아내는 것,
> Segmentation : 분할(모든 픽셀의 레이블을 예측)
참고링크:
[PyTorch] Lab-10-0 Convolution Neural Networkintro
[PyTorch] Lab-10-1 Convolution
[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
'모모딥 시즌2 정리' 카테고리의 다른 글
[PyTorch] Lab-08 Perceptron, Multi Layer Perceptron (0) | 2019.09.02 |
---|---|
[PyTorch] Lab-09 ReLU, Weight initialization, Dropout,Batch Normalization (0) | 2019.06.10 |
[PyTorch] Lab-07 Tips, MNIST Introduction (0) | 2019.06.04 |
[PyTorch] Lab-06 Softmax Classification (0) | 2019.06.04 |
[PyTorch] Lab-05 Logistic Regression (0) | 2019.06.02 |