티스토리 뷰

1. 순환 신경망(Recurrent Neural Network, RNN)

  • CNN? 
    • 컴퓨터 비전 문제에 주로 사용되는 인공신경망 구조
    • Try to find local features from a sequence
  • RNN?
    •  시계열 데이터 등의 맥락을 고려해 학습할 수 있으므로 음성 같은 파형 데이터자연어 등의 학습에 이용

 

 

 

  • 순환신경망의 학습은 확률적 경사 하강법을 이용하여 실시간 순환 학습(Real-Time Recurrent Learning, RTRL)이나 시간 기반 오차 역전파(BackPropagation Through Time,BPIT)로 가중치를 업데이트
  • RNN은 시계열 데이터를 다루기에 최적화된 인공 신경망
  • 시계열 데이터란 시간 축을 중심으로 현재 시간의 데이터가 앞, 뒤 시간의 데이터와 연관 관계를 가지고 있는 데이터를 의미
  • RNN은 이전 상태의 대한 정보를 일종의 메모리 형태로 저장할 수 있음. 정보가 다음에 얻은 데이터와 연관 관계를 가지는 시계열 데이터를 다룰 때 매우 강력한 효과를 발휘 

 

 

 

 

1.1 Recurrent Neural Networks: Process Sequences

  • RNN은 입력과 출력의 길이를 다르게 설계할 수 있으므로 다양한용도로 사용할 수 있음 

1.1.1 one to one

 

 

 

1.1.2 one to many

  • Image captioning(하나의 이미지 입력에 대해서 사진의 제목을 출력하는 이미지) 
  • Image -> sequence of words 

 

1.1.3 many to one

  • 입력 문서가 긍정적인지 부정적인지 판별하는 sentiment classification
  • 메일이 정상메일인지 스팸메일인지 판별하는 스팸 메일 분류(spam detection) 

 

1.1.4 many to many

  • Machine Translation
  • sentence -> sentence , 입력 문장으로부터 대답 문장을 출력하는 챗봇과 입력 문장으로부터 번역된 문장을 출력하는 번역기 

 

1.1.5 many to many 

  • Stock Price Prediction
  • Prediction of next word 

 

 

 

1.2 Recurrent Neural Networks 

        • $x^2$ : Input at time t
        • $h_t$ : hidden state at time t
        • $f$ : is an activation function
        • $U,V,W$ : network parameters
        • $g$ : activation function for the output layer

 

 

 

 

 

2. LSTM(Long Short-Term Memory)

        • Vanishing gradient problem(기울기 소실 문제)
        • Vanilla RNN? 순환 신경망은 거슬러 올라가는 단계 수가 많아지면 기울기 소실 문제 때문에 제대로 학습할 수 없다
        • 이로인해 RNN은 장기 기억력을 가지지 못함 
        • 이 문제를 개선한 것이 Long Short-Term Memory이다.

 

 

 

  • 망각게이트(forget gate) $f$-  Whether to erase cell 
    • Input gate와 똑같은 형태로 단지 곱해지는 가중치가 포겟 게이트로 이어지는 가중치로 바뀜
    •  이전 시간에 있던 인풋 데이터의 영향력을 반영할지 혹은 반영하지 않을지 결정함 
  • 입력게이트(Input gate) $i$- whether to write to cell
    • 현재 시간 t의 입력 데이터에 Input gate로 이어지는 가중치 w를 곱해서 더한 값과 이전 시간 t-1의 메모리 블럭 출력값과 셀 출력 값에 인풋 게이트로 이어지는 가중치를 곱한 값을 더해서 인풋 게이트의 출력값을 계산하게 됨 
    • 현재 시간 t에서 받은 Input data의 영향력을 반영하지 않을지 결정  
  • Gate gate $g$ - How much to write to cell
  • Output gate $o$ - How much to reveal cell
  • $c_t$, $h_t$  출력값

 

 

 

 

 

 

 

 

 

 

 

3. GRU 

  • LSTM의 간략화된 버전으로 LSTM 게이트 3개를 2개로 축소 
  • Reset Gate $r$과 Update Gate $z$를 가지고 있음 
  • 출력값을 계산할 때 추가적인 비선형 함수를 적용하지 않는다. 

 

 

 

 

<출처>

1. 스탠포드 강의자료 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함