■ CNN이란?
합성곱 작업을 수행하는 Neural Network
이미지를 분석하는데 유용, 이미지가 아닌 분야에서도 사용하기도 함
■ CNN의 계산 방법
이미지(행렬)을 input으로 받아 kernel과 연산 → feature map을 출력
파이토치에서는 3차원 합성곱까지 가능 Conv1d, Conv2d, Conv3d
■ hyperparameter
● kernel size
2,3,... input과 연산되는 커널의 크기,
커널 크기가 커지면 출력 크기가 작아짐
● stride
연산을 몇 칸씩 띄면서 연산할지
stride 크기가 커지면 출력 크기가 작아짐
● padding
입력 텐서에 0을 얼마나 추가할지
zero padding을 많이 사용하고 출력 크기를 조절해줄 수 있음
● dilattion
연산을 몇 칸 간격으로 진행할지
마찬가지로 커지면 출력 크기가 작아짐
●Channel
input 각 포이늩에 있는 feature dimension을 의미
ex) 컬러 사진에는 RGB 3개의 차원이 존재
■ Pooling Layer
이미지를 Down Sampling하는 역할을 함
●sum pooling
●average pooling
●max pooling
■ bacth normalization
CNN의 출력에 적용
activation 값이 정규화되도록 만듦(평균 0, 분산 1)
model parameter를 둔하게 만들어 안정성을 더해줌