[DL] RNN 순환신경망

최윤진·2023년 3월 1일
0

DL

목록 보기
4/5

📍RNN

  • 시계열 데이터를 처리하기 위한 모델
    • 순차적, 반복적 데이터를 학습하는 데 특화된 알고리즘이다!
  • 내부가 순환구조로 이루어져 있는 인공신경망
  • 입력층, 은닉층, 출력층으로 구성되어 있지만 은닉층이 이전 데이터를 참조해 앞으로의 데이터를 예측하는 연결되어 있는 구조

📍품사 태깅으로 이해하는 RNN

I가 들어왔을 때 대명사라고 인지
work가 들어왔을 때는 I라는 값이 영향을 주고 동사라고 인식한다.
GOOGLE이 들어오게 되면 I WORK AT이 들어오면서 명사일 확률이 높다고 인식하게 된다. 이렇게 이전의 데이터를 참조해서 다음의 단어 품사가 무엇인지 영향을 받게 되는 것!

좀 더 세세한 구조를 알아보자


h1에서 나가는 것을 보면 state와 oupput이 동일한 값으로 나가고 두가지 weight값이 들어온다.

Input값이 들어올 때 Wxh값이 곱해지고. 과거의 값이 들어올 때 Whh 값이 곱해진다. 이 두가지 값을 고려해서 다음 h2값이 정해지는 것인데 여기서 고려한다는 것을 (+)로 표현한 것이다.

다음 편향값을 더해준다.

마지막으로 tanh라는 활성화 함수를 넣어줘서 딥러닝 모델의 비선형성을 부가시켜주게 된다.
(✔️ 더 복잡한 관계를 표현할 수 있도록 비선형성이 필요하다. 선형만 있을 때 레이어를 쌓을 수 없다.)

마지막 output은 활성화 함수의 출력값이 되고, state 값으로 나가게 된다.

📌 어떻게 품사를 구분할까?


softmax함수를 지나가게 되면 4가지의 품사중에 가장 높은 결과가 나오게 된다.


정답값과 모델의 예측값을 비교해서 이 둘의 차이를 줄여 나가는 과정을 학습 과정이라고 한다.
👉 줄여나가는 과정을 통해 Wxh,Whh,bias 값을 최적화 시켜준다.


Wxh,Whh,bias 값이 여러 개 존재했지만, 그저 하나의 변수라고 생각하면 다음과 같이 간단한 식으로 RNN을 표현할 수 있다.

profile
yunjin.log

0개의 댓글