搜尋課程與筆記

搜尋筆記

輸入主題、關鍵字或單元編號,例如 Flow Matching、U4。

    按 Esc 關閉 · ⌘ / Ctrl K 開啟搜尋

    M4.3 12 分鐘閱讀 2026年10月

    M4.3 影片倒著播看得出來嗎:Time Reversal 與比值

    本篇重用2 篇

    一段沒有標時間的影片

    有人給你一段天空的狀態紀錄,只留下「晴、多雲、雨」與每次轉變的時刻,沒有日期或太陽的位置。他問:這段紀錄是正著播還是倒著播? 我們先把它當成上一篇的 finite-state CTMC,再問反向的跳躍規則是否相同。

    可以先想兩個問題:

    1. 你覺得有辦法分辨嗎?依據是什麼?
    2. 如果把天氣簡化成只有「晴」「雨」兩種,你的答案會變嗎?

    隨機並不代表正反向的機率相同。想像人群較常照「晴→多雲→雨→晴」繞圈,倒帶後這個偏好就反過來了。已知現在在某一格,上一瞬間在哪裡的機率,要怎麼由正向規則算出? 這其實又是一個 Bayes 問題。

    課堂提問Q1

    「倒著播」在數學上是什麼?如果正著播是一條 Markov chain XtX_t,倒過來的 Ys=XT−sY_s=X_{T-s} 還是 Markov chain 嗎?它的 rate 是什麼?

    先想一想,再展開看整理後的答案

    課堂上第一個反應通常是「倒過來就不是 Markov 了,因為它要知道未來」。這是錯的,而且錯得很有啟發性。Markov property 說「給了現在,過去與未來獨立」——這句話對過去與未來是對稱的。所以倒過來的過程 YsY_s 也是 Markov chain:給了 Ys=XT−sY_s=X_{T-s},它的「未來」(就是 XX 的過去)與它的「過去」(XX 的未來)獨立。

    真正會變的是 rate。正著播的 rate R(x,y)R(x,y) 回答「現在在 xx,下一瞬間跳到 yy 的傾向」;倒著播要回答的是「現在在 xx,上一瞬間在 yy 的傾向」——這是一個「從結果推原因」的問題,是 M1.3 的形狀:已知 Xt+dt=xX_{t+dt}=x,問 Xt=yX_t=y 的 posterior。所以倒著播的 rate 會是一個 posterior,而 posterior 裡一定有先驗除以證據——這就是比值 pt(y)/pt(x)p_t(y)/p_t(x) 的來源。要算的量是這個 posterior 對 dtdt 的斜率。

    先抓住這個畫面

    想像一條很長的走廊,兩端各有一個房間:左邊「晴」、右邊「雨」。人群在兩個房間之間來回走。正著看,你數的是「每分鐘從晴走到雨的人數」;倒著看,同一批腳步變成「從雨走到晴」。如果兩個方向的人流一樣多,倒帶之後什麼都沒變——你看到的仍然是同樣多的人往兩邊走,分不出方向。

    如果房間有三個、而且人群傾向繞圈——晴→多雲→雨→晴——正著看是順時鐘,倒著看變成逆時鐘。這時你分得出來,因為存在一股淨環流。分辨影片方向的能力,就是偵測淨環流的能力。這個畫面已經暗示:兩種天的世界裡,兩個房間之間長期的人流必然相等(不然有一邊會越來越擠),所以分不出來;三種天的世界裡可以繞圈,所以可能分得出來。

    兩個房間 vs 三個房間繞圈

    圖:兩狀態的穩態流量必須逐對平衡;三狀態可以維持倒帶後反向的淨環流。

    把畫面寫成公式

    四行 Bayes

    令 XtX_t 是 finite-state CTMC,ptp_t 是它的 distribution,並先限制在 pt(x)>0p_t(x)>0 的狀態。固定短時間 dtdt 與 x≠yx\ne y;反向要問已知 Xt+dt=xX_{t+dt}=x,上一瞬間 Xt=yX_t=y 的機率。由 Bayes:

    Pr⁡(Xt=y∣Xt+dt=x)=Pr⁡(Xt+dt=x∣Xt=y)  pt(y)pt+dt(x)≈R(y,x) dt  pt(y)pt(x).\Pr(X_t=y\mid X_{t+dt}=x) =\frac{\Pr(X_{t+dt}=x\mid X_t=y)\;p_t(y)}{p_{t+dt}(x)} \approx\frac{R(y,x)\,dt\;p_t(y)}{p_t(x)} .

    第二步用了 Pr⁡(Xt+dt=x∣Xt=y)≈R(y,x) dt\Pr(X_{t+dt}=x\mid X_t=y)\approx R(y,x)\,dt(rate 的定義)與 pt+dt(x)≈pt(x)p_{t+dt}(x)\approx p_t(x)。把 dtdt 除掉,得到倒著播的 rate:

      R^t(x,y)=R(y,x) pt(y)pt(x)  (x≠y),\boxed{\;\hat R_t(x,y)=R(y,x)\,\frac{p_t(y)}{p_t(x)}\;}\qquad(x\ne y),

    對角線照例補成讓每列和為 0。三個成分各有名字:R(y,x)R(y,x) 是正向從 yy 到 xx 的 rate(likelihood);pt(y)p_t(y) 是上一瞬間在 yy 的先驗;pt(x)p_t(x) 是現在在 xx 的證據。比值出現的原因就是 Bayes 的形狀:要從「現在在 xx」倒推「剛才在 yy」,得看 yy 本來有多可能、以及從 yy 過來有多容易,再除以「到 xx 的所有路徑」。

    這裡 R^t\hat R_t 用的是原影片的時間。若反向時鐘是 ss、Ys=XT−sY_s=X_{T-s},則它當下的 generator 是 R^T−s\hat R_{T-s}。即使正向 RR 固定,反向也通常隨時間改變,因為 ptp_t 在變;零機率狀態不能直接除以 pt(x)p_t(x),要在有支撐的狀態與時間上使用公式。

    什麼時候倒著播看不出來

    若 chain 已在 stationary distribution π\pi(pt=πp_t=\pi 對所有 tt),R^(x,y)=R(y,x)π(y)/π(x)\hat R(x,y)=R(y,x)\pi(y)/\pi(x) 不再依賴 tt。倒著播與正著播規律完全相同的條件是 R^=R\hat R=R,即

    π(x) R(x,y)=π(y) R(y,x)對所有 x≠y.\pi(x)\,R(x,y)=\pi(y)\,R(y,x)\quad\text{對所有 }x\ne y .

    這叫 detailed balance:每一對狀態之間,兩個方向的機率流量相等。滿足它的 chain 叫 reversible。對照 stationary 的條件 πR=0\pi R=0——那只要求每個狀態的總流入等於總流出(global balance);detailed balance 要求每一對之間各自平衡,是更強的條件。走廊裡的畫面就是這件事:三個房間可以「總進出平衡」但「順時鐘多於逆時鐘」。

    2 狀態一定 reversible。 πR=0\pi R=0 只有一條獨立方程 π(S)R(S,R)=π(R)R(R,S)\pi(\text{S})R(\text{S},\text{R})=\pi(\text{R})R(\text{R},\text{S}),它本身就是 detailed balance。所以只有晴雨兩種天的 stationary 影片,任何方法都分不出方向——第二個直覺問題的答案是「會變:兩種天分不出,三種天可能分得出」。

    3 狀態繞圈的例子。 令 S→C、C→R、R→S 的 rate 都是 1,反方向都是 ε\varepsilon。由對稱性 π=(13,13,13)\pi=(\tfrac13,\tfrac13,\tfrac13)。倒著播的 rate 是 R^(x,y)=R(y,x)\hat R(x,y)=R(y,x):順時鐘的 rate 變成 ε\varepsilon、逆時鐘變成 1。ε=1\varepsilon=1 時 R^=R\hat R=R(detailed balance 成立,分不出);ε≪1\varepsilon\ll1 時影片正著播幾乎只看到 S→C→R→S,倒著播幾乎只看到 S→R→C→S——數一數「晴之後接多雲」與「多雲之後接晴」哪個多,就知道方向。

    展開細節倒著播的 chain 確實把分佈倒著走回去;離散時間版本;Kolmogorov 的環路判準

    驗證。 令 qs=pT−sq_s=p_{T-s} 是倒著播的分佈。它應滿足倒著播的 forward equation q˙s=qsR^T−s\dot q_s=q_s\hat R_{T-s}。直接算:(qsR^T−s)(y)=∑x≠y[pt(x)R^t(x,y)−pt(y)R^t(y,x)](q_s\hat R_{T-s})(y)=\sum_{x\ne y}\big[p_t(x)\hat R_t(x,y)-p_t(y)\hat R_t(y,x)\big](t=T−st=T-s),代入 R^t(x,y)=R(y,x)pt(y)/pt(x)\hat R_t(x,y)=R(y,x)p_t(y)/p_t(x) 得 ∑x≠y[pt(y)R(y,x)−pt(x)R(x,y)]=−p˙t(y)=q˙s(y)\sum_{x\ne y}\big[p_t(y)R(y,x)-p_t(x)R(x,y)\big]=-\dot p_t(y)=\dot q_s(y)。成立。

    離散時間。 同一個 Bayes 計算對每日一步的 chain 給 P^n(x,y)=P(y,x) pn(y)/pn+1(x)\hat P_n(x,y)=P(y,x)\,p_n(y)/p_{n+1}(x);stationary 時 P^(x,y)=π(y)P(y,x)/π(x)\hat P(x,y)=\pi(y)P(y,x)/\pi(x),detailed balance 是 π(x)P(x,y)=π(y)P(y,x)\pi(x)P(x,y)=\pi(y)P(y,x)。

    不用先算 π\pi 的判準。 Kolmogorov 判準:一條 irreducible chain 是 reversible,若且唯若對每一個環路 x1→x2→⋯→xk→x1x_1\to x_2\to\cdots\to x_k\to x_1,順著走的 rate 乘積等於反著走的乘積。對上面的三角形:順時鐘 1⋅1⋅11\cdot1\cdot1 vs 逆時鐘 ε3\varepsilon^3,只在 ε=1\varepsilon=1 時相等。見 Kelly [1] 第 1 章。

    回頭看那兩派直覺

    理論的判斷。 「隨機的東西倒過來還是隨機」這一派,在兩種天、且影片已經在 stationary 的情況下是對的——而且是嚴格對的:倒著播的過程與正著播有相同的法則,沒有任何統計量能分辨。但理由不是「隨機」,是 detailed balance;三種天一旦有淨環流,同樣隨機,卻分得出來。「有慣性所以看得出不自然」這一派,把重點放錯了:慣性(停留久)在倒帶後仍是慣性,看得出來的是環流方向,不是慣性。

    依賴的假設與失準處。 上面「分不出」的結論依賴 stationary。若影片從一個特別的起點開始——例如整段影片是從一場罕見的連續大雨之後開始錄的,p0p_0 遠離 π\pi——那麼 R^t\hat R_t 依賴 tt:倒著播時,接近影片起點的那些天會有異常的轉變速率(pt(y)/pt(x)p_t(y)/p_t(x) 在 pt(x)p_t(x) 很小時很大),即使 chain 本身 reversible 也看得出來。具體地,2 狀態、從全晴出發、S→R rate 0.20.2、R→S rate 0.40.4(每天):pt(R)=13(1−e−0.6t)p_t(\text{R})=\tfrac13(1-e^{-0.6t}),倒著播的 R→S rate 是 0.2 pt(S)/pt(R)0.2\,p_t(\text{S})/p_t(\text{R}),在 t→0t\to0 時像 1/t1/t 一樣爆掉——倒帶影片裡靠近起點的雨天會「不自然地」立刻放晴,因為它們必須在時刻 0 回到晴。

    動手跑一次

    import numpy as np
    rng = np.random.default_rng(0)
    eps, T = 0.2, 200_000                       # 三角形:順時鐘 rate 1、逆時鐘 eps
    R = np.array([[-(1+eps), 1, eps], [eps, -(1+eps), 1], [1, eps, -(1+eps)]])
    x, path = 0, []
    for _ in range(T):                          # 只記錄跳到哪(embedded chain 即可)
        rates = R[x].copy(); rates[x] = 0
        x = rng.choice(3, p=rates / rates.sum()); path.append(x)
    path = np.array(path)
    cw  = np.mean((path[1:] - path[:-1]) % 3 == 1)   # 順時鐘跳的比例
    print("正著播順時鐘比例", cw, " 倒著播", 1 - cw)  # 1/(1+eps) vs eps/(1+eps)
    # eps = 1 時兩者都是 1/2:倒帶後無法分辨

    檢查理解

    想一想

    一段排隊人數的縮時影片(每分鐘一格,人數 0 到 10)。已知這個排隊系統「每分鐘隨機來 0 或 1 人、隨機走 0 或 1 人,來與走的機率都不依賴人數」,而且已經運作很久、處於 stationary。你能分辨影片方向嗎?

    想一想

    倒著播的 rate R^t(x,y)=R(y,x) pt(y)/pt(x)\hat R_t(x,y)=R(y,x)\,p_t(y)/p_t(x) 裡,比值 pt(y)/pt(x)p_t(y)/p_t(x) 為什麼會出現?

    想一想

    三種天的 chain 滿足 detailed balance(ε=1\varepsilon=1),但影片是從「連續十天大雨之後」開始錄的、只錄了三十天。關於分辨方向:

    參考文獻

    1. Kelly, F. P. Reversibility and Stochastic Networks. Wiley, 1979(Cambridge University Press 重印 2011).(第 1 章:reversed process、detailed balance、Kolmogorov 判準。)
    2. Norris, J. R. Markov Chains. Cambridge University Press, 1997.(1.9 節與 3.7 節 time reversal。)
    3. Levin, D. A., Peres, Y. Markov Chains and Mixing Times, 2nd ed. AMS, 2017.(1.6 節 reversibility 與 time reversal。)