17강. RNN 알고리즘
추천글 : 【알고리즘】 알고리즘 목차
1. 개요 [본문]
2. 고려사항 [본문]
3. 종류 1. RNN 이전의 회귀 모델 [본문]
4. 종류 2. LSTM [본문]
5. 종류 3. GRU [본문]
1. 개요 [목차]
⑴ RNN(recurrent neural network) : 입력층, 은닉층, 출력층으로 구성되는 다층 퍼셉트론에서 은닉층이 재귀적인 신경망을 갖는 알고리즘
⑵ 구조
Figure. 1. RNN 알고리즘의 구조
⑶ 용도
① 자연어 : 텍스트 앞 단어와 뒷 단어를 이용
② 음성 신호
③ 시계열 데이터 : 현재 값에다 과거와 미래의 값을 같이 이용
시간이 가면서 데이터의 변화를 보고 미래를 예측하는 것은 어려운 일이지만 굉장히 중요한 일이다. 이러한 문제도 딥러닝 알고리즘을 이용하여 풀 수 있다. x(t), x(t - τ), ..., x(t - kτ)를 입력값으로 하고 x(t + τ)를 목표값으로 하는 여러 학습 데이터를 제공한다. 이때 예측값 y는 y = f (x(t), x(t - τ), ..., x(t - kτ))로 표현할 수 있다. 앞서 살펴본 딥러닝 알고리즘에 의해 이러한 f를 표현하는 네트워크를 만들 수 있다. 비단 한 개의 예측값이 아니라 여러 개의 예측값을 출력할 수도 있다. 이때, y = F(x(t), x(t - τ), ..., x(t - kτ)) = (x1*, ... xm*)이 예측값, G(t + τ) = (x1, ..., xm)이 목표값이다.
2. 고려사항 [목차]
⑴ 장기 의존성 문제(long-term dependenct) : 현재 시점으로부터 오래 전 데이터일수록 문맥 처리가 어려워지는 것
⑵ 기울기 소실(GV, gradient vanishing) : 오역전파 과정에서 입력층으로 갈수록 기울기 값이 0으로 수렴하여 업데이트가 잘 안 되는 것
① 해결방법 : 활성화 함수로 시그모이드 대신 ReLU 등을 사용
⑶ 기울기 폭발(GE, gradient exploding) : 기울기가 점차 커지면서 가중치들이 비정상적으로 크게 업데이트 되는 문제
① 기울기 클리핑(gradient clipping) : 기울기 폭발을 막기 위해 기울기 상한 값을 정하는 기법
3 종류 1. RNN 이전의 회귀 모델 [목차]
⑴ moving average model
⑵ 자기 회귀 모델(autoregressive model)
⑶ ARMA(autoregressive moving average)
⑷ ARMAX(autoregressive moving average with eXogenous inputs) : external variable x에 대하여,
⑸ 문제점 : linearity 가정, 얼마나 과거의 데이터를 써야 하는지에 대한 기준 부재
4 종류 2. LSTM [목차]
⑴ LSTM(long short-term memory) : RNN의 장기 의존성 문제를 보완하기 위해 설계된 신경망 알고리즘
⑵ 구성 : LSTM은 입력 게이트, 망각 게이트, 출력 게이트로 구성됨
① 상태 1. cell state : 정보가 바뀌지 않고 그대로 전달
② 상태 2. forget gate : 시그모이드 결과가 1이면 보존하고 0이면 버림
③ 상태 3. input gate : 새로운 정보 중 어떤 값을 cell state에 저장할 것인지 결정
④ 상태 4. cell state update : cell 업데이트 진행
⑤ 상태 5. output gate : output 정함
5. 종류 3. GRU [목차]
⑴ LSTM과 유사
⑵ LSTM에 비해 구조가 좀 더 간단
⑶ 인풋(텍스트) - 아웃풋(감성 : 긍정, 부정, 중립) 사이에 은닉층들이 있는데 이 은닉층을 어떻게 쌓느냐에 따라 모델 성능이 달라짐
입력: 2023.06.27 00:35
'▶ 자연과학 > ▷ 알고리즘·머신러닝' 카테고리의 다른 글
【알고리즘】 13강. 앙상블 학습 (0) | 2023.06.27 |
---|---|
【알고리즘】 20강. 오토인코더 (0) | 2023.06.27 |
【알고리즘】 21-1강. 프롬프트 엔지니어링 (0) | 2023.04.03 |
【알고리즘】 21강. 자연어 처리(NLP)와 거대 언어 모델(LLM) (0) | 2023.03.31 |
【알고리즘】 7-2강. UMAP(uniform manifold approximation and projection) (0) | 2022.05.19 |
최근댓글