Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Дифузійні Моделі та Ймовірнісні Генеративні Підходи | Секція
Генеративне глибинне навчання

bookДифузійні Моделі та Ймовірнісні Генеративні Підходи

Свайпніть щоб показати меню

Розуміння генерації на основі дифузії

Дифузійні моделі — це потужний тип моделей штучного інтелекту, які генерують дані, особливо зображення, навчаючись зворотному процесу додавання випадкового шуму. Уявіть собі, як чисте зображення поступово стає розмитим, ніби телевізійні перешкоди. Дифузійна модель навчається робити протилежне: вона бере зашумлені зображення та крок за кроком відновлює оригінал, видаляючи шум.

Процес складається з двох основних фаз:

  • Прямий процес (дифузія): поступове додавання випадкового шуму до зображення протягом багатьох кроків, що перетворює його на чистий шум;
  • Зворотний процес (денойзинг): нейронна мережа навчається крок за кроком видаляти шум, відновлюючи оригінальне зображення з зашумленої версії.

Дифузійні моделі відомі своєю здатністю створювати високоякісні, реалістичні зображення. Їхнє навчання зазвичай є більш стабільним порівняно з такими моделями, як GAN, що робить їх дуже привабливими в сучасному генеративному ШІ.

Дифузійні ймовірнісні моделі денойзингу (DDPM)

Дифузійні ймовірнісні моделі денойзингу (DDPM) — це популярний різновид дифузійних моделей, які застосовують ймовірнісні принципи та глибоке навчання для поетапного видалення шуму із зображень.

Прямий процес

У прямому процесі починаємо зі справжнього зображення x0x_0 і поступово додаємо гаусівський шум протягом TT кроків часу:

q(xtxt1)=N(xt;1βtxt1,βtI)q(x_t|x_{t-1})= \mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI)

Де:

  • xtx_t: зашумлена версія вхідних даних на кроці часу;
  • βt\beta_t: розклад малої дисперсії, що контролює кількість доданого шуму;
  • N\mathcal{N}: гаусівський розподіл.

Загальний шум, доданий до кроку , можна також виразити як:

q(xtx0)=N(xt;αˉtx0,(1αˉt)I)q(x_t|x_0)= \mathcal{N}(x_t;\sqrt{\={\alpha}_t}x_0,(1-\={\alpha}_t)I)

Де:

  • αˉt=s=1t(1βs)\=\alpha_t=\prod_{s=1}^t(1-\beta_s)

Зворотний процес

Мета моделі — навчитися зворотному процесу. Нейронна мережа, параметризована θ\theta, прогнозує середнє значення та дисперсію денойзованого розподілу:

pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1};\mu_\theta(x_t,t), \Sigma_\theta(x_t,t))

де:

  • xtx_t: зашумлене зображення на кроці часу tt;
  • xt1x_{t-1}: прогнозоване менш зашумлене зображення на кроці t1t-1;
  • μθ\mu_\theta: прогнозоване середнє значення від нейронної мережі;
  • Σθ\Sigma_\theta: прогнозована дисперсія від нейронної мережі.

Функція втрат

Навчання передбачає мінімізацію різниці між фактичним шумом і передбаченим шумом моделі за допомогою наступної цільової функції:

Lsimple=Ex0,ϵ,t[ϵϵ0(αˉtx0+1αˉtϵ,t)2]L_{simple} = \mathbb{E}_{x_0, \epsilon, t} \left[ ||\epsilon - \epsilon_0 \left( \sqrt{\=\alpha_t}x_0 + \sqrt{1-\=\alpha_t}\epsilon, t \right)||^2 \right]

де:

  • xtx_t: вихідне вхідне зображення;
  • ϵ\epsilon: випадковий гаусівський шум;
  • tt: крок часу під час дифузії;
  • ϵθ\epsilon_\theta: прогноз шуму нейронною мережею;
  • αˉt\={\alpha}_t: добуток параметрів графіка шуму до кроку tt.

Це допомагає моделі краще виконувати денойзинг, підвищуючи її здатність генерувати реалістичні дані.

Генеративне моделювання на основі скору

Скор-базовані моделі — це ще один клас дифузійних моделей. Замість прямого навчання зворотного процесу шуму, вони навчаються скор-функції:

xlogp(x)\nabla_x\log{p(x)}

де:

  • xlogp(x)\nabla_x\log{p(x)}: градієнт логарифмічної ймовірності за вхідним xx. Вказує напрямок збільшення ймовірності у розподілі даних;
  • p(x)p(x): ймовірнісний розподіл даних.

Ця функція вказує моделі, у якому напрямку зображення має змінюватися, щоб стати більш схожим на реальні дані. Такі моделі використовують метод вибірки, наприклад, динаміку Ланжевена, щоб поступово переміщати зашумлені дані до областей з високою ймовірністю.

Скор-базовані моделі часто працюють у неперервному часі з використанням стохастичних диференціальних рівнянь (SDE). Такий підхід забезпечує гнучкість і дозволяє отримувати високоякісні генерації для різних типів даних.

Застосування у генерації зображень високої роздільної здатності

Диффузійні моделі здійснили революцію у генеративних завданнях, особливо у створенні зображень високої якості. Основні застосування включають:

  • Stable Diffusion: латентна дифузійна модель, яка генерує зображення за текстовими підказками. Поєднує денойзингову модель на основі U-Net із варіаційним автокодером (VAE) для роботи у латентному просторі;
  • DALL·E 2: поєднує ембеддінги CLIP та дифузійне декодування для створення надреалістичних і семантично насичених зображень за текстом;
  • MidJourney: платформа генерації зображень на основі дифузійних моделей, відома створенням високоякісних, художньо стилізованих візуалізацій за абстрактними чи креативними підказками.

Ці моделі використовуються для генерації мистецтва, фотореалістичного синтезу, інпейнтингу, підвищення роздільної здатності тощо.

Підсумок

Диффузійні моделі визначають нову епоху генеративного моделювання, розглядаючи генерацію даних як стохастичний процес у зворотному часі. Завдяки DDPM та score-based моделям вони забезпечують надійне навчання, високу якість зразків і переконливі результати у різних модальностях. Їхня основа у ймовірнісних і термодинамічних принципах робить їх як математично елегантними, так і практично потужними.

1. Яка основна ідея дифузійних генеративних моделей?

2. Що використовує прямий процес DDPM для додавання шуму на кожному кроці?

3. Яке з наведеного найкраще описує роль функції скору xlogp(x)\nabla_x\log{p(x)} у скор-базованому генеративному моделюванні?

question mark

Яка основна ідея дифузійних генеративних моделей?

Select the correct answer

question mark

Що використовує прямий процес DDPM для додавання шуму на кожному кроці?

Select the correct answer

question mark

Яке з наведеного найкраще описує роль функції скору xlogp(x)\nabla_x\log{p(x)} у скор-базованому генеративному моделюванні?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 10

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 10
some-alt