위키득계정 ↗
기술

단순 순환 신경망

단순 순환 신경망기술
영문명
Simple recurrent neural network
주요 상태
은닉 벡터
기본 입력
현재 특징과 이전 상태
가중치 사용
시간 위치 사이에서 공유
단순 순환 신경망은 현재 입력과 이전 은닉 상태를 함께 사용해 새 상태를 계산하는 순차 모델이다. 같은 갱신 규칙을 시간 위치마다 반복한다. 과거 정보는 은닉 상태를 통해 다음 단계에 전달된다.

상태의 갱신

대표적인 형태는 hₜ=φ(Wxₜ+Uhₜ₋₁+b)다. x는 현재 입력, h는 은닉 상태이고 φ는 활성화 함수다. 같은 W와 U를 각 시간 위치에서 사용한다. 전체 순서를 한 번에 펼친 벡터에 별도 가중치를 붙이는 방식과 다르다.

순서가 바꾸는 결과

항등 활성화, 초기 상태 0, hₜ=xₜ+0.5hₜ₋₁인 일차원 예를 보자. 입력 (2,4)를 처리하면 상태는 2와 5다. 반대로 (4,2)를 처리하면 상태는 4와 4다. 같은 두 값이어도 순서에 따라 마지막 상태가 달라진다. 이 예는 계산을 단순화한 선형 순환 모델이다.

출력과 매개변수

입력 차원이 3, 은닉 차원이 4이면 기본 가중치는 W의 12개와 U의 16개, 편향 4개로 총 32개다. 순서 길이가 길어진다고 같은 층의 가중치 수가 늘지는 않는다. 출력은 마지막 상태만 내거나 각 단계 상태를 모두 반환하도록 정할 수 있다.

기억과 초기 상태

상태 크기가 유한하고 갱신이 반복되므로 모든 과거 정보를 손실 없이 저장하는 구조는 아니다. 앞의 선형 예에서 오래된 상태의 영향은 단계마다 0.5배가 된다. 서로 독립인 순서라면 상태를 초기화하는 것이 보통이며, 배치 간 상태를 이어 쓰려면 표본의 대응 관계도 관리해야 한다.

관련 문서

인공 신경망 / 완전연결 층 / 활성화 함수 / 임베딩 층 / 드롭아웃 / 기울기 클리핑 / 내적 어텐션