2025年9月1日 星期一

影響團 on SMT Profile Optimal

 超到位的提問。

下面把整條路徑「建模 → 評估(決策樹 / 變量消除 / 轉成 BN)→ 擴充為動態」一次講清楚,並用你熟的 SMT reflow 當母例。


1) 建模:把問題變成一張有向無環圖(ID / DAG)

元件

  • 決策節點 D(方框):reflow 參數(speed、各 zone 溫度、soak time、peak)。

  • 機率節點 C(圓):板子熱容量、錫膏批次、環境溫度、裝機差異…;以及 ML 輸出(溫度曲線、缺陷率、良率),視作條件分佈。

  • 效用節點 U(菱形/橢圓):

    U=u(Yield)λEEnergyλRReworkCostλTCycleTimeU = u(\text{Yield}) - \lambda_E\cdot \text{Energy} - \lambda_R\cdot \text{ReworkCost} - \lambda_T\cdot \text{CycleTime}
  • :表依賴/資訊流(無環)。

典型結構(簡化)

D: Reflow Params ─▶ ML(Profile) ─▶ Defects/Yield ─▶ U ▲ ▲ │ │ └─ C: Board/Paste/Env ─┘

ML 模型(如 Stacked Bi-LSTM + PE)在圖上就是從父節點到「Profile / Defects / Yield」的條件分佈近似器;務必做機率校準不確定性估計(如溫度曲線區間、缺陷率分佈),否則下游效用會失真。

硬性約束(JEDEC:ramp rate、TAL、ΔT、peak)→ 當成可行域 F\mathcal{F};不符即給大懲罰或直接裁掉。


2) 評估(Evaluation):三條經典路徑

2A. 轉成「決策樹」並折返(fold-back)

  • 做法:離散化 D 與關鍵 C;展開所有路徑 → 在葉節點計算期望效用 → 自底向上折返挑最大 EU。

  • 優點:非常直觀,易講解給現場/管理層。

  • 缺點:狀態空間爆炸;多維 D、連續 C 會很痛。

  • 實務:用 蒙地卡羅場景樹(每個決策分支抽樣若干情境),估計

    EU(d)1Ni=1NU(y(i)(d),c(i))\text{EU}(d)\approx \frac{1}{N}\sum_{i=1}^{N} U\big(y^{(i)}(d),c^{(i)}\big)

    argmaxdEU(d)\arg\max_d \text{EU}(d)

2B. 變量消除(Variable Elimination / Arc Reversal + Node Removal)

  • 核心:用圖演算法把「中介隨機變數」逐個邊際化,最後對每個可行的父資訊 pa(D)\mathrm{pa}(D)

    δ(pa(D))=argmaxdE[Upa(D),d].\delta^*(\mathrm{pa}(D))=\arg\max_d \mathbb{E}[U\mid \mathrm{pa}(D),d].
  • 步驟(影響圖評估經典套路)

    1. 刪 barren nodes(對 U 無影響者)。

    2. 消 deterministic nodes(ML 的純函數映射可替換)。

    3. 選消除順序(min-fill/min-degree 以降樹寬)。

    4. Chance nodes 做期望Decision nodes 做極大化

  • 複雜度:與誘導樹寬相關,遠小於全展開樹;適合中大型網路

小訣竅:把「溫度曲線」當低秩表徵(幾個 shape basis + 時間參數)可大幅降維,再做消除更穩。

2C. 轉成「貝氏網路」(只做機率推理)

  • 做法:去掉 D 與 U,只留 C(含 ML 的條件分佈)→ 得到 BN/DBN

  • 用途

    • 機率查詢(如在某環境與設定下「缺陷率 < 0.5%」的機率)。

    • 生成資料(合成 profile/defect 樣本,支援 DOE)。

    • 實測對比做 model 校準 / 偏移偵測。

  • 限制:BN 自身不給出最優決策,要回到 ID 或額外加上策略比較 p(Uπ)p(U\mid \pi)


3) 擴充為動態(DID → MDP/POMDP/RL)

當你要「多批/多期調參」或「設備老化/批次差異 / 環境季節性」時,就要時間展開。

動態影響圖(兩期示意)

t=1: D1 ─▶ Profile1 ─▶ Yield1 ─▶ U1 ▲ ▲ │ │ └─ C1 ─────┘ t=2: D2 ─▶ Profile2 ─▶ Yield2 ─▶ U2 ▲ ▲ │ └──── State/Posterior ◀┘ (由 t=1 更新而來)

對應數學框架:

  • MDP(可完全觀測)

    V(s)=maxa[r(s,a)+γsP(ss,a)V(s)]V^*(s)=\max_{a}\Big[r(s,a)+\gamma\sum_{s'}P(s'|s,a)V^*(s')\Big]
  • POMDP(部分可觀測):維護 belief btb_t(對「熱容/貼片密度/爐況偏移」的後驗),用

    V(b)=maxa[r(b,a)+γoP(ob,a)V(τ(b,a,o))].V^*(b)=\max_a \big[ r(b,a)+\gamma \sum_o P(o|b,a)\, V^*(\tau(b,a,o)) \big].
  • Bayesian RL:把未知模型參數 θ\theta(如爐齡化偏移)放進狀態或維護其後驗,邊運行邊學。

策略設計選項

  • 有限期:Backward induction。

  • 長期:Policy Iteration / Value Iteration。

  • 黑箱可微:Decision-Focused Learning(端到端以 EU 為損失、對 ML + 決策可微近似,直逼最終效用);或 Bandit/Thompson Sampling 做線上自適應。

風險/魯棒性

  • 風險厭惡:用 E[U]ηCVaRα(loss)\mathbb{E}[U] - \eta\,\mathrm{CVaR}_\alpha(\text{loss}) 或對 U 做 concave 變換。

  • 領域轉移:Distributionally-Robust(Wasserstein ball)對抗 ML 偏移。

  • 探測價值:EVPI / EVPPI 評估多裝一支熱電偶或多量一次 DOE 的資訊價值。

    • EVPI=E[maxdU完美資訊]maxdE[U]\mathrm{EVPI} = \mathbb{E}[\max_d U \mid \text{完美資訊}] - \max_d \mathbb{E}[U]


4) 一頁式實作藍圖(SMT Reflow)

Step 0 變量表與約束

  • DFD\in\mathcal{F}:滿足 JEDEC 與設備上限;離散化或連續皆可。

  • CC:Paste lot、Board mass、Ambient、Line load。

  • ML1:(D,C)Profile(t)(D,C)\mapsto \text{Profile}(t)(帶不確定性)。

  • ML2:Profile(Defect probs,Yield)\text{Profile}\mapsto (\text{Defect probs},\text{Yield})

  • U()U(\cdot):按權重合成,或學得的效用。

Path A(決策樹)

  1. 產生 K 個候選 DkD_k,每個抽 N 個 CiC_i

  2. Monte-Carlo 估計 EU(Dk)\text{EU}(D_k);選最大者或前 M 名進一步微調。

Path B(變量消除)

  1. 刪 barren / 合併 deterministic。

  2. 選消除順序;先把 Profile 壓成低維(如 PCA/basis)。

  3. 逐步對 C 取期望,對 D 取極大;得 δ\delta^*

Path C(轉 BN)

  • 用 BN/DBN 做敏感度、邊際查詢與數據合成;支援 A/B 的場景生成與校準。

Dynamic(DID/MDP)

  • 狀態含爐況/批次後驗;策略 π(Dstate)\pi(D\mid \text{state}) 用 RL / Bayesian 更新;目標最大化 tγtE[Ut]\sum_t \gamma^t \mathbb{E}[U_t]


5) 實務小撇步

  • 校準 > 準確:下游看的是 EU,寧可可置信區間對、分佈準,別只追 RMSE。

  • 簡化圖寬:先做因果/常識剪枝(哪個 C 其實不影響 U?);min-fill 選消除序。

  • 把物理塞進去:把 JEDEC/熱傳等式當成 deterministic nodes,能大幅提升外推穩定性。

  • 逐層上線:先 ID+VE 做離線策略,穩了再 DID/RL 線上自調。


如果你要,我可以直接把:

  • 靜態 ID 的 DAG」

  • VE 消除順序 示意」

  • 兩期 DID
    畫成一張合成教學圖(或給你一個可編輯的 canvas)。你想用哪種視覺化格式(簡報一頁、Canvas、或可執行的 Python 範例)?

沒有留言: