1. RNN(Recurrent Neural Network)의 개요
가. RNN 정의
- 시퀀스 데이터 처리 위해서, 은닉층에서 나온 결과값을 다시 은닉층으로 돌아가 새로운 입력값과 연산을 수행하는 순환구조
나. RNN 사용 예시
(1) 시계열 데이터 학습 가능
(2) 음성 파형, 자연어 학습 가능
(3) 자연어 처리, 음성 인식과 같은 순서가 있는 데이터 처리
2. RNN의 구조 및 설명
- 위그람과 같이 RNN 순환구조를 펼친 형태로 입력값 {x0,x1,.....,xt}를 순차적으로 입력시 각 입력에 대응해 {h0,h1,...,ht}가 출력됨.
- 이때 RNN계층은 모두 같은 계층이고 출력{h0,h1,...,ht}를 각각 k 시점에서의 은닉 상태라고 함.
3. RNN 언어 모델 적용 예
아래 그림은 'You say goodbye and I say hello' 에서 각 단어 다음에 나올 단어 예측하며 학습 시킨 RNN 언어 모델임
- You라는 단어가 Embedding 계층을 거친 후 RNN에 입력되면, you의 은닉상태 h_you를 출력하고 다음에 올 단어 say를 예측함.
- 위와 같은 과정이 RNN 학습, 순전파 과정임.
- 이후 역전파 과정을 거치며 예측 단어와 실제 단어를 비교하면서 가중치와 은닉 상태를 업그레이드함.
4. RNN 문제점
- RNN 에서 역전파가 진행되면서 기울기 소실되는 문제가 발생함
- 오차 역전파 통해 은닉 상태, 가중치, 편향은 기울기/미분값이 반영되며 업그레이드 됨
- 만약 RNN 계층이 많다면, 오차역전파가 진행될수록 기울기가 소실되는 문제가 발생함.
- 이 문제 해결하기 위해서 LSTM(Long short-term memory) 사용함 -끝-
'메가노트 > 토픽과제(정리)' 카테고리의 다른 글
기울기 소실(배준호 대리님) (0) | 2022.11.11 |
---|---|
연합학습(황선환 이사님) (0) | 2022.11.05 |
CNN(convolutionanl neural network)(김도현 부장님) (0) | 2022.11.05 |
신경망 학습(이상희 부장님) (0) | 2022.11.05 |
모델옵스(홍진택 주무관님) (0) | 2022.11.05 |