https://github.com/kimrass/classifier-guidance
PyTorch implementation of 'CFG' (Ho et al., 2022).
https://github.com/kimrass/classifier-guidance
classifier-free-guidance pytorch
Last synced: 3 months ago
JSON representation
PyTorch implementation of 'CFG' (Ho et al., 2022).
- Host: GitHub
- URL: https://github.com/kimrass/classifier-guidance
- Owner: KimRass
- Created: 2024-02-27T02:51:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-13T07:39:55.000Z (over 1 year ago)
- Last Synced: 2024-04-03T01:41:03.886Z (about 1 year ago)
- Topics: classifier-free-guidance, pytorch
- Language: Python
- Homepage:
- Size: 50.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 1. Theoretical Background
$$\lambda = -2\log\tan(au + b)$$
$$b = \arctan(e^{-\lambda_{\text{max}} / 2})$$
$$a = \arctan(e^{-\lambda_{\text{max}} / 2}) - b$$
$$\alpha^{2}_{\lambda} = 1 / (1 + e^{-\lambda}), \sigma^{2}_{\lambda} = 1 - \alpha^{2}_{\lambda}$$
$$p_{\theta}(z_{\lambda_{\text{min}}}) = \mathcal{N}(\mathbf{0}, \mathbf{I})$$
$$\lambda < \lambda'$$
$\lambda$가 커지는 방향이 Denoising process에 해당합니다.
## 1) Forward Diffusion Process
$$q(\mathbf{z}_{\lambda} \vert \mathbf{x}) = \mathcal{N}(\alpha_{\lambda}\mathbf{x}, \sigma^{2}_{\lambda}\mathbf{I})$$
$$\mathbf{z}_{\lambda} = \alpha_{\lambda}\mathbf{x} + \sigma_{\lambda}\mathbf{\epsilon}$$
## 2) Backward Denoising Process
$$\tilde{\mathbf{\mu}}_{\lambda' \vert \lambda}(\mathbf{z}_{\lambda}, \mathbf{x}) = e^{\lambda - \lambda'}(\alpha_{\lambda'}/\alpha_{\lambda})\mathbf{z}_{\lambda} + (1 - e^{\lambda - \lambda'})\alpha_{\lambda'}\mathbf{x}$$
$$p_{\theta}(\mathbf{z}_{\lambda'} \vert z_{\lambda}) = \mathcal{N}(\tilde{\mu}_{\lambda' \vert \lambda}(z_{\lambda}, x_{\theta}(z_{\lambda})), ()^{1 - v}()^{v})$$
$$\mathbf{x}_{\theta}(\mathbf{z}_{\lambda}) = (\mathbf{z}_{\lambda} - \sigma_{\lambda}\mathbf{\epsilon}_{\theta}(\mathbf{z}_{\lambda})) / \alpha_{\lambda}$$