• NLP basic_rnn 코드 질문

     1. pack_padded_sequence의 역할
    

    ⇒ padding 시, 짧은 sequence는 0을 추가해 padding한다. 그런데 pack_padded_sequence을 사용하게 되면 0을 포함하지 않고 연산해 연산량이 줄어든다.

      2. pack_padded_sequence 사용 시, embedding한 데이터를 왜 transpose(0,1)를 하는가?
    

    ⇒ embedding한 데이터 사이즈가 (batch_size, sequence 갯수, embedding_size)인데 transpose하면 (sequence 갯수, batch_size, embedding_size)로 가능해진다! (아니면, batch_first=True로 가능)

  • NLP 3강 ~ 4강 중, 질문

      1. RNN 중, output을 도출할 때, 왜 binary classification이면 output이 1차원이고 multi class classification 수행 시, class 개수만큼 차원을 가지는가?
    

    ⇒ 교수님께서 설명하면서 1열로 output을 도출하여 그 나열한 것을 차원이라고 말씀!

     2. Truncated bptt 더 공부!
    
     3. RNN에서 왜 기울기 소실 및 폭발이 일어나는가?
    

    ⇒ 예시로 linear transformation matrix W_hh이 3이고 output값 y가 h1까지 backpropagation 시, h1에 대해 편미분을 한다면, 3의 거듭제곱으로 증폭한다!

    ⇒ 반대로 W_hh를 0.2라고 생각하면 0.2의 거듭제곱으로 소실된다!

    (참고자료: https://davi06000.tistory.com/92)

  • 다음 학습 목표

    NLP 5강~6강 듣기(or 5강)
    
    [필수과제2] RNN-based Language Model 끝내기!
    
  • NLP 3~4강 학습, 발표 및 토론