6주차 학습정리

강의 복습 내용

NLP (1~9번 포스팅)

https://velog.io/@naem1023/series/NLP

과제 수행 과정 / 결과물 정리

bucketing

데이터의 길이에 따라서 batch를 재구성하는 기법이다. 과제 4에서 나왔는데 기법 자체에 대한 이해는 쉬웠지만, 코드에 대한 이해가 매우 어려웠다.

피어세션에서 해결했는데 코드에서 하고자 하는 바는 다음과 같았다.

  • 데이터의 길이를 max_pad_len 단위로 바라본다.
    • 가령, max_pad_len=5으로 잡고 이에 대한 몫을 활용한다고 하자. 그러면 데이터의 길이가 5 ~ 9인 데이터들은 하나의 batch로 재구성이 되도록 하고자 한다.
  • 데이터 자체를 옮기면서 재구성하지 않고 데이터의 인덱스를 따로 저장하는 방식으로 batch를 재구성한다.
  • 인덱스를 기준으로 batch를 재구성하고, 데이터의 길이가 같은 그룹으로 구성되는 데이터는 리스트에 인접하게 위치하도록 구성한다.
    • e.g., 데이터의 길이가 5 ~ 9인 데이터들은 리스트에서 인접하도록 위치한다.
  • 위의 과정이 끝나면 인덱스 리스트를 순서대로 불러오기만해도 새롭게 batch를 재구성할 수 있다.

이러한 방식이 과제 4의 bucketing 코드에 담겨있었다.

피어세션 정리

위에서 언급한 bucketing 문제에 대해서 많은 논의를 했다.

팀 구성에 대해서도 후기를 공유했다. CV와 달리 NLP는 팀구성에 굉장히 다들 의욕적이어서 구인 속도가 매우 빨랐다.

학습 회고

21/09/06: Word2Vec 공부, 과제1 해결 21/09/07: RNN, LSTM 공부, 과제2, 3 해결 21/09/08: attention 공부, 과제4 해결 21/09/09: 팀 구성에 많은 힘을 쓴 시간.. 21/09/10: 과제4 리뷰

Leave a comment