【生成Deap Learning 第2版】8.2.6~8.3

>100 Views

May 29, 25

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2025/05/29 拡散モデル 8.2.6 - 8.3 京都大学 総合人間学部 認知情報学系 B3 神原みちる 0

2.

アジェンダ 1. U-Net 拡散モデル a. 正弦波埋め込み b. ResidualBlock c. DownBlockとUpBlock 2. 拡散モデルを訓練・ノイズ拡散モデルからサンプリング・分析 3. まとめ 1

3.

U- Net 拡散モデル ノイズを予測することを可能にするアーキテクチャ! - 元は医用画像のセグメンテーションに特化したCNNアーキテクチャ(FCN) - エンコーダ(ダウンサンプリングパス)とデコーダ(アップサンプリングパス)から構成され、U 字型の形状を持つ。 - 特徴: エンコーダとデコーダの間には「スキップコネクション」があり、詳細な空間情報を保 持しながら特徴を伝達できる。 - 拡散モデルでの役割 : 拡散モデルでは、ノイズが加えられた画像を入力として受け取り、そ の画像にどれだけのノイズが加えられたかを予測(またはノイズを除去した画像を予測)す る「ノイズ予測器」として機能する。 U-Net: Ronneberger, O., Fischer, P., & Brox, T. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. Medical Image Computing and Computer-Assisted Intervention (MICCAI), 9351, 234-241. DDPMでの U-Net利用 : Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. Advances in Neural Information Processing Systems (NeurIPS), 33. 2

4.

U-net 入力と同じ形状の出力が欲しい時に便利 U-Net: Ronneberger, O., Fischer, P., & Brox, T. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. Medical Image Computing and Computer-Assisted Intervention (MICCAI), 9351, 234-241. 3

5.

物体検出・セグメンテーションの進化: FCNとU-Netの登場 物体検出の歴史とFCN、U-Net の関係 従来の物体検出 の課題 ○ 画像全体のクラス分類や、バウンディングボックスによる位置特定が主=>しかし、各ピクセルごとの分類(セグメン テーション) が求められるタスクの増加 FCN (Fully Convolutional Networks) の誕生 ● 「全結合層(Fully Connected Layer)を用いないCNN」 という発想 ○ 従来のCNNの分類タスクでは、最後に全結合層があり、固定サイズの入力しか扱えなかった。 ○ これを畳み込み層に置き換えることで、任意のサイズの画像を入力可能 に。 FCNからU-Netへの発展 ● ● FCNは画期的だったものの、詳細な境界の表現に課題があった。 U-Netは、FCNのアイデアを基盤とし、以下を導入。 ○ エンコーダ(特徴抽出) : 入力画像を圧縮し、高レベルの特徴を抽出 ○ デコーダ(高解像度化) : 抽出された特徴から、元の画像サイズに復元 ○ スキップコネクション : エンコーダ側の情報をデコーダに直接渡し、詳細な空間情報を保持 しながら高解像度化を実現。 セマンティックセグメンテーション - CVML Expert Guide 4

6.

PytorchでU-netを作成する 5

7.

a. 正弦波埋め込み (Positional Embedding for Timestep) time-stepの情報をU-netに伝える! 目的: U-Netが処理する画像が、拡散過程のどのタイムステップ(=どれくらいのノイズが加えられて いるか)にあるかをモデルに伝える なぜ必要か : 拡散モデルでは、各タイムステップでノイズの量が異なる。U-Netは、ノイズの量が少な い初期のステップでは微細なノイズ除去を、ノイズの量が多い後期のステップでは大まかなノイズ除去 を行う必要があるため、現在のタイムステップに関する情報が不可欠。 仕組み: ● 各タイムステップ t を、連続的なベクトル表現に変換する。 ● Transformerで用いられるポジショナルエンコーディングに似た正弦波(Sinusoidal)ベースの埋め 込み関数を使用することが一般的。 ● この埋め込みベクトルは、U-Netの中間層(通常、ResidualBlockの内部)に結合される。 Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. Advances in Neural Information Processing Systems (NeurIPS), 33. 6

8.

正弦波埋め込み NeRF の論文:[Vaswani.,2017]を連続的な値に拡張 入力の座標(x,y,z)をそのまま使うと表現力が足りないので、sin/cosで高周波に変換する - x は 1 次元のスカラー(または座標軸の1要素) - L は周波数の数(階層数) - 結果として得られるベクトルの次元は 2L NeRFにおける使用箇所 ● 位置ベクトルと方向ベクトルの両方に、この positional encoding を適用して から MLP に入力 Mildenhall, B., et al. (2020)."NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis."ECCV 2020. 7

9.

正弦波埋め込みの実装 ある 1 つのノイズ分散(スカラー)値を、長さ 32 の正弦波ベクトルにエンコードしたい 8

10.

b. ResidualBlock (残差ブロック ) 勾配消失や劣化問題に悩まされない! 目的: 深いネットワークの学習を安定化させ、勾配消失問題を軽減する。 仕組み: ● 入力 x に対して、いくつかの畳み込み層と活性化関数を適用した結果 F(x) を計算し、元の入力 x を その結果に加算する(F(x)+x)。 ● これにより、ネットワークは「残差」(入力と目標出力との差)を学習すればよくなるため、学習が容易に なる。 拡散モデルでの役割 : U-Netのエンコーダとデコーダの各ブロックに組み込まれ、ノイズ予測の精度を高 める。 9

11.

U-net のresidual block 10

12.

c. DownBlockとUpBlock 空間方向・チャネル方向の拡張と圧縮 DownBlock (ダウンサンプリングブロック ): ● 役割: 画像の特徴を抽出しながら、空間的な解像度を下げ、チャネル数を増やす。 ● 構成: ResidualBlockと、プーリング層やストライド畳み込み層(例: 畳み込み with stride=2)から 構成される。これにより、特徴の抽象度を上げ、より大域的な情報を捉える。 UpBlock (アップサンプリングブロック ): ● 役割: 抽出された特徴から、元の画像解像度に近い形で画像を再構成する。空間的な解像度を 上げ、チャネル数を減らす。 ● 構成: 通常、ResidualBlockと、転置畳み込み層(Transposed Convolution)や最近傍補間と畳 み込みの組み合わせなどから構成される。 ● スキップコネクション : DownBlockの対応する層からの特徴マップを結合することで、失われた空 間的な詳細情報を補完し、より鮮明な画像を再構成する。 11

13.

c. DownBlockとUpBlock 同じ空間形状を持つ層でスキップ接続を持つことがVAEとの違い 12

14.

c. DownBlockとUpBlock 13

15.

2. 拡散モデルを訓練・サンプリング 試したこと ● PyTorch での U-Net + 時間埋め込みの実装 ● cosine スケジューリングによる拡散過程の設計 ● ImageFolder データセットによる訓練ループ構築 ● サンプリング(逆拡散)処理の準備 問題点 ● 訓練ループは動作( Lossも減少)したが、 UpBlock でチャネル数の不一致による RuntimeError ● また、multiprocessing 周辺で AssertionError が 不規則に 発生 ※完成次第、slackにcolobのリンクを貼ります 14

16.

2. 拡散モデルを訓練・サンプリング サンプリング処理:逆方向の拡散過程を利用し、ノイズから元画像を推 定する過程を繰り返し行う - 各ステップで、モデルは現在のノイズ画像から予測されたノイズを用 いて、次のステップ画像を推定 (一気にではなく図のような2ステップを何ステップ(例:20 )も繰り返すことで、元の画像を推定していく) - DDIMでは生成プロセスでどれくらいのランダムさを望むかを0にして 決定論的に生成する。 15

17.

2. 拡散モデルを分析 訓練したモデルを分析する3つの方法 1、画像を生成してみる 2、拡散ステップの数を調節する 3、画像間を補間する 潜在空間内の点を補間する(ここでは球面補間) (補間とは、2つの潜在ベクトル(例えば、z₁とz₂)の間を連続的に繋ぐ操作) 連続的な潜在ベクトルをデコーダに入力することで、連続的に変化するデータを生成することができる 16

18.

まとめ 内容を振り返る - DDPM(ノイズ除去拡散確率モデル) Ho et al.,2020 - DDIM(ノイズ除去拡散暗黙モデル)Song et al., 2020 - 順方向と逆方向から構成 - 再パラメータ化トリック、スケジューリングの目的や重要性 - U-net 17

19.

参考文献 西田京介・柴田知秀(訳).(2023). 生成ディープラーニング 第2版. オライリー・ジャパン(原著:David Foster, Generative Deep Learning, 2nd Edition, O’Reilly Media). Ronneberger, O., Fischer, P., & Brox, T. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. Medical Image Computing and Computer-Assisted Intervention (MICCAI), 9351, 234–241. https://doi.org/10.1007/978-3-319-24574-4_28 Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. Advances in Neural Information Processing Systems (NeurIPS), 33, 6840–6851. https://proceedings.neurips.cc/paper/2020/hash/4c5bcfec8584af0d967f1ab10179ca4b-Abstract.html Mildenhall, B., Srinivasan, P. P., Tancik, M., Barron, J. T., Ramamoorthi, R., & Ng, R. (2020). NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. In European Conference on Computer Vision (ECCV) (pp. 405–421). Springer. https://arxiv.org/abs/2003.08934 18