氷を部屋に置いておくと、放っておいても勝手に溶けます。逆に、こぼした水が自然に集まって氷に戻ることはありません。鉄を湿った場所に置けば錆びますが、錆びた鉄が自然にピカピカの鉄に戻ることもありません。世界には「自然に進む向き」と「自然には進まない向き」がはっきりあります。では、その向きは何が決めているのでしょうか。
素朴に考えると「エネルギーの低いほうへ進む」と言いたくなります。確かにボールは坂を転がり落ちます。でもそれだけでは氷が溶ける説明がつきません。氷が水になるとき、系はむしろ熱を吸ってエネルギーが上がるからです。実は、自然界の進む向きを決めているのは「エネルギー」と「乱雑さ(エントロピー)」の両方をまとめた量です。それが本記事の主役、自由エネルギーです。
自由エネルギーを理解すると、驚くほど広い世界が一つの原理でつながって見えてきます。たとえば、化学反応がどちらに進むかの予測(電池や燃料電池の設計)、タンパク質がどう折りたたまれるかの計算(創薬)、水が氷になる相転移、さらには機械学習の変分推論(ELBO)や、脳が世界をどうモデル化するかを説明する「自由エネルギー原理」まで——すべて自由エネルギーの最小化という同じ言葉で語れます。
本記事の内容
- エネルギーとエントロピーの綱引きから自由エネルギーを直感的に理解する
- ヘルムホルツ自由エネルギー $F=U-TS$ の定義・全微分・物理的意味
- ギブズ自由エネルギー $G=H-TS$ の定義と、化学・相転移での役割
- 統計力学との橋:分配関数 $Z$ と $F=-kT\ln Z$
- 自発過程の方向($\Delta F<0$ / $\Delta G<0$)と平衡条件
- 機械学習との橋:変分自由エネルギーと ELBO の対応
- 脳科学の自由エネルギー原理のさわり
- Python による可視化と数値検証
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
なぜ「自由」エネルギーなのか — エネルギーとエントロピーの綱引き
まず、自由エネルギーという名前の「自由」が何を意味するのかを直感でつかんでおきましょう。系が持つ内部エネルギー $U$ のすべてを仕事として取り出せるわけではありません。一部はエントロピー(乱雑さ)を保つために「拘束」されていて、自由には使えません。内部エネルギーのうち、温度 $T$ の環境で実際に取り出して使える分——それが自由エネルギーです。
ここで重要なのは、自然界では二つの相反する欲求がせめぎ合っているという描像です。
- エネルギーを下げたい:系はできるだけ低い内部エネルギー $U$ の状態に落ち着きたがる。原子は結合を作り、ばねは縮みたがる。これは「秩序」を好む力です。
- エントロピーを上げたい:系はできるだけ乱雑な、多くの場合の数を持つ状態を好む。気体は広がり、分子は散らばりたがる。これは「無秩序」を好む力です。
この二つは多くの場合で逆を向きます。秩序立った低エネルギー状態はエントロピーが小さく、乱雑な高エネルギー状態はエントロピーが大きい。どちらが勝つかを決める仲裁役が温度 $T$ です。温度が高いほどエントロピーの発言力が増します。この綱引きの「合計点」を一つの量にまとめたのが自由エネルギー $F = U – TS$ なのです。

上の図は、横軸に「無秩序の度合い」を取り、内部エネルギー $U$(無秩序になるほど増える、赤)、エントロピー $S$(無秩序になるほど増える、緑)、そして自由エネルギー $F=U-TS$ を低温・高温の2通りで描いたものです。低温(青)では $TS$ の寄与が小さいので $F$ の最小は秩序寄り(左)にあります。一方、高温(オレンジ)では $TS$ の引き下げ効果が効いて、$F$ の最小が無秩序寄り(右)へ移動しているのが読み取れます。つまり、同じ系でも温度を変えると平衡点がずれる——これが「氷が温度を上げると溶ける」現象の本質です。
この綱引きの図式さえ頭に入れば、あとはどの変数を一定に保つか(体積か圧力か)で、ヘルムホルツとギブズの二つの自由エネルギーが使い分けられるだけです。まずは体積一定の場合に対応するヘルムホルツ自由エネルギーから、きちんと数式で定義していきましょう。
ヘルムホルツ自由エネルギー $F = U – TS$
定義の前に — なぜ $U$ から $TS$ を引くのか
定義式をいきなり書く前に、$F = U – TS$ という形がどこから来るのかを直感でつかみましょう。系が温度 $T$ の熱浴(環境)と接しているとします。系が状態を変えるとき、環境からもらえる「ただの熱」の分は実質的にタダで手に入ります。その量がちょうど $TS$ に対応します。だから、内部エネルギー $U$ から、環境がエントロピーの形で肩代わりしてくれる $TS$ を差し引いた残りが、「系が正味で抱えるコスト」=自由エネルギーになる、というわけです。
この直感を踏まえて、ヘルムホルツ自由エネルギーを定義します。
$$ \boxed{F = U – TS} $$
ここで $U$ は内部エネルギー、$T$ は絶対温度、$S$ はエントロピーです。$TS$ は「束縛エネルギー(拘束されて仕事に使えない分)」と呼ばれることもあります。
全微分を導く
自由エネルギーの威力は、その微小変化 $dF$ が驚くほどきれいな形になる点にあります。ゴールは $dF$ を温度 $T$ と体積 $V$ の変化で表すことです。
出発点は熱力学第1法則と第2法則を組み合わせた基本関係式です。可逆過程では $\delta Q = TdS$、また $\delta W = pdV$ なので、内部エネルギーの変化は次のように書けます。
$$ dU = TdS – pdV $$
次に、定義 $F = U – TS$ の両辺を微分します。積 $TS$ の微分には積の微分法則を使うと、
$$ dF = dU – d(TS) = dU – (TdS + SdT) $$
となります。ここに先ほどの $dU = TdS – pdV$ を代入すると、$TdS$ の項がきれいに打ち消し合います。
$$ dF = (TdS – pdV) – TdS – SdT = -SdT – pdV $$
整理すると、ヘルムホルツ自由エネルギーの全微分が得られます。
$$ \boxed{dF = -SdT – pdV} $$
この式の読み方が大切です。$dF$ が $dT$ と $dV$ だけで表されているので、$F$ の自然な変数は $T$ と $V$ だとわかります。そして全微分の係数を比較すると、次の二つの関係が即座に読み取れます。
$$ \left(\frac{\partial F}{\partial T}\right)_V = -S, \qquad \left(\frac{\partial F}{\partial V}\right)_T = -p $$
つまり、$F$ を温度で偏微分すればエントロピーが(符号付きで)、体積で偏微分すれば圧力が出てくる。$F$ さえわかれば系のすべての熱力学量が芋づる式に求まる、というのが自由エネルギーが「熱力学ポテンシャル」と呼ばれる理由です。

上の図は、内部エネルギー $U$ を一定とみなしたとき、温度を変えると $-TS$ の寄与(緑)が大きくなり、合計の $F$(青線)が下がっていく様子を棒グラフで示したものです。低温では $F \approx U$ ですが、高温になるほどエントロピー項が効いて $F$ が押し下げられます。$(\partial F/\partial T)_V = -S < 0$ という関係が、グラフの右下がりの傾向として目に見える形で現れています。
物理的意味 — 取り出せる最大仕事
ヘルムホルツ自由エネルギーには、もう一つ実用的な意味があります。等温過程($T$ 一定)で系が外部にできる仕事には上限があり、それがちょうど自由エネルギーの減少分に等しいのです。
$$ W_{\max} = -\Delta F $$
なぜこうなるのかを簡単に追います。第2法則より、温度 $T$ の環境で系が受け取れる熱は $\delta Q \leq TdS$ です。第1法則 $dU = \delta Q – \delta W$ から $\delta W = \delta Q – dU \leq TdS – dU$。等温では $TdS = d(TS)$ なので、$\delta W \leq -d(U – TS) = -dF$。積分すれば $W \leq -\Delta F$ となり、等号は可逆過程で成り立ちます。

左の図は理想気体の $F(T)$ の概形で、接線の傾きが $-S$ になっている($(\partial F/\partial T)_V=-S$)ことを示しています。右の図は、始状態 A から終状態 B へ移るときに取り出せる最大仕事が $-\Delta F$ で与えられることを表しています。「自由」エネルギーという名前どおり、$F$ の落差ぶんだけが自由に使える仕事として取り出せる、という意味がここではっきりします。
ヘルムホルツ自由エネルギーは体積一定(等容)の状況で活躍しますが、化学実験や生物の細胞内のように、私たちの身の回りの多くの過程は「大気圧のもとで体積が自由に変わる」等圧条件で起きます。この場合に主役を譲るのが、次に見るギブズ自由エネルギーです。
ギブズ自由エネルギー $G = H – TS$
なぜエンタルピーを使うのか
ヘルムホルツが $U$ を基準にしたのに対し、ギブズはエンタルピー $H = U + pV$ を基準にします。なぜでしょうか。等圧過程では、系が膨張するときに大気を押しのける仕事 $p\Delta V$ を「環境に払う」必要があります。この押しのけ仕事を内部エネルギーにあらかじめ組み込んだのがエンタルピー $H = U + pV$ です。つまり、等圧で物事を考えるときの「実効的なエネルギー」がエンタルピーなのです。
そこで、エンタルピーから束縛分 $TS$ を引いたものがギブズ自由エネルギーです。
$$ \boxed{G = H – TS = U + pV – TS} $$
全微分を導く
ヘルムホルツのときと同じ手順で全微分を求めます。ゴールは $dG$ を $T$ と $p$ で表すことです。まずエンタルピーの全微分が必要です。$H = U + pV$ を微分し、$dU = TdS – pdV$ を代入すると、
$$ dH = dU + d(pV) = (TdS – pdV) + (pdV + Vdp) = TdS + Vdp $$
ここで $-pdV$ と $+pdV$ が打ち消し合い、$dH = TdS + Vdp$ が得られます。続いて $G = H – TS$ を微分し、$d(TS) = TdS + SdT$ を使うと、
$$ dG = dH – d(TS) = (TdS + Vdp) – (TdS + SdT) $$
ここでも $TdS$ どうしが打ち消し合って、最終的に次を得ます。
$$ \boxed{dG = -SdT + Vdp} $$
この式から、$G$ の自然な変数は $T$ と $p$ であることがわかります。係数比較から、次の関係が読み取れます。
$$ \left(\frac{\partial G}{\partial T}\right)_p = -S, \qquad \left(\frac{\partial G}{\partial p}\right)_T = V $$
温度一定・圧力一定(等温等圧)という、実験室で最もよくある条件下では $dT = 0, dp = 0$ なので $dG = 0$ が平衡条件になります。化学者がギブズ自由エネルギーを偏愛するのはこのためです。
物理的意味 — 自発過程の判定
等温等圧で自発的に進む過程では、$G$ は必ず減少します。
$$ \Delta G < 0 \ \Rightarrow\ \text{自発的に進む} $$
これは、化学反応がどちらに進むか、ある相と別の相のどちらが安定かを判定する、化学・材料科学の最重要ツールです。$\Delta G = \Delta H – T\Delta S$ と分解すれば、「エンタルピー(発熱)」と「エントロピー(乱雑さ)」のどちらが反応を駆動しているかも見分けられます。
ここまでで二つの自由エネルギーが出そろいました。これらは内部エネルギー $U$、エンタルピー $H$ と合わせて四つの「熱力学ポテンシャル」を成し、どの変数を一定に保つかで使い分けます。一度整理しておきましょう。
4つの熱力学ポテンシャルとマクスウェルの関係式
四つのポテンシャルとその自然変数、全微分を表にまとめます。
| ポテンシャル | 定義 | 全微分 | 自然変数 |
|---|---|---|---|
| $U$(内部エネルギー) | — | $TdS – pdV$ | $S, V$ |
| $H = U + pV$(エンタルピー) | 等圧の実効エネルギー | $TdS + Vdp$ | $S, p$ |
| $F = U – TS$(ヘルムホルツ) | 等温等容で平衡 | $-SdT – pdV$ | $T, V$ |
| $G = H – TS$(ギブズ) | 等温等圧で平衡 | $-SdT + Vdp$ | $T, p$ |
四つは「ルジャンドル変換」で互いに結ばれています。$U$ から $V$ を $p$ に取り替えると $H$、$S$ を $T$ に取り替えると $F$、両方取り替えると $G$、という関係です。状況に応じて「固定したい変数」を自然変数に持つポテンシャルを選べばよいわけです。
これらの全微分の係数が偏微分であることと、2階偏微分の順序交換が可能であること($\partial^2/\partial x\partial y = \partial^2/\partial y\partial x$)を組み合わせると、マクスウェルの関係式が芋づる式に出てきます。たとえば $dF = -SdT – pdV$ から、$\partial(-S)/\partial V = \partial(-p)/\partial T$、すなわち
$$ \left(\frac{\partial S}{\partial V}\right)_T = \left(\frac{\partial p}{\partial T}\right)_V \quad (F\text{ より}) $$
$G$ からは同様に次が得られます。
$$ \left(\frac{\partial S}{\partial p}\right)_T = -\left(\frac{\partial V}{\partial T}\right)_p \quad (G\text{ より}) $$
これらは「直接測りにくいエントロピーの変化」を「測りやすい圧力・体積・温度の関係」に翻訳してくれる、実験上きわめて便利な恒等式です。
ここまでは純粋にマクロな熱力学の話でした。しかし「なぜ $F = U – TS$ なのか」をミクロな原子・分子の世界から導くと、自由エネルギーの正体がさらにくっきり見えてきます。その鍵を握るのが統計力学の分配関数です。
統計力学との橋 — 分配関数と $F = -kT\ln Z$
分配関数とは
ミクロの世界では、系は無数の微視的状態(各原子の位置や速度の組み合わせ)を取りえます。温度 $T$ の熱平衡では、エネルギー $\varepsilon_i$ の状態 $i$ が実現する確率はボルツマン因子 $e^{-\varepsilon_i / kT}$ に比例します($k$ はボルツマン定数)。低エネルギー状態ほど起こりやすく、高エネルギー状態は指数関数的に起こりにくい、という重みづけです。
この重みをすべての状態について足し合わせた量が分配関数 $Z$ です。
$$ Z = \sum_i e^{-\varepsilon_i / kT} $$
$Z$ は確率を規格化する定数であると同時に、「系が実効的にいくつの状態を使えるか」を表す指標でもあります。

左の図は2準位系(エネルギー0と1の二つの状態)を例に、各状態のボルツマン因子と、それらを足した分配関数 $Z$ の温度依存を示しています。低温では基底状態の重みが圧倒的で $Z \approx 1$、高温になるとどちらの状態もほぼ等確率になり $Z \to 2$ に近づきます。右の図は、この $Z$ から計算した自由エネルギー $F = -kT\ln Z$ の温度依存で、低温極限で $F$ が基底状態のエネルギーに漸近する様子が読み取れます。
$F = -kT\ln Z$ の導出
ここがミクロとマクロをつなぐ核心です。ヘルムホルツ自由エネルギーが分配関数と次の美しい関係で結ばれることを示しましょう。
$$ \boxed{F = -kT\ln Z} $$
導出の方針は、統計力学的なエントロピーの定義から出発し、$F = U – TS$ に代入することです。確率 $p_i = e^{-\varepsilon_i/kT}/Z$ を使うと、ギブズのエントロピーは
$$ S = -k\sum_i p_i \ln p_i $$
です。$\ln p_i = -\varepsilon_i/kT – \ln Z$ を代入すると、
$$ S = -k\sum_i p_i \left(-\frac{\varepsilon_i}{kT} – \ln Z\right) = \frac{1}{T}\sum_i p_i \varepsilon_i + k\ln Z \sum_i p_i $$
となります。ここで $\sum_i p_i \varepsilon_i = U$(平均エネルギー=内部エネルギー)であり、$\sum_i p_i = 1$(確率の規格化)であることを使うと、
$$ S = \frac{U}{T} + k\ln Z $$
が得られます。この式を $F = U – TS$ に代入すると、$U$ が打ち消し合います。
$$ F = U – T\left(\frac{U}{T} + k\ln Z\right) = U – U – kT\ln Z = -kT\ln Z $$
こうして $F = -kT\ln Z$ が導かれました。マクロな熱力学量 $F$ が、ミクロな状態の数え上げ $Z$ から完全に決まる——これが統計力学の出発点であり、自由エネルギーが「ミクロとマクロの架け橋」と呼ばれるゆえんです。一度 $Z$ さえ計算できれば、$F = -kT\ln Z$ から $S, p, U$ など他のすべての量が偏微分で取り出せます。
平衡状態でのミクロな状態の確率分布はボルツマン分布 $p_i \propto e^{-\varepsilon_i/kT}$ でした。この分布が温度でどう変わるかを見ておきましょう。
平衡分布(ボルツマン分布)と温度の効果
ボルツマン分布は、平衡状態でエネルギー $E$ の状態が現れる確率密度が
$$ p(E) \propto e^{-E/kT} $$
に従う、という法則です。これは「エネルギーは低いほうが起こりやすいが、温度が高いほど高エネルギー状態も顔を出す」という綱引きを定量化したものです。
ここで重要なのは、ボルツマン分布が自由エネルギーを最小化する分布として導けるという事実です。「平均エネルギーを下げたい」けれど「エントロピーは上げたい」という二つの要求を同時に満たす最適な確率分布を、ラグランジュの未定乗数法で求めると、ちょうどボルツマン分布が出てきます。この視点は後の変分推論との橋渡しで効いてきます。

上の図は、温度 $T$ を変えたときのボルツマン分布 $p(E) \propto e^{-E/kT}$ を重ね描きしたものです。低温(青)では確率が低エネルギー側に鋭く集中し、高温(赤)になるほど分布が広がって高エネルギー状態にも確率が分配されているのが読み取れます。これは「低温では系が最低エネルギー状態に凍りつき、高温では多様な状態を行き来する」という直感とぴたりと一致します。
平衡分布がわかったところで、いよいよ「系はどちらの向きに進むのか」という最初の問いに戻りましょう。鍵は自由エネルギーの符号です。
自発過程の方向と自由エネルギー地形
$\Delta G < 0$ が自発過程の条件
冒頭の「氷が溶ける」「鉄が錆びる」という問いに、ようやく答えられます。等温等圧の条件下では、系はギブズ自由エネルギー $G$ が減少する向きに自発的に進み、$G$ が最小($dG = 0$)になったところで止まります。これが平衡です。
$$ \Delta G < 0 \ (\text{自発的}), \quad \Delta G = 0 \ (\text{平衡}), \quad \Delta G > 0 \ (\text{逆向きが自発的}) $$

上の図は、反応進行度 $\xi$ に対するギブズ自由エネルギー $G(\xi)$ を描いたものです。系は曲線上を $G$ が減る向き(青と赤の矢印)に転がり、谷底(オレンジ点、$dG=0$)に到達して平衡になります。どちらの側から出発しても同じ谷へ向かう——これが「平衡は自由エネルギーの最小点」という主張の図解です。氷が溶けるのも鉄が錆びるのも、その条件下で $G$ が下がる向きだから、というわけです。
相転移 — $G$ の交差として理解する
水が100℃で沸騰するような相転移も、自由エネルギーの言葉でクリアに説明できます。液体と気体はそれぞれ独自の $G(T)$ を持ちます。$(\partial G/\partial T)_p = -S$ より、$G$ の温度に対する傾きはエントロピーの符号反転です。気体は液体よりエントロピーが大きいので、$G_{\text{vap}}(T)$ のほうが急な右下がりになります。

上の図は、液体(青)と気体(赤)のギブズ自由エネルギーを温度に対して描いたものです。低温では液体の $G$ が低く液体が安定、高温では気体の $G$ が低く気体が安定です。両者が交差する温度(オレンジ点)が転移温度(沸点)で、そこでは $G_{\text{liq}} = G_{\text{vap}}$ となり両相が共存します。「常に $G$ の低いほうが安定相」という単純な原理だけで、相図の骨格が説明できてしまうのが見事なところです。
自由エネルギー地形
複雑な系では、$G$ や $F$ が状態空間の上に作る「地形(ランドスケープ)」を考えると直感的です。谷が安定状態、山が遷移の障壁に対応します。

上の図は、二つの谷を持つ自由エネルギー地形です。系は谷(局所最小)に落ち着きますが、十分なエネルギーがあれば中央の障壁(遷移状態)を乗り越えて、より深い谷(大域最小)へ遷移できます。タンパク質の折りたたみ、結晶核生成、化学反応の経路など、多くの現象がこの「谷と障壁」の描像で理解できます。準安定状態に長くとどまる(過冷却水のような)現象も、障壁が高くてなかなか越えられない状況として説明できます。
ここまでは物理・化学の話でした。ところが、この「エネルギーを下げたいがエントロピーは上げたい」という綱引き=自由エネルギー最小化は、まったく異なる分野——機械学習にもそっくりそのまま現れます。次にその驚くべき対応を見ます。
機械学習との橋渡し — 変分自由エネルギーと ELBO
変分推論の問題設定
ベイズ推論では、観測データ $\mathcal{D}$ が得られたとき、隠れた変数(パラメータ)$\theta$ の事後分布 $p(\theta \mid \mathcal{D})$ を知りたい。しかしこれは規格化定数 $p(\mathcal{D})$(エビデンス)の計算を含み、多くの場合で手に負えません。そこで、扱いやすい分布族 $q_\phi(\theta)$ で事後分布を近似するのが変分推論です。
近似の良さは、$q$ と真の事後 $p$ の KL ダイバージェンスで測ります。これを最小化したいのですが、KL の中にも計算できない $p(\mathcal{D})$ が入っています。そこで次の分解を使います。
$$ \ln p(\mathcal{D}) = \underbrace{\mathbb{E}_q[\ln p(\mathcal{D}, \theta) – \ln q(\theta)]}_{\text{ELBO}\ \mathcal{L}} + \underbrace{\mathrm{KL}(q \| p(\cdot \mid \mathcal{D}))}_{\geq 0} $$
左辺 $\ln p(\mathcal{D})$ は $q$ によらない定数です。KL は非負なので、第1項の ELBO(変分下界) $\mathcal{L}$ を最大化することが、KL を最小化すること(=近似を良くすること)と等価になります。
物理の自由エネルギーとの対応
ここで物理に立ち返ります。ELBO に負号をつけた量を変分自由エネルギー $\mathcal{F}$ と呼びます。
$$ \mathcal{F}[q] = -\mathcal{L} = \underbrace{\mathbb{E}_q[E(\theta)]}_{\text{平均エネルギー}} – \underbrace{T \cdot H[q]}_{\text{エントロピー項}} $$
ここで「エネルギー」を $E(\theta) = -\ln p(\mathcal{D}, \theta)$、「エントロピー」を $H[q] = -\mathbb{E}_q[\ln q]$、温度を $T=1$ と読み替えると、これは物理のヘルムホルツ自由エネルギー $F = U – TS$ とまったく同じ構造です。平均エネルギーを下げたい力と、分布をなるべく広く(高エントロピーに)保ちたい力の綱引き——という綱引きの構図が、寸分たがわず再現されています。

上の図は、統計力学の $F = -kT\ln Z$ と、機械学習の $\mathcal{F}[q] = -\mathrm{ELBO}$ が同じ構造を持つことを並べて示したものです。物理では平衡分布 $p(x) \propto e^{-E(x)/kT}$ が自由エネルギーを最小化し、機械学習では変分分布 $q$ が変分自由エネルギーを最小化(ELBO を最大化)します。さらに $p(\mathcal{D})$ は物理の分配関数 $Z$ にぴったり対応します($-\ln p(\mathcal{D})$ が「自由エネルギー」の役割)。同じ数学が二つの分野を貫いている、という事実が一目でわかります。
この対応は単なる比喩ではありません。変分オートエンコーダ(VAE)の損失関数はまさにこの変分自由エネルギーであり、物理由来の最適化テクニック(焼きなまし=アニーリングなど)が機械学習にそのまま転用されています。
そして、この「自由エネルギー最小化」という原理を脳の働きにまで拡張したのが、近年注目される自由エネルギー原理です。
自由エネルギー原理(脳科学)のさわり
神経科学者カール・フリストンが提唱した自由エネルギー原理は、「生物(脳)は、自らの感覚入力に対する変分自由エネルギーを最小化するように知覚し行動する」という大胆な仮説です。
直感的には、脳は外界の生成モデル $p(\text{感覚}, \text{原因})$ を内部に持ち、近似分布 $q(\text{原因})$ で世界の隠れた原因を推論しています。このとき脳が最小化しているのが、まさに前節の変分自由エネルギー $\mathcal{F}[q]$ です。自由エネルギーを下げる方法は二つあります。
- 知覚:内部モデル $q$ を更新して、予測と感覚入力のずれ(予測誤差)を減らす。
- 行動:自分が動いて感覚入力のほうを予測に近づける(能動的推論)。
驚くべきは、物理の熱平衡・機械学習のベイズ推論・脳の知覚行動という三つの異なる現象が、すべて「変分自由エネルギーの最小化」という一つの原理で記述できる点です。自由エネルギーという概念が、いかに分野を横断する普遍的な道具かが感じられるでしょう。
最後に、ここまでの話を Python で実際に手を動かして確かめましょう。理論で導いた関係が数値でも成り立つことを見ます。
Python での実装と検証
$F = -kT\ln Z$ を数値で確かめる
まず、簡単な2準位系で「統計力学的に計算した $F = U – TS$」と「$F = -kT\ln Z$」が一致することを確認します。理論の導出が正しければ、両者は完全に一致するはずです。
import numpy as np
# 2準位系: エネルギー準位 (kB=1 の単位系)
eps = np.array([0.0, 1.0])
kB = 1.0
def thermo_quantities(T):
"""温度 T での Z, U, S, F を2通りで計算"""
beta = 1.0 / (kB * T)
weights = np.exp(-beta * eps) # ボルツマン因子
Z = weights.sum() # 分配関数
p = weights / Z # 各状態の確率
U = np.sum(p * eps) # 内部エネルギー(平均エネルギー)
S = -kB * np.sum(p * np.log(p)) # ギブズのエントロピー
F_def = U - T * S # 定義から
F_logZ = -kB * T * np.log(Z) # 分配関数から
return Z, U, S, F_def, F_logZ
for T in [0.5, 1.0, 2.0, 5.0]:
Z, U, S, F_def, F_logZ = thermo_quantities(T)
print(f"T={T}: F(定義)={F_def:.6f}, F(-kT lnZ)={F_logZ:.6f}, "
f"差={abs(F_def - F_logZ):.2e}")
このコードを実行すると、すべての温度で F(定義) と F(-kT lnZ) の差が 1e-15 程度(浮動小数点の丸め誤差レベル)になります。これは、本文で導いた $F = U – TS = -kT\ln Z$ という恒等式が、数値的にも完全に成り立っていることを意味します。$S = U/T + k\ln Z$ の代入によって $U$ がきれいに打ち消える、という導出の正しさが裏づけられました。
エネルギーとエントロピーの綱引きを可視化する
次に、自由エネルギーの平衡点が温度でどう動くかを描きます。内部エネルギーとエントロピーが秩序パラメータ $x$ にどう依存するかをモデル化し、$F = U – TS$ の最小点を温度ごとに探します。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 1, 400) # 無秩序の度合い
U = 1.0 + 3.0 * x # 無秩序ほど内部エネルギーが増える
S = 4.0 * (x - x**2 / 2) # 無秩序ほどエントロピーが増える
plt.figure(figsize=(9, 5.5))
for T, col in zip([0.3, 0.6, 0.9, 1.2], ["#1f77b4", "#2ca02c", "#ff9900", "#d62728"]):
F = U - T * S
i = np.argmin(F)
plt.plot(x, F, color=col, lw=2.2, label=f"T={T}(平衡 x*={x[i]:.2f})")
plt.scatter([x[i]], [F[i]], color=col, s=70, edgecolor="k", zorder=5)
plt.xlabel("無秩序の度合い x")
plt.ylabel("自由エネルギー F = U - TS")
plt.title("温度を上げると平衡点が無秩序側へ移動する")
plt.legend()
plt.grid(alpha=0.3)
plt.tight_layout()
plt.show()
このグラフから、温度を上げるにつれて自由エネルギーの最小点(平衡 $x^*$)が秩序側(左)から無秩序側(右)へと連続的に移動することが読み取れます。低温では $U$ を下げる力が勝って秩序状態が選ばれ、高温では $TS$ を稼ぐ力が勝って無秩序状態が選ばれます。これはまさに「氷が温度上昇で溶ける」現象の縮図であり、本文冒頭の綱引きの図が数値計算でも再現されたことを意味します。
相転移を $G$ の交差として再現する
最後に、液体と気体のギブズ自由エネルギーの交差として相転移を可視化し、安定相が温度でどう切り替わるかを確認します。
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(250, 450, 400)
T_m = 373.0 # 転移温度(沸点)
# G の傾きは -S。気体はエントロピーが大きいので傾きが急
G_liquid = -0.10 * (T - T_m)
G_vapor = -0.25 * (T - T_m)
# 各温度で G の低いほうが安定相
stable = np.where(G_liquid < G_vapor, "液体", "気体")
plt.figure(figsize=(9, 5.5))
plt.plot(T, G_liquid, lw=2.5, label="液体 G_liq")
plt.plot(T, G_vapor, lw=2.5, label="気体 G_vap")
plt.axvline(T_m, color="gray", ls="--", label=f"転移温度 {T_m:.0f} K")
plt.xlabel("温度 T [K]")
plt.ylabel("ギブズ自由エネルギー G(任意単位)")
plt.title("相転移:G の低いほうが安定相")
plt.legend()
plt.grid(alpha=0.3)
plt.tight_layout()
plt.show()
# 転移温度の前後で安定相が切り替わることを確認
print("T=300K の安定相:", stable[np.argmin(np.abs(T - 300))])
print("T=420K の安定相:", stable[np.argmin(np.abs(T - 420))])
このコードを実行すると、T=300K の安定相: 液体、T=420K の安定相: 気体 と表示され、転移温度 373 K を境に安定相が液体から気体へ切り替わることが確認できます。グラフ上では二本の直線が転移温度で交差し、常に下側にある相が安定であることが視覚的にわかります。本文で述べた「$(\partial G/\partial T)_p = -S$ により、エントロピーの大きい気体ほど $G$ が急に下がる」という性質が、傾きの違いとして現れています。
化学ポテンシャル — 粒子が流れる向き
開いた系では、粒子数 $N$ も変化します。$G$ を粒子数で偏微分した量が化学ポテンシャル $\mu = (\partial G/\partial N)_{T,p}$ で、「粒子1個追加あたりの自由エネルギー増分」を表します。

上の図は、左に $G(N)$ の傾きとして化学ポテンシャル $\mu$ を、右に二つの相の間で $\mu$ の高いほうから低いほうへ物質が流れる様子を示しています。$\mu_A > \mu_B$ なら粒子は A から B へ流れ、$\mu_A = \mu_B$ で平衡(物質移動が止まる)になります。温度差が熱を流し、圧力差が体積を変えるのと同じように、化学ポテンシャルの差が物質の流れを駆動する——という統一的な描像が見て取れます。これが拡散・浸透・相平衡・化学平衡を貫く共通原理です。
まとめ
本記事では、ヘルムホルツ自由エネルギーとギブズ自由エネルギーを、直感から統計力学・機械学習・脳科学まで一気通貫で解説しました。
- 綱引きの描像:自由エネルギーは「内部エネルギーを下げたい力」と「エントロピーを上げたい力」の妥協点。仲裁役が温度 $T$。
- ヘルムホルツ $F = U – TS$:自然変数 $(T, V)$、全微分 $dF = -SdT – pdV$、等温等容で平衡。最大仕事は $-\Delta F$。
- ギブズ $G = H – TS$:自然変数 $(T, p)$、全微分 $dG = -SdT + Vdp$、等温等圧で平衡。$\Delta G < 0$ が自発過程の条件。
- 統計力学との橋:$F = -kT\ln Z$。ミクロな状態の数え上げ(分配関数)からマクロな自由エネルギーが完全に決まる。
- 平衡分布:ボルツマン分布 $p(E) \propto e^{-E/kT}$ は自由エネルギーを最小化する分布。
- マクスウェルの関係式:ポテンシャルの2階偏微分の対称性から、測りにくいエントロピーを測りやすい量に翻訳できる。
- 機械学習との橋:変分自由エネルギー $\mathcal{F}[q] = -\mathrm{ELBO}$ は $F = U – TS$ と同構造。$p(\mathcal{D})$ は分配関数 $Z$ に対応。
- 自由エネルギー原理:脳の知覚と行動も変分自由エネルギー最小化として記述できる。
「エネルギーとエントロピーの綱引き」という一つの構図が、化学反応・相転移・ベイズ推論・脳の働きまでを統一的に説明する——自由エネルギーは、理工系のあらゆる分野をつなぐ最も普遍的な概念の一つです。
次のステップとして、以下の記事も参考にしてください。