📗강의노트/핸즈온 머신러닝

[핸즈온 머신러닝] 제 14장 정리

728x90
반응형

14강. 순환 신경망

< Keyword >

RNN :

순환 뉴런은 타임 스텝마다 X(t)(입력), yt1 (이전 타임 스텝의 출력)을 입력으로 받는다.

RNN 구조

하나의 샘플에 대한 순환 층의 출력은 다음과 같다.

y(t)=ϕ(WTxX(t)+WTyy(t1)+b)

여기서 ϕ는 활성화 함수 역할을 한다.

Memory cell :

어떤 상태를 보존하는 신경망의 구성 요소를 말한다. 일반적으로 타임 스텝 t에서의 셀의 상태 h(t)는 다음과 같다.

h(t)=f(h(t1),X(t))

deep RNN :

셀을 여러 층으로 쌓는 것을 말한다. 여러개의 셀을 만들어서 MultiRNNCell로 쌓아올린다. states는 각 층마다의 마지막 상태를 말한다.

LSTM (Long-Short Term Memory) :

훈련이 빠르게 수렴하고 데이터에 있는 장기간의 의존성을 감지한다.

LSTM 구조

h(t)를 단기 상태, c(t) 를 장기 상태라고 생각할 수 있다.

각 동그라미안에 X를 기준을 설명하면,

  • 첫 번째는 “삭제 게이트”이다. 장기 상태의 어느 부분이 삭제되어야 하는지를 제어한다.
  • 두 번째는 “입력 게이트”이다. g(t)의 어느 부분이 장기 상태에 더해져야 하는지를 제어한다.
  • 세 번째는 “출력 게이트”이다. 장기 상태의 어느 부분을 읽어서 이 타임 스텝에 h(t) y(t)로 출력해야 하는지를 제어한다.

GRU :

LSTM의 간소화된 버전이고 유사하게 작동하는 것 처럼 보인다.

GRU 구조

  • 두 상태의 벡터가 하나의 벡터 h(t)로 합쳐졌다.
  • z(t)가 삭제 게이트와 입력 게이트를 모두 제어한다. 게이트가 1을 출력하면 삭제 게이트가 열리고 입력 게이트가 닫힌다. 게이트가 0을 출력하면 그 반대가 된다. 기억이 저장될 때마다 저장될 위치가 먼저 삭제되는 것이다.
  • 출력 게이트가 따로 없다. 전체 상태 벡터가 매 타임 스텝마다 출력된다. 이전 상태의 어느 부분이 출력될지 제어하는 새로운 게이트 제어기 r(t)가 있다.

Word Embedding :

어휘 목록에 있는 각 단어를 임베딩이라는 작고 밀집된 벡터로 나타내는 것이다. 전형적으로 비슷한 단어가 점차 서로 모이게 하고, 결국 의미있는 방향으로 조직되게 만든다.

728x90
반응형