분류 전체보기
-
(라이님 블로그 대회 알고리즘 따라잡기 31) KMP(Knuth–Morris–Pratt Algorithm)PROGRAMMING/알고리즘 2024. 7. 31. 11:08
오늘은 KMP 알고리즘에 대해 공부해보았다. 솔직히 개념 + 코드 이해하는데 좀 걸렸다...뭔가 직관적이지 않아서 이해가 단번에 되지 않았다..ㅠ 늘 그렇듯 설명은 라이님 블로그에 있다.(아휴 어려워) 그래도 보다보니 이해가 되는거 같기도 하다...^^#include #include #include using namespace std;int main() { string S, W; getline(cin, S); getline(cin, W); int N = S.length(); int M = W.length(); // Fail function computation directly in main vector fail(M, 0); // 0으로 초기화된 벡터 생성 fo..
-
cs236 11-12장 Energy-Based Models(EBM)논문 리뷰/cs236 2024. 7. 29. 19:48
Generative model 복습을 위해 CS236 강의를 듣고 정리해보고자 한다.피피티는 아래 페이지를 참고하면 된다.https://deepgenerativemodels.github.io/ ※ PPT의 내용 정리와 더불어 같이 보면 좋을 자료들을 정리했습니다. 강의를 보고 이해한대로 작성했기 때문에 부정확한 내용이 포함되어 있을 수 있음을 알려드립니다. 또한 참고한 모든 블로그와 유튜브는 출처(Reference)에 있습니다. 이번 강의에서는 Energy-Based Models에 대해 공부해보고자 한다. Energy-Based Moels는 아래와 같은 장점을 지니고 있는 모델이다.Very flexible model architecturesStable trainingRelatively high sampl..
-
cs236 9-10장 Generative Adversarial Networks(GAN)논문 리뷰/cs236 2024. 7. 29. 12:19
Generative model 복습을 위해 CS236 강의를 듣고 정리해보고자 한다.피피티는 아래 페이지를 참고하면 된다.https://deepgenerativemodels.github.io/ ※ PPT의 내용 정리와 더불어 같이 보면 좋을 자료들을 정리했습니다. 강의를 보고 이해한대로 작성했기 때문에 부정확한 내용이 포함되어 있을 수 있음을 알려드립니다. 또한 참고한 모든 블로그와 유튜브는 출처(Reference)에 있습니다. Recap앞서 배운 내용들을 다시 상기시켜보자.- Autoregressive Model- VAE(Variational Autoencoder)- Normalizing Flow Models 이 세 모델은 모두 KL divergence $D_{KL}(p_{data}||p_{\theta..
-
(라이님 블로그 대회 알고리즘 따라잡기 30) LCA(Lowest Common Ancestor)PROGRAMMING/알고리즘 2024. 7. 29. 11:58
오늘은 LCA를 배워보았다. 그 전에 Sparse Table에 대해 알아두면 좋을 것 같아 Sparse Table에 대해서도 공부해보았다. 라이님 LCA 포스팅을 보다보니 Sparse Table이 나왔는데 전에 본 적이 없어서 이 참에 공부! Sparse Table에 대한 설명은 블로그를 참고하고, 아래는 아주 조금 보기 쉽게 고친 코드이다.#include using namespace std;const int MAX = 500001;const int MAX_D = 19; // 2^k >= MAX인 최소의 kint main() { // next의 크기가 너무 클 경우 vector>로 정의 int M, next[MAX][MAX_D]; // 정점 입력 scanf("%d", &M); for..
-
StyleGAN(A Style-Based Generator Architecture for Generative Adversarial Networks)논문 리뷰/Generative Model 2024. 7. 27. 20:45
오늘은 2019년 CVPR에 게재된 StyleGAN 논문 리뷰를 해보고자 한다. 처음엔 논문 자체가 어렵게 적혀 있어 이해하기 힘들었는데, 나동빈님 유튜브를 보고 훨씬 쉽게 이해했다. 설명을 정말 잘하셔서.. 논문을 한 번 읽고 이 강의를 들으면 클리어하게 정리될 것이다!! 이 논문을 리뷰하기에 앞서 논문의 퍼포먼스를 먼저 살펴보자. 초고해상도의 사진 샘플들을 생성한 결과로, 여기 있는 모든 인물들은 실존 인물이 아니다! 얼굴의 주름, 표정, 배경 등에 이질감이 전혀 느껴지지 않고 뒤에서 살펴보겠지만 StyleGAN으로 인종, 머리색, 안경의 유무 등을 컨트롤 할 수 있다..! 논문이 다소 테크니컬하게 적혀있다고 생각할 수 있으나, 아이디어 위주로 보면 또 이해 못할 내용도 아닌지라, 나동빈님 유튜브와 ..
-
CycleGAN 논문 리뷰(Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks)논문 리뷰/Generative Model 2024. 7. 24. 16:22
CycleGAN 논문 리뷰를 해보고자 한다. 이 논문은 사실 첫 페이지에 있는 그림이 이 논문의 모든 것을 말해주는데, 엄청난 퍼포먼스에 비해 논문 자체는 쉽고 직관적으로 쓰여있어서 어렵지 않게 읽을 수 있다.이 논문의 아이디어는 이미지 쌍에 대한 supervised learning의 image-to-image 학습은 많이 발전해왔는데, 이미지 쌍이 없는 unsupervised learning으로의 image-to-image는 어려움을 겪고 있다는 점에서 착안해 Generative model 중 GAN을 이용해 image-to-image 학습을 진행하는 것에서 시작한다. CycleGAN의 특징은 inverse mapping을 하나 더 추가하고, cycle consistency loss를 이용한다는 점이며..
-
(라이님 블로그 대회 알고리즘 따라잡기 29)호프크로프트 카프 알고리즘(Hopcroft-Karp Algorithm)카테고리 없음 2024. 7. 24. 10:58
오늘은 호프크로프트 카프 알고리즘을 배워보았다. 블로그 글도 잘 설명되어 있지만 좋은 유튜브 영상을 하나 봐서 그것도 소개하고자 한다. 자세한 설명은 라이님 블로그 - 호프크로프트 카프 알고리즘을 참고하면 된다!!(자세한 설명에 늘 압도적 감사를 표합니더,,) 이 알고리즘의 시간복잡도는 $O(E\sqrt{V})$로 디닉 알고리즘의 특수한 경우라고 생각하면 된다. 또한 이분 매칭을 빨리 한다는 점에서 이분 매칭(Bipartite matching)과도 닮아 있는데, 디닉 알고리즘과 이분 매칭 코드를 섞어놓은 코드다. 아무래도 영문으로 된 자료가 많은 만큼 아래 유튜브에 나온 정의가 조금 더 직관적인거 같아 유튜브에 나오는 정의로 정리해본다.Hopcroft-Karp AlgorithmAugment Path) -..
-
BiGAN 논문 리뷰(Adversarial Feature Learning)논문 리뷰/Generative Model 2024. 7. 23. 20:15
오늘은 BiGAN 논문을 리뷰할 예정이다. BiGAN(Bidirectional GAN)은 GAN의 일종의 inverse mapping을 학습하는 모델로 역방향 변환은 일종의 feature representation을 학습할 수 있는 변환임을 논문에서 보여주고 있다. 아이디어는 한 번쯤 많은 사람들이 해봄직한 생각인데, 이를 수학적인 증명과 함께 논문에 녹여내고 있어 많이 인용되는 것 같다. 다른 포스팅에서 리뷰한 논문(특히 GAN 등) 관련 내용은 생략할 예정이다. 필요하다면 기존 포스팅을 참고하면 된다. Introductionlatent space에서의 값을 interpolation시키고 generator에 넣으면 상당히 의미있는 semantic variations(의미있는 차이를 나타내는 변화)를 찾..