ymgmr blog

化学・機械学習について勉強した内容の備忘録です

離散拡散モデルの分類器フリーガイダンス

Simple Guidance Mechanisms for Discrete Diffusion Models (Schriff et al., 2025) という ICLR2025 に採択された論文で離散拡散モデルに分類器ガイダンス(CG)および分類器フリーガイダンス(CFG)を適用する手法が提案されていたので読んでみました。 連続拡散モデルでのCG/CFG 連続拡散モデルでは $x_{t-1}$ の条件付き確率分布が以下のように表されます。 $$p^\gamma(x_{t-1} \mid y, x_t) \propto p(y \mid x_{t-1})^\gamma \, p_\theta(x_{t-1} \mid x_t)$$ 対数勾配をとると以下のようになります。(分類器ガイダンス) $$\nabla_{x_{t-1}} \log p^\gamma(x_{t-1} \mid y, x_t) = \gamma \nabla_{x_{t-1}}\log p(y \mid x_{t-1}) + \nabla_{x_{t-1}}\log p_\theta(x_{t-1} \mid x_t)$$ ここでベイズの定理より $$\log p_\theta(x_{t-1} \mid y, x_t) = \log p(y \mid x_{t-1}) + \log p_\theta​(x_{t−1}\mid x_t​)−\log p(y\mid x_t​)$$ が成り立ちます。 両辺の勾配をとって $$\nabla_{x_{t-1}}\log p_\theta(x_{t-1}\mid y,x_t) = \nabla_{x_{t-1}}\log p(y\mid x_{t-1}) + \nabla_{x_{t-1}}\log p_\theta(x_{t-1}\mid x_t)$$ これを先ほどの分類器ガイダンスの式に代入して ...

December 13, 2025

離散DDPMの実装

離散拡散モデルについての理解を深めるために既存の実装を参考にしながらタンパク質配列生成を試してみました。 参考にした論文 Structured Denoising Diffusion Models in Discrete State-Spaces (NeurIPS 2021) 1. 離散拡散モデルについて 本論文(D3PMと呼びます)で紹介されている離散拡散モデルの仕組みについて紹介します。 順過程 離散拡散モデルの拡散過程では以下のようにノイズを載せて拡散していきます。 $$ q(x_t \mid x_{t-1}) = \text{Cat}(\boldsymbol{x_t}; \boldsymbol{p}=\boldsymbol{x_{t-1}}\boldsymbol{Q_t}) $$ここで $x_t$ は時刻 $t$ におけるタンパク質配列のワンホットベクトル、$Q_t$ は時刻 $t$ における遷移行列を表します。遷移行列の作成方法は様々ですが、今回は論文中で紹介されている Absorbing-state (吸収状態) と呼ばれるものを使います。吸収状態とはアミノ酸が [MASK] トークンで置換された状態を指します。$Q_t$ は語彙サイズを $K$ として $(K, K)$ の行列であり各要素は以下のようにして決定されます。$m$ は既に [MASK] トークンに置換されている状態を指します。 $$ [\boldsymbol{Q}_t]_{ij} =\begin{cases}1 & \text{if } i = j = m \quad \\1 - \beta_t & \text{if } i = j \neq m \quad \\\beta_t & \text{if } j = m, i \neq m \quad \end{cases} $$$\beta_t$ の決め方はノイズスケジューリングと呼ばれ様々な方法がありますが、D3PMでは ...

November 28, 2025