MLP와 Pytorch로 MLP 구현하는 공부를 하였다.
그리고 Optimization 공부를 했는데,
cross-entropy랑 sigmoid, softmax는 자주 헷갈린다...
오늘은 Convolution과 1x1 convolution이 가지는 의미, 그리고 vision에서 유명한 모델들을 공부하였다.
LSTM과 Transformer에 대해서도 공부를 하였는데,
Transformer의 self-attention 위주로 공부하였다.
아직도 transformer에 대한 이해가 완벽하지 않아서 더 공부해야할 것 같다.
오늘은 Generative Model에 대해서 배웠다. 이번주 중에 가장 어려운 부분인 것 같다.
특히 conditional independence 와 chain rule로 모두 independent와 모두 dependent 사이를 찾는 다는 것이 어려웠다.
그리고 Variational Auto-encoder, Adversarial Auto-encoder에 대해서도 공부하였는데,
구글링 하면서 이해해야할 것 같다.
GAN원리만 알았지 Generative model이 이렇게 어려운지 몰랐다...더 많이 공부해야겠다.
+) 최근 팀원들이랑 Word2Vec 논문을 읽고있는데 result까지 읽어서 내일이면 끝날 것 같다. 어제 Transformer 배워서 Word2Vec끝나면 Transformer 논문을 읽기로 했다! 중요한 만큼 확실히 배우고 넘어가야지👊
오늘은 부스트캠프 심화과제를 하면서 transformer와 generative model에 대해서 다시 공부하였다.
그러면서 einops에 대해서 알게되었다.
einops는 쉽게 차원관리를 할 수 있게 도와준다.
매우 직관적이라서 한 번 익혀두면 유용할 것 같다.
먼저 einops에 repeat가 있는데
원래 shape이 (30,40)인 image를
repeat(image, 'h w -> h w c', c=3)
-> (30,40,3)이 된다.
추가로
repeat(image, 'h w -> (h h2) (w w2)', h2=2, w2=2)
-> (60.80)
이렇게 사용할 수 도 있다.
repeat말고 rearrange나 reduce가 있는데 나중에 한 번에 정리해보면 좋을 것 같다.
Binary Classification 에서의 마지막 활성화 함수의 Sigmoid 와 Cross Entropy의 관계를 이해하고
Multi-Class Classification으로 어떻게 확장되는지 알아두면 더 외우기 편할 것 같습니다!
여러 클래스의 Sigmoid를 정규화 한 것이 Softmax인데 관련해서 더 찾아보면 좋을 것 같아요!