1. 실습

  • Multi-Layer Perceptron
  • MNIST classification 구현

  • Optimization Methods

  • Convolutional Neural Networks
  • CNN을 사용한 MNIST classification구현

  • Recurrent Neural Networks
  • LSTM(Long short-term memory)을 사용한 MNIST classification 구현

  • Transformer
  • SDPA(Scaled Dop-Product Attention) 구현
  • MHA (Multi-Head Attention) 구현
  • Position embedding plot 결과 학습

2. 과제 제출

  • Multi-Layer Perceptron (Assignment1)
  • MNIST classification 구현

  • Optimization Methods (Assignment2)
  • Optimization에 따라 어떻게 학습이 되는지 직접 알아보기 위해 주어진 데이터를 이용하여 regression 문제 해결
  • 코드가 정상적으로 실행된다면 일정 epoch마다 그래프가 나온다.

  • CNN Assignment (Assignment3)
  • CNN(Convolutional Neural Network)을 사용한 MNIST classification을 구현
  • 코드가 정상적으로 실행된다면 일정 epoch마다 그래프가 나온다.

  • LSTM Assignment (Assignment4)
  • LSTM(Long short-term memory)을 사용한 MNIST classification을 구현
  • 코드가 정상적으로 실행된다면 일정 epoch마다 그래프가 나온다.

  • Multi-head Attention Assignment (Assignment5)
  • Transformer에서 제안된 SDPA (Scaled Dop-Product Attention)과 MHA (Multi-Head Attention)를 구현
  • 모델의 학습이 아닌 논문의 수식을 올바르게 구현하는게 목적

3. 심화 과제 제출

  • ViT (Assignment6)
  • MHA(Multi-headed Attention)을 computer vision 문제에 적용한 ViT 모델을 직접 구현
  • 최근 다양한 분야에서 활발하게 적용되고 있는 transformer를 어떤 식으로 다른 문제에 적용할 수 있는지 확인하고, 모델 구조 설명을 기반으로 실제 pytorch 코드로 구현
  • Training과 testing 모듈, 그리고 attention map을 visualization하는 코드로 직접 구현한 모델이 잘 작동하는지 확인

  • AAE (Assignment7)
  • Generative model인 Adversarial Autoencoder (AAE)의 Encoder와 Discriminator에 필요한 Layer들을 직접 쌓아보는 실습
  • Decoder의 layer 예시를 보고 layer과 파라미터를 자유롭게 변경
  • AAE의 개념과 VAE의 Reparametrization 트릭에 대해서 배움
  • Hyperparameter를 변경면서 자유롭게 네트워크를 train/inference

4. 오늘 들은 강의의 Further Reading

CS231n: Convolutional Neural Networks for Visual Recognition

Deep Residual Learning for Image Recognition

Semantic Segmentation

Object Detection