[모두팝] 생성모델무터 Diffusion까지 2회

⏰AI학교 아이펠 9기 모집 중!
- AI 개발자 과정의 압도적인 수준 차이! 입문자에서 전공자까지!
- 무료 신청하기: bit.ly/4bPuUDe
모두의연구소는 함께 성장하고 싶은 모두에게 열려있습니다🤗
- 홈페이지 찾아가기 🏡 modulabs.co.kr/

Пікірлер: 13

  • @modulabs_
    @modulabs_ Жыл бұрын

    모두의연구소는 함께 성장하고 싶은 모두에게 열려있습니다🤗 - 홈페이지 찾아가기 🏡 modulabs.co.kr/ - 모두의연구소가 만든 AI 학교 👉 bit.ly/3mEXy6e

  • @mksoo
    @mksoo Жыл бұрын

    00:00 사전지식 08:03 diffusion 시작 23:43 objective for reverse process 44:50 DDIM 1:13:16 DDIM summary 1:13:40 Diffusion model beats GANs on Image Synthesis

  • @kimchi_taco
    @kimchi_taco Жыл бұрын

    수식 전개가 DDPM과 Lil'Log에서 본적이 없는 초월번역되어 그냥 밥을 떠먹여주시는군요ㄷㄷㄷ q(Xt | Xt-1), q(Xt-1 | Xt), Loss, DDIM, classifier score guidance등 수식 전개 모두 미쳤습니다!

  • @Tika-fz6li
    @Tika-fz6li6 ай бұрын

    내용 너무 좋네요...

  • @kimchi_taco
    @kimchi_taco Жыл бұрын

    37:48에서 수식에 오류있습니다. a 에서 두 텀 모두 (1-ᾱt)로 나눕니다. (1-ᾱt-1)가 아니라요. 오류는 있지만 수식전개가 너무 깔끔하군요!

  • @user-ge7tf9py8h
    @user-ge7tf9py8h Жыл бұрын

    이 자료 ppt는 어디서 다운받나요,,? 이미 지나서 못받으려나,,

  • @user-ey6lc8rp3e
    @user-ey6lc8rp3e20 күн бұрын

    혹시 슬라이드는 어디서 받을 수 있나요?

  • @SEONHOON-cj5jp
    @SEONHOON-cj5jp Жыл бұрын

    안녕하세요. 13:00 에서 우상단의 note 를 참고하면, V(Xt) = (1-Bt) * V(Xt-1) 이 될 것 같은데 어떻게 1 - Bt + Bt 로 계산된다는 것인지 혹시 알 수 있을까요?

  • @SEONHOON-cj5jp

    @SEONHOON-cj5jp

    Жыл бұрын

    자문자답 합니다. V(Xt) = V(root of 1-Bt * Xt-1) + V(root of Bt * noise) = (1-Bt)*V(Xt-1) + Bt*V(noise) 인데, 노이즈는 N(0,1) 로부터 샘플링하니 당연히 V(noise) = 1 이 되겠고, t 가 커질수록 Xt-1 도 N(0,1) 따르게 될테니 V(Xt-1) 은 1 에 근사하게 되겠네요. 그런데 매 스텝마다 1 로 확실히 고정되는지는 모르겠네요.

  • @mksoo

    @mksoo

    Жыл бұрын

    저는 (1-β_t)와 β_t의 summation이 갑툭튀 해서 왜 그런지 몰랐는데, 댓글 덕분에 이해할 수 있었습니다. 감사합니다. 수식을 정리해보면, X_t = a*X_t-1 + b를 X_t = (√1-β_t)X_t-1 + (√β_t)ε (ε 은 noise) 라고 할 때, Var(X_t) = Var{(√1 - β_t)X_t-1 + (√β_t)ε} = Var{(√1 - β_t)X_t-1} + Var{(√β_t)ε} = (1 - β_t)Var{X_t-1} + (β_t)Var{ε} 이고, ε는 N(0, 1)이므로, Var{ε} = 1 따라서, Var(X_t) = (1 - β_t)Var{X_t-1} + β_t 이 때, Var(X_t-1) = 1 이므로(또는 가정해보면) Var(X_t) = 1 - β_t + β_t --> Var(X_t) = 1 이 된다. 이렇게 정리하면 될까요? 맞다면, 여기서 이라는 것만 알면, 그 뒤에 V는 다 1이 되겠네용. 아 그래서 beta가 뭐가 나오든 간에 variance는 1이 되는군요. 22:22 부분에 t=0 일 때 이미지( 원본 이미지)를 모델에 넣을 때, normalization을 하기 때문에 V(X_0) = 1이 성립하게 된다네요. 그렇게 되면 위 수식이 성립이 되는 것 같습니다.

  • @freebeing1

    @freebeing1

    8 ай бұрын

    저도 같은 부분에서 의문이 들어서 고민했었습니다. 제 생각에 처음부터 Var(X) = 1 은 아닌 것으로 보입니다. Var(X_t) = (1 - β_t)Var(X_t-1) + (β_t)Var(ε) 위 수식은, 다음 타임스텝 이미지의 variance = Var(X_t) 를 결정할 때, 이전 타임스텝 이미지의 분산 = Var(X_t-1)와 가우시안분포의 분산 = Var(ε) 이렇게 2개의 분산의 일부가 각각 반영되도록, 일정 비율(1 - β_t : β_t)에 해당하는 값을 갖도록 설정하는 것으로 해석할 수 있습니다. 예를 들어, β_t = 0.001 이고 Var(X_t-1)이 10이라면 Var(X_t)은 아래와 같이 계산될 것입니다. Var(X_t) = 0.999*10 + 0.001*1 = 9.99 + 0.001 = 9.991 아마 이 과정을 반복하면 Var(X_T) 는 결과적으로 Var(ε)에 수렴할 것으로 보입니다.

  • @freebeing1

    @freebeing1

    8 ай бұрын

    ​@@mksoo원본이미지가 normalize 되어 Var(X_0)=1 이 된다는 것을 제가 놓쳤네요. 감사합니다.

  • @heejuneAhn
    @heejuneAhn10 ай бұрын

    제 생각에는.. 중요한건... 주어진 데이터셋의 확률분포를 닮은 데이터를 새롭게 생성해내는 메카니즘을 만들어내는 방법을 찾으려는 노력중 하나하는 것을 먼저 잘 이해를 시켜야 하지 않을 까 싶습니다. 그런 입장에서 GAN은 디컨볼루션 구조를 네트웍으로서 입력을 일반적으로 만들기 쉬운 멀티가우시안 분포를 입력으로 하고 출력이 데이터셋의 분포와 비슷하게 되도록 하기위하여 로스네트웍을 설계를 한것죠. 로스네트워크가 해당데이의 분포를 배워서 생상3네트워크에 전달을 시키는 거라고 볼수 있습니다. 구런데 문제는 로스가 무지 단순하죠. 바이너리로 주어집니다. 맞냐 아니냐. 이거 너무 거친 방법이라고 생각이 듧니다. 디퓨젼 네트워크는 이과정에서 단계단계 확률 분포를 변환하여가는 것을 학습할 수있도록 설계를 하게 됩니다. t-1 시점과 t시점으로 나누어서. 그리고 그 과정에서 확률 분포변환을 할수 있도록 네트워크를 설계하는 것이죠. 근데 각 단계별로 별도의 네트워크를 사용한다면 T가 너무 커큰 경우에 학습에 어려움이 생겨서 이를 동일한 구조의 하나의 네트워크로 정의하고 걱 단계별로 파라메터를 줄수 있도록 합니다. 이걸 포지셔닝이라고 하는데 사실 좀 잘못된 표현이라고 생각이듦니다. 이러한 기본적인 개념을 먼저 설명하고 이를 이루기위한 수학을 살명하는 것이 바람직하지 않을 까 싶네여.