[Deep Learning] CNN, RNN 간단히 알아보기
개념을 간단하게 설명해주는 강의여서 어렵지 않았다.
CNN
Convolution 연산 이해하기
- Convolution 연산의 수학적인 의미는 신호(signal)를 커널을 이용해 국소 적으로 증폭 또는 감소시켜서 정보를 추출 또는 필터링하는 것입니다.
- 수식으로 이해하기 어려우니 그림으로 이해하자.
Convolution 연산의 역전파 이해하기
RNN
시퀀스 데이터 이해하기
- 소리, 문자열, 주가 등의 데이터를 시퀀스(sequence) 데이터로 분류
- 시퀀스 데이터는 독립동등분포(i.i.d.) 가정을 잘 위배하기 때문에 순서를 바 꾸거나 과거 정보에 손실이 발생하면 데이터의 확률분포도 바뀌게 된다.
- 베이즈 법칙을 이용하여 이전 시퀀스 정보를 이후 발생할 데이터의 확률분포를 다루기 위해 조건부확률을 이용한다.
- 시퀀스 데이터를 다루기 위해선 길이가 가변적인 데이터를 다룰 수 있는 모 델이 필요하다.
위의 그림에서 빨간색 부분을 \(\tau\)(타우)로 나타내고 타우만큼의 시퀀스만 사용하는 경우 AR(\(\tau\)) (Autogressive Model) 자기회귀모델이라고 부른다.
다른 방법으로는 위의 그림을 보면 바로 이전 정보를 제외한 나머지 정보들을 \(H_t\)라는 잠재변수로 인코딩해 활용하는 잠재 AR모델이다. \(H_t\)를 신경망을 통해 반복해서 사용하여 시퀀스 데이터의 패턴을 학습하는 모델이 RNN이다.
RNN (Recurrent Neural Network) 이해하기
- 가장 기본적인 RNN모형은 MLP와 유사하다.
- RNN은 이전 순서의 잠재변수와 현재의 입력을 활용하여 모델링함.
- RNN의 역전파는 잠재변수의 연결그래프에 따라 순차적으로 계산
BPTT(Backpropagation Through Time)
- BPTT 를 통해 RNN 의 가중치행렬의 미분을 계산해보면 아래와 같이 미분의 곱으로 이루어진 항이 계산됩니다.
Comments