1. 학습
  2. /
  3. 강의
  4. /
  5. Intermediate Deep Learning with PyTorch

Connected

연습 문제

LSTM 네트워크

이미 아시듯, 기본 RNN 셀은 실무에서 자주 쓰이지 않아요. 긴 시퀀스를 훨씬 더 잘 처리하는 대안으로 Long Short-Term Memory 셀(LSTM)이 널리 사용됩니다. 이번 연습에서는 직접 LSTM 네트워크를 만들어 보겠습니다!

앞에서 만들었던 RNN 네트워크와 구현 면에서 가장 큰 차이는 LSTM은 은닉 상태가 하나가 아니라 두 개라는 점이에요. 따라서 추가적인 은닉 상태를 초기화한 뒤 LSTM 셀에 함께 전달해야 합니다.

torch와 torch.nn은 이미 임포트되어 있으니, 바로 코딩을 시작해 보세요!

지침

100 XP
  • .__init__() 메서드에서 LSTM 레이어를 정의하고 self.lstm에 할당하세요.
  • forward() 메서드에서 첫 번째 장기 메모리 은닉 상태 c0를 영(0)으로 초기화하세요.
  • forward() 메서드에서 현재 타임스텝의 입력과 두 은닉 상태를 담은 튜플을 포함해, 세 가지 입력 모두를 LSTM 레이어에 전달하세요.