https://www.boostcourse.org/ai111/joinLectures/316854
전번 정리가 너무 길어져서 여기에 이어서 정리...
4-1 Sequential Models
RNN
이전 Cell의 output이 현 시점의 input과 함께 연산된다. 장기 의존성 문제가 있다.
hidden 노드가 방향을 가진 엣지로 연결되어 순환구조를 이룬다.
parameter 수는 변하지 않는다.
input의 길이가 길어질수록, 역전파에서 gradient가 점차 줄어 학습능력이 떨어진다.
- 장기 의존성 = 시퀀스가 길어지면 초기 정보가 후반 타임 스탭까지 제대로 전달되지 못함
Long Short Term Memory, LSTM
입력, 망각, 출력게이트로 장기의존성 해결
- Cell state, Hidden state : timestamp t까지의 정보
- Forget Gate : 과거 정보 중에 어떤 정보를 잊을 지 결정. 0~1
- Input Gate : 어떤 정보를 저장, 사용할 지 결정
- Update cell : 새로운 Cell state로 갱신
- Output Gate : 어떤 정보를 output할 지 선정
Gated Recurrent Unit, GRU
cell state가 없고, hidden state만 존재
- Reset gate, Update gate만 존재
- 적은 파라미터로 수행
4-2 Transformer
Transformer
- 순서가 뒤섞이거나, 중간이 빈 단어가 있는 문장을 모델링하는 것을 해결하기 위해 등장
- 인코더에서 n개의 단어를 한 번에 처리할 수 있는 구조
Encoder
(http://jalammar.github.io/illustrated-transformer/)
Self-Attention -> Feed Forward Neural Network 구조
- Self-Attention
하나의 단어를 벡터로 해석하기 위해 n개의 단어를 활용. n개의 단어에 각각 매칭되는 벡터를 생성.
각 단어별로 queries, keys, values 벡터를 생성
인코딩을 하고자 하는 쿼리 벡터와 모든 벡터들의 key 벡터들의 값을 내적하여 score 산정
normalized score와 value로 weighted sum을 구함- Feed Forward Neural Network
각 벡터를 변환하는 과정을 수행
파생 모델
- Vision Transformer, ViT
- DALL-E
Neural Autoregressive Density Estimator, NADE
이전의 뉴럴 네트워크를 활용하는 AR 모델
Pixel RNN
RNN을 활용한 AR 모델
- Row LSTM(역피라미드방향의 위쪽 픽셀 정보를 활용)
Diagonal BiLSTM(이전의 모든 정보를 활용)
Variational Auto-encoder
Posterior distribution(내가 관심있어 하는 랜덤 변수의 확률 분포)을 구하기 어렵기때문에 Variational distributin을 근사치로 활용
- ELBO와 KL divergence를 활용해 Posterior와 Variational 차이를 줄임
- 정확히 평가하기 어려운 모델. KL divergence에 가우시안을 이용
Adversarial Auto-encoder
보통 VAE보다 좋음. (항상은 아님)
Generative Adversarial Network, GAN
- 생성과 분별을 반복하여 모델을 개선(minimax game)
- 분류와 학습 generator사이의 Jenson-Shannon Divergence(JSD)를 최소화하는 모델
- DCGAN : 이미지 도메인을 활용
- Info-GAN : 생성 시, class를 추가하고 class도 분류
- Test2Image : 문장으로 이미지를 생성
- Puzzle-GAN : 일부 이미지로 원래 이미지를 복원
- CycleGAN : 이미지의 도메인을 변경(말->얼룩말 변경)
- Star-GAN : CycleGAN과 유사
- Progressive-GAN : 점진적으로 고해상도 이미지를 생성