본문 바로가기
교육은 한 사람의 인생을 바꾼다/AI교육

인공신경망의 이해 : RNN ( 순환 신경망)

by 함께 만드는 블로그 2023. 1. 27.
반응형

 1. 인공신경망의 약점 : 기억력 부족!

 인공신경망은 분류에 큰 장점이 있다. 하지만 기억을 할 수 있는 노드가 없기 때문에 시계열적 데이터, 즉 순서가 문제가 되는 데이터를 처리할 수 없다. 이런 약점을 보완한 것이 바로 RNN이다. 

 

 2. RNN : Recurrent Neural Network = 순환 신경망, 재귀 신경망

  1) 원 핫 인코딩(One Hot Encoding)

 이미지 데이터와는 다른 시계열 데이터(순서가 있는)를 처리하기 위해서는 독립적인 데이터를 컴퓨터가 이해할 수 있는 0과 1로 변환하는 작업이 필요하다. 이를 원 핫 인코딩이라고 한다. 예를 들어보자

H E L O
(1,0,0,0) (0,1,0,0) (0,0,1,0) (0,0,0,1)

 H,E,L,O 라는 4가지 단어를 원 핫 인코딩 한 것이다. 여기서 왜 H가 (1,0,0,0) 일까? 아무 이유 없다. 그냥 제일 먼저 나왔기 때문에 제일 앞이 1인 것이다. 다만, 한 알고리즘 내에서 통일해서 계속 그렇게 쓰면 된다. 이렇게 다양한 데이터를 매우 이해하기 쉽게 컴퓨터에 입력시키는 가장 기본적 방식이다.

 

 2) 기억을 갖는 방법 : 은닉층을 연결시켜라!

 인공신경망이 기억을 갖는 방법은 간단하다. 바로 출력값의 일부분을 다시 입력값으로 넣어주면 된다. RNN은 그러기 위해서 가장 간단하게 은닉층과 은닉층을 연결하는 방법을 사용한다. 재귀형 신경망의 '재귀'의 뜻이 원래 자리로 되돌아 온다는 뜻인데, 바로 은닉층 값의 재귀를 뜻하는 것이다. 위의 그림에서 W_hh 부분과 은닉층끼리 연결된 화살표를 주목하자. 은닉층끼리도 가중치로 연결되어 바로 전의 은닉층 값이 다음 은닉층 값에 영향을 준다.

 

 이를 수식으로 살펴보면, 새 은닉층의 값(h_t)은 전 은닉층의 값(h_t)과 현재 입력값(x_t)에 가중치(w_hh)의 선형합(f_w)과 같다. 여기서 중요한 사실은 현 은닉층값을 도출할 때, 현재 입력값 뿐만 아니라 전의 은닉층 값을 참조한다는 점이다. 이 과정에서 과거의 기억이 신경망 내에 온전히 전해지게 된다. 

 

 최종적으로 위와 같이 RNN이 만들어 진다. 원핫인코딩으로 h/e/l 을 인코딩하고 그 값들의 가중치와의 선형합과 전 은닉층의 값과 가중치의 선형합을 더해 현  은닉층 값을 정하고 출력층으로 보내면 출력층에서 다시 가중치와의 선형합을 통해 다음에 나올 글자를 판단한다. 가장 높은 원 핫 인코딩 값에 의해 다음에 올 글자를 판단하는 것이다.

반응형

댓글