1. 컨볼루션 연산
- 기존 다층신경망(MLP) : 선형모델 + 활성함수로 모두 연결된(fully connected) 구조
- 컨볼루션 연산 : 입력벡터 상에서 일정 크기를 가진 커널이 움직여가며 선형모델과 활성함수가 적용되는 구조
- (활성함수 제외한)컨볼루션 연산도 선형변환임
- 수학적 의미 : 신호를 커널을 통해 국소적으로 증폭, 감소시켜 정보를 추출, 필터링
- +기호 : CNN에서 사용하는 연산은 사실 convolution이 아니라 cross-correlation이라 부름
- 커널의 적용 : 정의역 내에서 움직여도 변하지 않고(translation invariant) 주어진 신호에 국소적(local)으로 적용
- 1차원 포함 다양한 차원에서 계산 가능 -> 데이터의 성격에 따라 사용하는 커널이 달라짐
1D-conv $[f*g](i) = \sum_{p=1}^{d}f(p)g(i+p)$
2D-conv $[f*g](i,j) = \sum_{p,g}f(p,g)g(i+p,j+q)$
3D-conv $[f*g](i,j,k) = \sum_{p,g,r}f(p,g,r)g(i+p,j+q,k+r)$
* i,j,k가 바뀌어도 커널 f의 값은 불변함
2. 2차원 컨볼루션 연산 이해하기
- 입력 크기를 $(H, W)$, 커널 크기를 $(K_{H}, K_{W})$, 출력 크기를 $(O_{H}, O_{W})$라 하면 출력 크기는 다음과 같이 계산
- 예시 : 28*28 입력을 3*3커널로 2D-Conv 연산 시 26*26 출력
- 채널이 여러 개인 2차원 입력 -> 2차원 컨볼루션을 채널 수만큼 적용 / 커널의 채널 수와 입력의 채널 수가 같아야 함
$$O_{H} = H - K_{H} + 1$$
$$O_{W} = W - K_{W} + 1$$
- 커널을 1개 사용하면 출력이 2차원, 여러 개 사용하면 텐서(3차원 이상부턴 행렬이 아닌 텐서라 함)가 된다.
3. 컨볼루션 연산의 역전파 이해하기
- 역전파를 계산할 때도 컨볼루션 연산이 나옴(이산형일 때도 마찬가지)
* 위 그림에서의 출력블록을 위에서부터 각각 $O_{1}, O_{2}, O_{3}$ 라고 하자.
1. 출력
- $O_{1} = w_{1}x_{1} + w_{2}x_{2} + w_{3}x_{3}$
- $O_{2} = w_{1}x_{2} + w_{2}x_{3} + w_{3}x_{4}$
- $O_{3} = w_{1}x_{3} + w_{2}x_{4} + w_{3}x_{5}$
2. 입력
* 컨볼루션 연산 후 손실함수를 이용해 손실값을 계산, 연전파 알고리즘을 이용하여 그레디언트 벡터를 전달, 출력 벡터의 위치에는 $\delta_{1}, \delta_{2}, \delta_{3}$이라는 미분값이 각각 전달되었다고 하자.
- $x_{1} = \delta_{1}w_{1}$
- $x_{2} = \delta_{1}w_{2} + \delta_{2}w_{1}$
- $x_{3} = \delta_{1}w_{3} + \delta_{2}w_{2} + \delta_{3}w_{1}$
- $x_{4} = \delta_{2}w_{3} +\delta_{3}w_{2}$
- $x_{5} = \delta_{3}w_{3}$
- 역전파 단계에서 다시 커널을 통해 그레디언트가 전달됨
3. 커널
- 예를 들어 손실함수를 $W_{1}$로 미분하면 $\frac{\partial L}{\partial w_{1}} = \delta_{1}x_{1} + \delta_{2}x_{2} + \delta_{3}x_{3}$
- 수식은 다음과 같다. 각 커널에 들어오는 모든 그레디언트를 더하면 결국 컨볼루션 연산과 같다.
$$\frac{\partial L}{\partial w_{i}} = \sum_{j}\delta_{j}x_{i+j-1}$$
'AI > AITech 3기' 카테고리의 다른 글
[PyTorch] 1강 Introduction to PyTorch (2) | 2022.01.24 |
---|---|
[AI Math] 10강 RNN 첫걸음 (0) | 2022.01.23 |
[AI Math] 8강 베이즈 통계학 맛보기 (0) | 2022.01.23 |
[AI Math] 7강 통계학 맛보기 (0) | 2022.01.22 |
[AI Math] 6강 확률론 맛보기 (0) | 2022.01.22 |