Python Coding

[Python Coding] 순환신경망(RNN - Recurrent Neural Network)

hyunwoo_studying_note 2020. 2. 14. 11:52

보통의  NN(Neural Network)는 입력층 -> 은닉층 -> 출력층의 순환구조인 반면에 RNN은 은닉층의 결과값이 출력층으로 감과 동시에 은닉층의 입력값으로도 순환됨(내부 순환)

* 이는 순서(sequence)가 있는 데이터를 처리하는 데 강점을 가진 신경망

 

ex) i live in seoul

     i seoul in live

 

순서가 있는  데이터

- 문장이나 음성 같은 연속적인 데이터

- 순서가 달라지면 데이터의 의미가 달라짐

- 즉, 현재 데이터 의미를 알기 위해서는 과거 데이터 또한 알고 있어야 함

- 그렇기 때문에 과거 데이터를 은닉층에서 내부 순환을 해주어야 과거 데이터를 계속 기억할 수 있음

- 여기에 추가로 입력된 데이터와 연결시켜 의미를 파악하는 구조

 

시간 개념을 포함함 RNN 구조

- 은닉층에서 기억하는 과거의 데이터와 일정 시간이 지난 후에 입력되는 데이터에 견결시켜 주는 구조로도 생각해볼 수 있음

 

* 생각할 수 있은 점

- 시계열 구조의 데이터를 분석할 때 용이할 수 있다는 생각이 듦

 

 

출처: https://www.youtube.com/watch?v=rDkDyGJpp7E&list=PLS8gIc2q83OjStGjdTF2LZtc0vefCAbnX&index=36&t=0s