Post

[Boostcamp] 1주차 회고

Boostcamp AI Tech 7기 NLP Track - 1주차 회고

주간 학습 내용 요약

2024-08-05 월

  • PyTorch 및 Tensor의 기본 개념을 공부했다. 텐서의 개념, 데이터 타입, 기초 함수, 생성 및 변환 방법에 대해 살펴보았다.
  • PyTorch에서 GPU와 CPU를 어떤 식으로 활용하는지, 그리고 각각에 어떤 작업을 할당하는 것이 가장 작업 효율적인지 평소 궁금했는데, CUDA에 대해 공부하며 대략적인 감을 잡을 수 있었다. 더 구체적인 내용은 추후 더 공부한 뒤에 정리해볼 예정이다.
  • 딥러닝 학습에 Tensorflow, PyTorch가 널리 사용된다는 얘기는 이전부터 자주 접했지만, 직접 사용해볼 기회가 없었다. 이번 기회에 파이토치의 기본적인 사용법과 텐서 핸들링 방법을 배울 수 있을 것으로 기대해 신났던 하루였다.

2024-08-06 화

  • 텐서의 인덱싱과 슬라이싱, 다양한 텐서 형태 변환 방법, 기본 연산, 거리(norm)에 대해 학습했다. 유사도 개념도 등장했는데, 자연어 처리에서 임베딩을 다루면서 자주 보게 되는 개념인 만큼, 유사도에 대해 확실히 짚고 넘어갈 수 있어 좋았다.
  • 막연히 겁먹고 복잡해보였던 것에 비해, 지금까지 자주 다뤘던 list, array, dataframe과 tensor의 조작이 크게 다르지 않다고 생각했다.
  • 다만 입출력되는 텐서의 형태와 각 dimension별로 텐서가 어떻게 처리되는지, 직관적인 이해가 부족함을 느꼈다. 우선 저차원에서 텐서를 다뤄보면서, 각 명령어가 텐서의 각 depth에 어떻게 적용되는지 직관을 키워봐야겠다 생각했다.
  • 한편 모양 변경, 차원 축소/확장, 결합 등 각 카테고리별로 다양한 method들이 존재했는데, 구체적으로 어떻게 차이가 있는지, 실전에서 어떤 방식들을 사용해야 하는지 확인해볼 필요를 느꼈다.

2024-08-07 수

  • PyTorch를 이용한 선형 회귀 모델에 대해 학습했다. nn.Module과 클래스 개념을 사용해 선형 회귀 모델의 학습/테스트 방법을 숙지했다. 추가로 손실함수로서의 MSE, (확률적) 경사하강법 등의 개념도 훑었다.
  • 통계 공부하면서 선형회귀 문제는 항상 수식적으로 접근했었다. 학습을 통해 parameter를 찾아가는 관점이 신선하게 느껴졌다.
  • 다양한 Loss function이 존재하지만 각 함수을 어떤 경우에, 왜 써야 하는지에 대한 이해가 부족하다고 생각한다. 해당 부분 확인해보고 추후 정리해보려 한다.

2024-08-08 목

  • PyTorch를 이용한 이진분류 모델에 대해 학습했다. 단어만 많이 들어봤던 배치의 개념을 다시금 살펴보았고, DataLoader 클래스를 활용해봤다.
  • 로지스틱 회귀가 신경망에서 어떤 구조로 적용되는지, BCE의 수식이 갖는 의미가 무엇인지 등이 직관적으로 잘 이해되지 않았다. 시간을 더 들여 살펴봐야 할 문제라고 생각한다.

2024-08-09 금

  • 심화과제를 풀며 nn.Module 없이 직접 MLP를 구현하는 방법을 학습했다.
  • 확실히 실제 문제를 해결하기 위한 코딩 과정에서 전체 프로세스에 대한 이해도가 크게 오르는걸 느낀다. 어제까지 잘 이해되지 않았던 모델링의 전체적 흐름이 더 잘 이해됐다.
  • 대학원 코딩 강의를 들으며 통계 계산 방법론들을 패키지 없이 직접 구현했던 시간들이 생각났다. 힘들긴 하지만, 모델의 근본 구조를 이해하는 가장 효과적인 방법이라는 생각에 좋아했던 수업이었는데, 해당 과제도 그런 느낌이어서 많이 반가웠다.

주간 회고

  • 이전부터 관심있었던 PyTorch를 공부할 수 있어 좋았다. 다만 프로그래밍 툴의 특성상, 지엽적인 이론 공부보다는 의도한 대로 코드를 효율적으로 구현해낼 수 있는지, 실전 경험이 더 중요한 내용이라고 생각한다. 다양하게 시도해보며, 생각하는 모델을 바로바로 구현할 수 있도록 손에 익혀나가야 할 것.
  • 과제 코드와 다양한 추가 학습자료를 살펴보며 깊게 파보았으면 더 좋았겠지만, 학습 프로세스 구축에 더 신경 쓰느라 자세하게 내용들을 파보지는 못해 아쉽다. 옵시디언, akiflow, github을 중심으로 어떻게 매일의 생산성을 극대화할 수 있을지를 고민했던 일주일이었다. 전체적인 프로세스는 얼추 갖추어진 것 같으니, 이제 다음주부터는 공부에 좀 더 집중할 수 있을 것으로 기대한다.
  • 별다른 방해 없이 하루종일 AI, 데이터를 공부하고 싶어 시작한 부스트캠프였다. 비슷한 관심사를 가지고, 공부에 대한 의지가 넘치는 동료들을 만날 수 있어 즐겁다. 앞으로 반년이 기대된다:)

Action Plan

이번 주말

  • 강의 자료와 과제들을 다시 훑어보며, 이해가 부족한 부분 보완하기
  • 추가 공부에 대한 대략적인 계획 설정: CS, 코딩테스트, NLP 논문, 데이터 분석(특히, 유저 행동 분석)

다음 주 부터는,

  • 매일 TIL 작성해 github에 업로드
  • 한 주제에 대해 정리된 내용은 github blog에 업로드
This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.