📌 순환 신경망
-
이전 샘플의 출력을 재사용하는 순환되는 고리가 있는 신경망
-
여러 개의 뉴런을 하나의 큰 셀(=순환층)로 표현
-
셀의 출력값 = 은닉상태 h (특성맵과 같음)
-
활성화 함수 tanh : -1~1 (sigmoid : 0~1 )
-
time step 1 : 샘플A -> 뉴런 -> O(A)
-
time step 2 : O(A) + B -> 뉴런 -> O(B)
📍 타임스텝
- 타임스텝의 은닉상태 h 재사용 -> 가중치 Wh와 곱해짐
- 가중치 Wx, Wh 매번 동일
- time step 1 : X1×Wx + h0×Wx = h1
time step 2 : X2×Wx + h1×Wh = h2
time step 3 : X3×Wx + h2×Wh = h3
📍 가중치
- 은닉상태 h가 모든 뉴런에 완전연결 -> 셀로 간단히 표현
- 뉴런 3개 <-완전연결-> 출력 h 3개 : 가중치 3x3=9개
📍 입력
- 문장 샘플 -> 단어 하나당 3개 원소 벡터
= 1 x 4(타임스텝) x 3
- 순환층(셀)의 뉴런 개수만큼 출력
📌 다층 순환 신경망
- 셀에서 출력되는 은닉상태 = 마지막 타임스텝의 은닉상태
but 다층일 경우
- 마지막 셀에서 출력되는 은닉상태만 마지막 타임스텝의 은닉상태
- 이전의 모든 셀은 모든 타임스텝의 은닉상태 출력 (3차원 입력 tensor)
📌 예측
10개 셀 -> 10개 출력 -> dense 층에 바로 입력 가능 ( Flatten X)
🔗 혼공 MLDL-23