AI/AI Math

[Math] CNN과 RNN 기본 개념

sangwonYoon 2023. 3. 13. 01:45

기본적인 딥러닝 모델 중 하나인 CNN과 RNN의 개념에 대해 알아보자.


CNN

 

커널을 입력벡터 상에서 움직여가면서 선형 모델과 합성함수가 적용되는 구조이다.

 

2D convolution 연산

 

입력이 3차원인 경우, 즉 여러 채널의 2차원 입력이 주어질 경우, 커널의 채널 수를 입력의 채널 수와 같게 만들어야 한다.

 

 

출력의 채널 개수를 O_c개로 만들고 싶다면, 커널을 O_c개 사용하면 된다.

 

 

 

CNN의 역전파

 

 

 

간단한 CNN 구조에서 순전파의 예시 그림이다.

 

 

그레디언트가 출력 벡터에 전달된다.

 

 

커널의 각 파라미터에 전달되는 그레디언트는 convolution 연산과 같은 형태가 된다.

 

 

RNN

 

시퀀스 데이터의 패턴을 학습하는데 특화된 인공 신경망의 한 종류이다.

 

 

이전 시퀀스의 정보들을 잠재변수 H_t에 모아, 출력을 만들고, 다음 순서의 잠재변수 H_(t+1)을 인코딩한다.

 

 

 

역전파를 시간의 역순으로 진행하는 BPTT(Backpropagation Through Time)은 시퀀스의 길이가 길어질수록, 미분 값이 0에 수렴하거나, 무한대로 발산하는 문제가 있다.

 

 

이러한 문제를 해결하기 위해 역전파를 중간에 끊어주는 truncated BPTT를 진행한다.

'AI > AI Math' 카테고리의 다른 글

Latex 명령어 정리  (2) 2023.04.24
[Math] 조건부 확률과 인과 관계  (0) 2023.03.12
[Math] 다층 퍼셉트론  (0) 2023.03.12
[Math] 경사 하강법  (0) 2023.03.11
[Math] 벡터와 행렬  (2) 2023.03.11