순차 데이터의 일반적 표기
- 벡터의 벡터(벡터의 요소가 벡터)
- 훈련집합
,
- 각 샘플(여기서 와 는 1대1 대응되지 않을 수 있다)
,
대표적인 순차 데이터, 문자열의 표현: 사전 사용
- 사전 구축 방법: 사람이 사용하는 단어를 모아 구축 또는 주어진 말뭉치를 분석하여 단어를 자동 추출하여 구축
- 사전을 사용한 텍스트 순차 데이터의 표현 방법
기존의 깊은 신경망과 유사하게 입력층, 은닉층, 출력층이 있으나 다른 점은 은닉층이 순환 연결을 가진다는 점!
은닉층의 순환 연결
- 시간성, 가변 길이, 문맥 의존성을 모두 처리할 수 있음
- 순환 연결은 t-1 순간에 발생한 정보를 t 순간으로 전달하는 역할
수식적으로 살펴보자
- 순간에 계산, 그 결과를 가지고 순간에 계산, ... 순간까지 반복
- 일반적으로 순간에는 순간에 은닉층 값(상태) 와 t순간의 입력 를 받아 로 전환
순환 신경망의 매개변수
- 가중치 집합
- 는 입력층과 은닉층을 연결하는 pxd행렬
- 는 은닉층과 은닉층을 연결하는 pxp행렬
- 는 은닉층과 출력층을 연결하는 qxp행렬
- 는 바이어스로서 각각 px1과 qx1행렬
매개변수 공유
- 매 순간 다른 값을 사용하지 않고 같은 값을 공유함
- 추정할 매개변수 수가 획기적으로 줄어듦
- 매개변수의 수가 특징 벡터의 길이 에 무관
- 특징이 나타나는 순간이 뒤바뀌어도 같더나 유사한 출력을 만들 수 있음
은닉층의 계산
,
이때,
(순간의 입력에서 를 곱하고, 이전 층에서 나온 에 를 곱함)
출력층의 계산
back propagation through "time"
RNN과 DMLP의 차별성
- RNN은 샘플마다 은닉층의 수가 다름(얼마나 전달될 수 있는지에 따라)
- DMLP는 왼쪽에 입력, 오른쪽에 출력이 있지만 RNN은 매 순간 입력과 출력이 있음
- RNN은 가중치를 공유
목적함수의 정의
- 출력값을 , 목푯값을 으로 표기
- 학습이 할 일
경사도 계산()
BPTT 알고리즘