---
title: 【生成Deap Learning 第2版】8.2.6~8.3
tags:  #u-net #拡散モデル  
author: [京都大学人工知能研究会KaiRA](https://convert.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/3JK5XN4D7D.jpg?width=480
description: 【生成Deap Learning 第2版】8.2.6~8.3 by 京都大学人工知能研究会KaiRA
published: May 29, 25
canonical: https://convert.docswell.com/s/kyoto-kaira/5DN8X8-2025-05-29-211403
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/3JK5XN4D7D.jpg)

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


# Page. 2

![Page Image](https://bcdn.docswell.com/page/LE3K5VLPE5.jpg)

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


# Page. 3

![Page Image](https://bcdn.docswell.com/page/8ED3D8N37G.jpg)

U- Net 拡散モデル
ノイズを予測することを可能にするアーキテクチャ！
- 元は医用画像のセグメンテーションに特化したCNNアーキテクチャ(FCN)
- エンコーダ（ダウンサンプリングパス）とデコーダ（アップサンプリングパス）から構成され、U
字型の形状を持つ。
- 特徴: エンコーダとデコーダの間には「スキップコネクション」があり、詳細な空間情報を保
持しながら特徴を伝達できる。
- 拡散モデルでの役割 : 拡散モデルでは、ノイズが加えられた画像を入力として受け取り、そ
の画像にどれだけのノイズが加えられたかを予測（またはノイズを除去した画像を予測）す
る「ノイズ予測器」として機能する。
U-Net: Ronneberger, O., Fischer, P., &amp; 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., &amp; Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. Advances in Neural Information Processing Systems
(NeurIPS), 33.
2


# Page. 4

![Page Image](https://bcdn.docswell.com/page/V7P4X85PE8.jpg)

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


# Page. 5

![Page Image](https://bcdn.docswell.com/page/2JVXLNPV7Q.jpg)

物体検出・セグメンテーションの進化： 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


# Page. 6

![Page Image](https://bcdn.docswell.com/page/5EGVXKP1EL.jpg)

PytorchでU-netを作成する
5


# Page. 7

![Page Image](https://bcdn.docswell.com/page/4JQ68N2NJP.jpg)

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


# Page. 8

![Page Image](https://bcdn.docswell.com/page/K7442GL371.jpg)

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


# Page. 9

![Page Image](https://bcdn.docswell.com/page/LJ14MDLZJG.jpg)

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


# Page. 10

![Page Image](https://bcdn.docswell.com/page/GJWX3YV6E2.jpg)

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


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4EZ6VX4RE3.jpg)

U-net のresidual block
10


# Page. 12

![Page Image](https://bcdn.docswell.com/page/Y7625431EV.jpg)

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


# Page. 13

![Page Image](https://bcdn.docswell.com/page/G752YQLL74.jpg)

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


# Page. 14

![Page Image](https://bcdn.docswell.com/page/9J24GPL37R.jpg)

c. DownBlockとUpBlock
13


# Page. 15

![Page Image](https://bcdn.docswell.com/page/DEYMV5Q8EM.jpg)

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


# Page. 16

![Page Image](https://bcdn.docswell.com/page/VJNWMNK9J8.jpg)

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


# Page. 17

![Page Image](https://bcdn.docswell.com/page/YE9XNRV373.jpg)

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


# Page. 18

![Page Image](https://bcdn.docswell.com/page/GE82KWPLED.jpg)

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


# Page. 19

![Page Image](https://bcdn.docswell.com/page/LEL2ZN1Q7R.jpg)

参考文献
西田京介・柴田知秀（訳）.（2023）. 生成ディープラーニング 第2版. オライリー・ジャパン（原著：David Foster,
Generative Deep Learning, 2nd Edition, O’Reilly Media）.
Ronneberger, O., Fischer, P., &amp; 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., &amp; 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., &amp; 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


