2018년 11월 25일 일요일

Deep Learning with Sequence Data and text (순차적 데이터와 텍스트의 딥러닝 PyTorch) (15)

LSTM networks (1/2)


LSTM은 long-term(장 기간) 의존도를 학습 할 수 있는 RNN의 특별한 종류입니다.  1977년에 소개 되었고 최근에 인기를 얻게 되었습니다. LSTM은 매우 다양한 문제에 대해 대단히 잘 작동하며 널리 사용됩니다.
LSTM은 긴 시간의 정보를 기억하는 디자인을 가지는 long-term(장 기간) 의존도 문제를 회피 하기 위해서 디자인 되었습니다. RNN에서 그들이 순서의 각각의 요소들 전체를 그들 스스로 어떻게 반복하는지 우리는 보았습니다. 표준 RNN에서 그 반복 모듈은 하나의 linear layer (선형 layer) 와 같은 간단한 구조를 가질 것입니다.
다음 그림은 어떻게 단순 RNN이 그 자신을 반복하는지 보여줍니다.

LSTM안에는 간단한 선형 layer를 사용하는 대신에 우리는 독립적인 일을 하는 LSTM 내부에 작은 네트워크를 가지고 있습니다. 다음 그림임이 LSTM안에 무엇이 일어나는 보여 줍니다.

진행 다이어 그램 두번째 박스에 있는 작은 사각형들 각각은 PyTorch layer를 표현합니다. 원들은 원소 행렬이나 벡터 덧셈을 표현합니다. 합쳐진 선들은 두벡터가 연결되어지는것을 표현합니다. 좋은 부분은 우리가 손으로 이것 전체를 구현 하는것을 필요로 하지 않습니다. 대부분의 최근 딥러닝 프레임워크들은 LSTM 내부에서 일어나는 일을 처리할 추상화을 제공합니다. PyTorch 는 nn.LSTM 레이어 안에 모든 기능의 추상화를 제공 합니다.









댓글 없음:

댓글 쓰기