[TIL Day43] 신경망의 기초 - 순환 신경망 II

이다혜·2021년 7월 2일
0

TIL

목록 보기
44/60

장기 문맥 의존성

long-term dependency, 관련된 요소가 서로 멀리 떨어져있는 상황

  • 문제점
    - 경사 소멸(W\bold{W} 요소가 1보다 작을 때) 또는 경사 폭발(W\bold{W} 요소가 1보다 클 때)
    - RNN은 DMLP나 CNN보다 심각
    • 긴 입력 샘플이 자주 발생하기 때문
    • 가중치 공유 때문에 같은 값을 계속 곱함

🠒 LSTM은 가장 널리 사용되는 해결책!

LSTM(Long Short Term Memory)

개폐구(gate)를 이용한 영향력 범위 확장

  • 입력 개폐구와 출력 개폐구
    - 개폐구를 열면 신호가 흐르고, 닫으면 차단됨
    - [0,1] 사이의 실수 값으로 개폐 정도를 조절(학습으로 알아낸 값)

  • LSTM 핵심 요소
    - 메모리 블록(셀): 은닉 상태 장기 기억
    - 망각 개폐구(forget gate): 기억 유지(1) 혹은 제거(0)
    - 입력 개폐구(input gate): 입력 연산
    - 출력 개폐구(output gate): 출력 연산

LSTM의 동작

출력 게이트와 입력 개폐구의 값이 1.0으로 고정되면 RNN 동작과 동일하나, 이들 값은 가중치와 신호 값에 따라 정해지며 개폐 정도를 조절하여 RNN과 차별성을 가진다.

입력단, 입력 개폐구, 출력 개폐구에서의 계산

g,i,og, i, o값은 가중치 u,w\bold{u}, \bold{w}, 현재 순간의 입력벡터 x(t)\bold{x}^{(t)}, 이전 순간의 상태 h(t1)\bold{h}^{(t-1)}에 따라 결정되며, 이들 값에 따라 개폐 정도가 정해진다. 입력 개폐구의 값 ii가 0에 가깝다면 gig*i는 0에 가깝게 되어 입력단을 차단하는 효과가 있고, 이전 상태와 같게 된다. 즉 입력 개폐구가 차단되어 이전 내용을 그대로 기억하므로 이전 입력의 영향력을 더 멀리 확장하는 효과가 있다.

망각 개폐구와 작은 구멍(pinhole)

  • 망각 개폐구에 의한 LSTM의 확장
    - 이전 순간의 상태 h(t1)h^{(t-1)}, 즉 메모리 블록의 기억을 지우는 효과

  • 작은 구멍(pinhole) 기능으로 LSTM 확장
    - 작은 구멍은 블록 내부 상태를 3개의 개폐구에 알려주는 역할
    - 순차 데이터를 처리하다가 어떤 조건에 따라 특별한 조치를 취해야 하는 응용에 효과적

응용 사례

1. 언어 모델

  • 언어 모델이란
    - 문장, 즉 단어 열의 확률분포를 모형화
    - 음성 인식기 또는 언어 번역기가 후보로 출력한 문장이 여럿 있을 때, 언어 모델로 확률이 가장 높은 것을 선택하여 성능을 높이는 데 활용
    - n-그램, 다층 퍼셉트론, 순환 신경망 등으로 확률분포 추정

  • 순환 신경망을 이용한 언어 모델
    - 현재까지 본 단어 열을 기반으로 다음 단어를 예측하는 방식으로 학습
    - 확률분포 추정뿐만 아니라 문장 생성 기능까지 갖춤
    - 비지도 학습에 해당하여 말뭉치로부터 쉽게 훈련집합 구축 가능

2. 기계 번역
언어 모델은 입력 문장과 출력 문장의 길이가 같은데, 기계 번역은 길이가 서로 다른 sequence to sequence 문제

  • LSTM을 사용한 번역 과정 학습
    - 부호기(encoder)와 복호기(decoder)의 2개 LSTM 사용
    - 부호기는 원시 언어 문장을 특징 벡터로 변환
    - 복호기는 특징 벡터를 가지고 목적 언어 문장 생성
    - 가변 길이의 문장을 고정 길이의 특징 벡터로 변환한 후, 고정 길이에서 가변 길이 문장을 생성

  • 모든 순간의 상태 변수를 사용하는 방식
    - 부호기의 계산 결과를 모두 복호기에 넘겨 줌
    - 양방향 구조를 채택하여 어순이 다른 문제를 해결

3. 영상 주석 생성
영상 속 물체를 검출하고 인식, 물체의 속성과 행위, 물체 간의 상호 작용을 알아내는 일 + 의미를 요약하는 문장을 생성하는 일

  • 심층학습 접근방법
    - CNN: 영상을 분석하고 인식 + LSTM: 문장을 생성

    - 훈련집합: x\bold{x}는 영상, y\bold{y}는 영상을 기술하는 문장
    - CNN: 입력 영상 x\bold{x}를 단어 임베딩 공간의 특징 벡터로 변환(아래 식의 첫 번째 줄)

    - 훈련 샘플 y\bold{y}의 단어 zt\bold{z_t}는 단어 임베딩 공간의 특징 벡터로 변환됨(위 식의 두 번째 줄)
    - E\bold{E}는 통째 학습 과정에서 CNN, LSTM과 동시에 최적화됨
    - 학습이 최적화해야 할 매개변수 집합 θ\theta={CNN 매개변수, LSTM 매개변수, 단어 임베딩 매개변수}

profile
하루하루 성장중

0개의 댓글