---
title: 【生成Deap Learning 第2版】7.1~7.3
tags:  #エネルギーベースモデル #エネルギー関数  
author: [京都大学人工知能研究会KaiRA](https://convert.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/5EGVG9PWEL.jpg?width=480
description: 【生成Deap Learning 第2版】7.1~7.3 by 京都大学人工知能研究会KaiRA
published: May 22, 25
canonical: https://convert.docswell.com/s/kyoto-kaira/Z1RGX4-2025-05-22-204907
---
# Page. 1

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

2025年度前期輪読会 生成Deep Learning #5 (5/22)
7.1~7.3 エネルギーベースモデル
京都大学 理学部 ２回生
ALAWIK Abdourrahman
0


# Page. 2

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

アジェンダ
◼ 統計力学の復習
◼ エネルギー関数
◼ ランジュバン動力学
◼ コントラスティブダイバージェンス
1


# Page. 3

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

統計力学の復習：カノニカルアンサンブル
• 統計力学：多粒子系のマクロな情報とミクロな情報を確率論的に結びつける物理学の分野
• カノニカルアンサンブル：系を熱欲に接することによって一定の温度 T に保たれたときに、
平衡状態において出現可能ミクロな状態 X が出現する確率は X のエネルギー E(X) のみに依
存し、次式のボルツマン分布で与えられる：(ただし、ボルツマン定数は 𝑘𝐵 = 1 と定める)
𝐸 𝑋
− 𝑇
𝑒
𝑃 𝑋 =
𝑍(𝑇)
𝑍 𝑇
𝐸 𝑌
− 𝑇
=න𝑒
𝑌
• エネルギーが低いほど状態が出現する確率は高い
• 規格化因子の計算は、非常に理想化された一部の場合を除いて、計算不可能！
2


# Page. 4

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

エネルギー関数
• 画像 x をスカラー値に変換するニューラルネットワーク 𝐸𝜃 (𝑥)を、カノニカルアンサンブルと
同様に、確率が高いほどの画像に低いスコアを与えるように訓練したい。
• Conv2D層の積み重ね
• Swish (SiLU) 活性化関数（右図参照）
𝑥
• swish 𝑥 = 𝑥 ∙ sigmoid 𝑥 = −𝑥
𝑒 +1
• ReLUと違って滑らかなため、勾配消失を緩和する
• 最終層は線形活性化関数を持つ１つの全結合型ノード
• 出力は(-∞,∞)のスカラー
3


# Page. 5

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

エネルギー関数 実装例
(1,32,32)
(16,16,16)
(32,8,8)
(64,4,4)
(64,2,2)
(256)
(64)
(1)
4


# Page. 6

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

ランジュバン動力学によりサンプリング
Q：エネルギー関数が与えられたとして、どうやってサンプリングするのか？
A：ランジュバン動力学！ (Langevin Dynamics)
• カノニカルアンサンブルを近似できる統計力学のモデル
アイディア：ランダムな初期値で出発し、パラメータを固定しながら入力について勾配降下法を
行い、エネルギー関数を最小化する方向にサンプル空間を移動する
• その際、入力に少量のランダムノイズを加える必要（局所極小に陥ないため）
5


# Page. 7

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

ランジュバン動力学の実装
𝑥 𝑘 = 𝑥 𝑘−1 − 𝜂∇𝑥 𝐸𝜃 𝑥 𝑘−1 + 𝜔
𝑥 0 ~𝑈 −1,1
𝜔~𝑁(0, 𝜎)
6


# Page. 8

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

コントラスティブダイバージェンスによって訓練
Q：エネルギー関数はどのように訓練するのか？
A：コントラスティブダイバージェンス (by Geoffrey Hinton 2002)！
目的：対数尤度関数を最小化したい：ℒ = −𝔼𝑥~data [log 𝑝𝜃 (𝑥)]
𝑒 −𝐸(𝑥)
• 確率関数 𝑝𝜃 (𝑥) はエネルギー関数に関するボルツマン分布：𝑝𝜃 (𝑥) =
‫ 𝑒 𝑦׬‬−𝐸(𝑦)
• しかし、 𝐸(𝑥) が分かっても、積分の計算は困難！
• 𝑝𝜃 (𝑥) を明示的に解かずに上記の尤度を最適化できないのか？
定理：∇𝜃 ℒ = 𝔼𝑥~data ∇𝜃 𝐸𝜃 𝑥 − 𝔼𝑥~model ∇𝜃 𝐸𝜃 𝑥
• 真のサンプルについてエネルギー関数を小さくし、偽のサンプルについては大きくする
7


# Page. 9

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

コントラスティブダイバージェンスの実装 Buffer
STEP 1: modelをサンプリングするBuffer関数：
• ランダムノイズのバッチから出発
• サンプリング毎に、既存バッチから抽出したミニバッチとランダムノイズの小さなミニバッチ
をmodelに通し、出力をバッチに付け加える
8


# Page. 10

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

コントラスティブダイバージェンスの実装 訓練
STEP２：訓練
cdiv_loss はコントラスティブダイバージェンスの式通りのロス
reg_loss はエネルギー関数の値が大きくなりすぎないよう
実装 https://colab.research.google.com/drive/1K4q0ewP_P2qZphGcDZc5GPVx9a0s6s7T?usp=sharing
9


# Page. 11

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

その他のエネルギーベースモデル
• ボルツマンマシン
• 訓練はコントラスティブダイバージェンス
• サンプリングはGibbsサンプリング
• 制限付きボルツマンマシン
• ランジュバン動力学 → スコアマッチング →ノイズ除去拡散確率モデル
10


