Boostcamp AI Tech OnBoarding Course(Day 3)
1. 실습
- Recurrent Neural Networks
-
LSTM(Long short-term memory)을 사용한 MNIST classification 구현
- Transformer
- SDPA(Scaled Dop-Product Attention) 구현
- MHA (Multi-Head Attention) 구현
- Position embedding plot 결과 학습
2. 과제 제출
- 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 Questions
- CNN 모델이 Sequential Data를 처리하는 데에는 어떤 한계점이 있는지
- LSTM 에서는 Modern CNN 내용에서 배웠던 개념 중 어떤 것이 적용되어 있는지
- RNN, LSTM, GRU의 구조적 차이점과 장단점이 무엇인지
- Transformer의 구조에서 Query, Key, Value가 각각 어떤 역할을 하는지