RNN(Recurrent Neural Network)은 sequential한 data를 다루는 모델이다.
Requrrent, 재귀적 학습을 통해 바로 이전 시점의 hidden state 값을 input으로 활용하는 특징을 가지고 있으며
번역, 분류, 분석 등 다양한 자연어 처리 모델에서 활용되고 있다.
(여기서 hidden state는 은닉층으로, 현재를 t 시점이라 할 시 다음 시점인 t+1시점의 자신에게 보내는 값)
가장 기본적인 RNN 모델의 이미지를 생각해본다면 다음과 같다.
위의 예시는 입력층과 출력층의 뉴런 개수가 같지만 뉴런 단위가 달라짐에 따라 RNN 모델의 용도를
다양하게 활용할 수 있다.
먼저 one-to-one은 모델의 기본적인 형태를 나타내고
one - to - many 같은 경우 one에 해당하는 이미지에 맞는 제목을
각각의 텍스트로 출력하고자 하는 용도로 사용 된다.
many - to - one 같은 경우는 어떤 여러 단어로 구성된 텍스트를 가지고
해당하는 감성을 분류를 할 시 활용된다.
many - to - many 같은 경우는 양쪽 다 텍스트를 대상으로 하기에
언어를 번역하는 용도로 활용되곤 한다.
RNN의 hidden state 값을 나타내는 수식은 다음과 같다.
$$ h_{t} = tanh(W_{hh}h_{t-1}+W_{xh}x_{t}+b) $$
t-1시점의 hidden state값에 가중치를 곱해주고, t시점의 input 값에 가중치를 곱해준 후 (b는 편향)
tanh함수에 넣어준다.
출력층 값을 나타내는 수식은 다음과 같다.
$$ y_{t} = f(W_{h}h_{t}+b) $$
t시점의 hidden state값에 가중치를 곱해주고 비선형 활성화 함수에 넣어준다.
RNN을 활용한 Character-level의 언어모델은 다음과 같다.
RNN은 평소에도 많이 다뤘으니 꿑!

'자연어처리 > 개념 정리' 카테고리의 다른 글
Sequence to Sequence 간단 개념 정리 (2) | 2022.09.07 |
---|---|
LSTM/GRU 개념 간단 정리 (0) | 2022.09.07 |
Glove 개념 간단 정리 (0) | 2022.09.05 |
Word2Vec 간단 개념 정리 (0) | 2022.08.31 |
Word Embedding(워드 임베딩) 개념 간단 정리 (0) | 2022.08.31 |
댓글