상세 컨텐츠

본문 제목

[논문 리뷰 스터디] Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling

심화 스터디/논문 리뷰 스터디

by 빵지0 2023. 3. 16. 20:46

본문

작성자: 17기 안영지

💡 순환 신경망 (Recurrent Neural Networks, RNN)의 발전된 형태 중 하나인 Gated RNN 모델들의 다양한 구조와 hyperparameter들에 대한 실험적인 평가를 다루는 논문이다.

논문에서는 LSTM, GRU 등의 Gated RNN 의 다양한 변형모델들과, 입력 시퀀스의 길이, hidden layer의 크기 등과 같은 hyperparameter들의 변화에 따른 모델 성능에 대한 실험을 수행하고, 이를 다양한 sequence modeling task에 적용하여 평가한다.

 

본 논문을 리뷰한 DSBA 세미나 영상을 참고하여 RNN, LSTM, GRU모델을 정리해 보았습니다.

[RNN]

Recurrent Neural Network (RNN)은 시퀀스 데이터를 다루기 위한 신경망 구조 중 하나로, 이전에 처리한 데이터를 현재 처리하는데 활용한다. 이를 통해 시퀀스 데이터의 정보를 기억하고 활용할 수 있다.

RNN의 구조

  • 입력 데이터 x_t와 이전 시점의 은닉 상태 h_t-1를 입력으로 받아 현재 시점의 은닉 상태 h_t를 출력
  • 이때, 가중치 W_x와 W_h는 모든 시점에서 공유됨 → 현재 시점의 입력 x_t뿐만 아니라 이전 시점의 입력 x_t-1, x_t-2, ..., x_1에 대한 정보를 현재 시점에서도 활용할 수 있도록 함

Back propagation할 때의 Grdient vanishing Problem으로 시퀀스의 길이가 길어질수록 이전 시점의 정보가 현재 시점까지 전달되기 어렵다는 단점이 있음

해결방안 1) 단순한 확률적 경사 하강법보다 더 나은 학습 알고리즘을 고안 ex) Clipped gradient를 사용- Gradient가 일정 임계값을 초과하면 해당 Gradient의 크기를 일정 값으로 고정시킴. 이를 통해 모델의 학습이 더 안정적으로 이루어지며, Gradient Vanishing이나 Gradient Exploding 문제를 해결함

해결방안 2) 더 정교한 활성화 함수 설계-affine transformation followed by a simple element-wise nonlinearity by using gating units 먼저 입력값에 대해 어파인 변환(affine transformation)을 수행하고, 그 다음에 게이팅 유닛을 사용한 간단한 원소별 비선형성(simple element-wise nonlinearity by using gating units)을 적용 ex) LSTM, GRU

Affine transformation(어파인 변환)은 선형 변환(linear transformation) 중 하나로, 2차원 또는 3차원 공간에서 도형이나 이미지를 변형시키는 기술입니다. 이 변환은 선형 변환과 이동(translation)으로 이루어져 있습니다.어파인 변환은 선의 평행성을 유지하며, 도형의 크기나 각도를 보존하며 이동, 회전, 확대/축소 등의 변형이 가능합니다. 2차원 공간에서의 어파인 변환은 2x3 크기의 행렬로 나타낼 수 있으며, 3차원 공간에서의 어파인 변환은 3x4 크기의 행렬로 나타낼 수 있습니다. 이러한 변환은 행렬 곱셈 연산으로 표현할 수 있습니다.

 

Simple element-wise nonlinearity by using gating units(게이팅 유닛을 사용한 간단한 원소별 비선형성)은 인공신경망에서 자주 사용되는 비선형 함수 중 하나입니다.게이팅 유닛은 입력값에 대한 스칼라 게이트(gate) 값을 가지며, 이 게이트 값에 따라 입력값의 중요성을 조절합니다. 게이팅 유닛은 주로 sigmoid 함수를 사용하여 게이트 값을 생성하며, 이 게이트 값을 이용하여 입력값을 조절합니다.게이팅 유닛을 사용한 간단한 원소별 비선형성은 다음과 같은 수식으로 나타낼 수 있습니다: y = g(x) * f(x) 여기서 x는 입력값, g(x)는 입력값 x에 대한 게이트 값을 나타내는 함수, f(x)는 입력값 x에 대한 비선형 함수입니다. 이 수식에서 g(x)가 0에 가까울수록 입력값 x는 무시되고, g(x)가 1에 가까울수록 입력값 x는 비선형 함수 f(x)에 의해 변형됩니다. 이러한 방식으로 게이팅 유닛을 사용한 간단한 원소별 비선형성은 입력값의 중요성을 조절하여 비선형성을 부여합니다.

[Gated Recurrent Neural Networks]

1) Long Short-Term Memory Unit (LSTM)

LSTM의 구조

  • Forget Gate: Cell State에서 어떠한 정보를 삭제할지 결정
  • Input Gate: 현재 시점에서 어떠한 정보를 Cell State에 추가할지 결정
  • Cell gate: Cell State에서 어떠한 정보를 제거하고, 어떠한 정보를 추가할지 결정
  • Output Gate: Hidden State에서 어떠한 정보를 출력할지 결정

LSTM은 이전 시점의 Hidden State와 Cell State를 현재 시점에서 고려하여 현재 시점의 Hidden State와 Cell State를 계산함. 이때, 가중치 W와 Bias b는 현재 시점에서 공유됨

LSTM의 연산

  • Forget Gate 연산: f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
  • Input Gate 연산: i_t = σ(W_i · [h_{t-1}, x_t] + b_i)
  • Candidate Cell State 연산: ~C_t = tanh(W_C · [h_{t-1}, x_t] + b_C)
  • Cell State 연산: C_t = f_t * C_{t-1} + i_t * ~C_t
  • Output Gate 연산: o_t = σ(W_o · [h_{t-1}, x_t] + b_o)
  • Hidden State 연산: h_t = o_t * tanh(C_t)

여기서, σ는 시그모이드 함수를, tanh는 하이퍼볼릭 탄젠트 함수

[h_{t-1}, x_t]는 이전 시점의 Hidden State와 현재 시점의 입력값을 연결한 벡터

2) Gated Recurrent Unit(GRU)

GRU는 LSTM의 Input Gate와 Forget Gate를 Update Gate로 통합하여 구성되어 있음

GRU의 구조

  • Reset Gate: 이전 시점의 Hidden State와 현재 시점의 입력값을 연결한 벡터를 입력으로 받아, 이전 시점의 Hidden State에서 어떠한 정보를 삭제할지 결정
  • Update Gate: 이전 시점의 Hidden State와 현재 시점의 입력값을 연결한 벡터를 입력으로 받아, 어떠한 정보를 추가하고 어떠한 정보를 삭제할지 결정
  • Candidate Hidden State: Reset Gate와 현재 시점의 입력값을 연결한 벡터를 입력으로 받아, 현재 시점의 Hidden State를 계산하기 위한 후보값을 생성
  • Hidden State: Update Gate와 이전 시점의 Hidden State, 현재 시점의 입력값을 연결한 벡터, Candidate Hidden State 등을 이용하여 현재 시점의 Hidden State를 계산

GRU의 연산

  • Reset Gate 연산: r_t = σ(W_r · [h_{t-1}, x_t])
  • Update Gate 연산: z_t = σ(W_z · [h_{t-1}, x_t])
  • Candidate Hidden State 연산: ~h_t = tanh(W_h · [r_t * h_{t-1}, x_t])
  • Hidden State 연산: h_t = (1 - z_t) * h_{t-1} + z_t * ~h_t

여기서, σ는 시그모이드 함수를, tanh는 하이퍼볼릭 탄젠트 함수를 나타냄

[h_{t-1}, x_t]는 이전 시점의 Hidden State와 현재 시점의 입력값을 연결한 벡터

Discussion

LSTM과 GRU의 공통점:

  • 기존의 콘텐츠를 유지하고 그 위에 새로운 콘텐츠를 추가함 → important feature 그대로 유지됨. (LSTM 장치의 망각 게이트 또는 GRU의 업데이트 게이트에 의해 결정)
  • multiple temporal steps를 뛰어넘는 shortcut paths가 가능함 → 에러들의 back-propagated가 잘 되게 함 → gradients vanishing 문제 개선

LSTM과 GRU의 차이점:

  • Controlling exposure의 유무

LSTM 에서는 메모리 내용의 노출을 제어함. LSTM 장치에서 네트워크의 다른 장치가 보거나 사용하는 메모리 콘텐츠의 양은 출력 게이트에 의해 제어됨. 반면 GRU는 통제 없이 전체 콘텐츠를 노출함

  • Location of the input gate, or the corresponding reset gate

LSTM 유닛은 이전 시간 단계의 메모리는 그대로 수용하고, 망각 게이트와 독립적으로 메모리 셀에 추가되는 새로운 메모리 콘텐츠의 양을 제어함.

반면, GRU는 새로운 후보 활성화를 계산할 때 이전 활성화의 정보 흐름을 제어하지만, 추가되는 후보 활성화의 양을 독립적으로 제어하지는 않음 (input과 forget 역할이 합쳐짐)

Experiments

어떤 유형의 게이팅 장치가 더 나은 성능을 발휘하는지 비교 수행

Max log-likelihood

sequence modeling에서 LSTM, GRU, tanh를 비교(모델의 log-likelihood 최대화)

polyphonic music modeling, speech signal modeling.

  • polyphonic music datasets

GRU는 Nottingham을 제외한 모든 데이터셋에서 LSTM 및 tanh를 능가.

하지만 성능 차이가 크지는 않음

  • Ubisoft datasets

게이트 장치가 있는 GRU, LSTM은 A,B 데이터셋 모두에서 전통적인 분명하게 tanh-RNN을 능가함. LSTM-RNN은 유비소프트 A에서, 유비소프트 B에서, GRU-RNN은 최고의 성능을 보임

그림2) learning curves. y축:negativelog likelihood of the model shown in log-scale.

음악 데이터 세트(그림 2)의 경우, GRU-RNN이 업데이트 수와 실제 CPU 시간 모두에서 더 빠른 진전을 보임.

유비소프트 데이터 세트(그림 3)를 고려하면, tanh-RNN의 각 업데이트에 대한 계산 요구 사항이 다른 모델보다 훨씬 작지만, 각 업데이트마다 많은 진전을 이루지 못했고 결국 훨씬 더 나쁜 수준에서 진전을 중단했다는 것이 분명함.

이 결과는 LSTM과 GRU를 비교하는 데 결정적이지 않으

며, 이는 게이트 반복 단위 유형의 선택이 데이터셋과 해당 작업에 크게 의존할 수 있음을 시사함

그림3)

이 실험은 LSTM 장치와 GRU 모두 기존 tanh 장치에 비해 게이트 장치의 우수성을 분명히 보여줌

더 어려운 음성 신호 모델링 작업에서 더 분명하게 드러남

 

 

관련글 더보기

댓글 영역