본문 바로가기

Data Science

RNN

RNN (= Recurrent Neural Network)

 

◎ 가장 기본적인 Sequence 모델

 

◎ many-to-one / many-to-many 등 다양하게 응용 가능

 

 

출처 : https://wikidocs.net/22886

 

 

 

수식

 

◎ 현재 timestamp $t$ 에서의 은닉층 메모리 cell 입력

→ $x_{t}\ and\ h_{t-1}$

$x_{t}$ : 현재 timestamp $t$ 에서의 input vector

$h_{t-1}$ : 이전 timestamp $t-1$ 에서의 hidden vector

 

 

출처 : https://wikidocs.net/22886

 

은닉층(= hidden layer) 계산 수식

$h_{t} = tanh(W_{x} x_{t} + W_{h}h_{t−1} + b)$

 

 출력층(= output layer) 계산 수식

 $y_{t} = f(W_{y}h_{t} + b)$

→ $f$ 는 비선형 활성화함수

→ 주어진 Task에 맞는 $f$ 선택 (ex. 이진분류 : sigmoid)

 

 

 

Deep RNN (= 깊은 순환 신경망)

 

◎ 아래와 같이 은닉층을 깊게 쌓는 것도 가능하다.

 

출처 : https://wikidocs.net/22886

 

 

 

Bidirectional RNN (= 양방향 순환 신경망)

 

출처 : https://wikidocs.net/22886

 

◎ 위와 같이 timestamp를 양방향으로 학습하는 것도 가능하다.

→ 강점 : 미래 시점의 정보를 예측에 활용할 수 있다.

ex) "운동을 열심히 하는 것은 [ ]을 늘리는데 효과적이다." 라는 문장에서 가운데 빈 칸에 들어갈 단어를 예측할 때,

"운동을 열심히 하는 것은" 뿐만 아니라, "을 늘리는데 효과적이다." 라는 정보도 예측에 활용할 수 있다.

 

 

 


 

 References

 

< wikidocs, RNN >

 

'Data Science' 카테고리의 다른 글

통계 기초 개념 (01)  (0) 2024.03.17
CRM 마케팅 이해하기 (인프런)  (0) 2024.01.20
FastText  (1) 2023.10.08
GloVe  (0) 2023.10.07
Word2Vec  (0) 2023.10.06