homework


  • due date: 2021-11-21 23:59 제출
    • pdf 또는 png 형식으로 제출할 것

P1. Linear Regression

Seminar 2에서 다룬 Linear Regression을 Dataset, DataLoader, optim.SGD를 사용해 모델을 구축한다. HW1의 1번 문제의 코드에서 시작할 것을 추천한다. batch_size에 정답은 없지만 GPU memory로 처리가 가능하다고 완전 크게 설정할 필요는 없다. 보통은 $2^N$로 늘려가며 적당한 값을 찾아서 사용한다.

  • 데이터셋: 코랩에서 기본으로 제공하는 sample_data/california_housing_train.csv를 사용한다.
    • target variable: median_house_value
  • 한 iteration 마다 loss 값을 기록해 그래프로 그린다.
    • matplotlib을 사용할 것.
    • xlabel, ylabel, title 등을 명시할 것
    • 몇 iteration을 돌릴지는 본인이 결정한다.
    • 어떤 lr 값을 쓸지도 본인이 결정한다.
  • 학습된 모델이 얼마나 유효한지 평가하기 위해 최종 RMSE와 $R^2$ 값을 결과에 함께 명시한다.
  • 모델을 CPU에서 학습 시켰을 때와 GPU에서 학습 시켰을 때 시간 상의 차이가 있었는지 확인한다.

P2. Cross Validation

K-Fold Cross Validation(교차검증) 쉽게 이해하기 아티클을 읽고, 다음의 질문에 대한 답을 기술하라.

  1. Cross Validation이 필요한 이유는 무엇인가?
  2. ML/DL 모델의 Variance와 Bias가 무엇을 의미하는지 기술하라. 수식이나 그림을 곁들여 설명해도 좋다.

P3. SGD and Momemtum

Gradient Descent & Momentum 아티클을 읽고, 다음의 질문에 대한 답을 기술하라. 원한다면 momentum에 대한 다른 아티클을 더 읽어도 된다.

  1. SGD에서 momentum을 사용하게 된 이유는?

P4. MLP: Multi-Layer Perceptron

세미나에서 설명하진 않았지만 여러분 모두 MLP 정도는 알고 있을 것이라고 기대한다 👏 P1에서 했던 것을 모델을 MLP로 바꾸어 다시 한번 수행한다. MLP를 디자인 하는 것에 있어 정답은 없다. 단, layer는 5개 이하로, feature는 적절한 수준으로 설정해 자유롭게 MLP를 구축한다.