Skip to content
所有分類

tech

529 篇文章

Looplane 的工具隔離:path allowlist、argv 嚴格化、process group 與 credential-free subprocess

這篇只拆 Looplane 的 tool executor 如何把一次呼叫安全落地:`SafePathPolicy` 限制 path 並阻擋 symlink escape,`VerificationCommand` 固定 argv 且使用 `shell=False`,subprocess 只拿清理過的 env,寫入走 read-version hash 與 atomic replace,timeout 會終止整個 process group。權限決策、OS sandbox 與 tool program 各留給後續專篇。

Looplane 的 tool programs、transactions 與 safe concurrency

Looplane 只平行執行同時標成 read-only、concurrency-safe 與 READ effect 的 tool call;tool_program 提供有界的 read-only repeat/branch,tool_transaction 則對可能碰到的 workspace files 做 snapshot 與失敗 rollback。它不是外部副作用的通用交易系統。

Looplane 的 TUI 與 CLI:一次 run 在終端機上怎麼被看見

Looplane 的 TUI 與 plain CLI 是同一套 runtime 的兩種使用者介面。CLI 先依 TTY 與旗標選擇呈現方式,runner 再送出事件;TUI 把事件投影成 thinking、tool、approval、verification 與終態。使用者能從畫面分辨 native 與 external runtime,但 UI 不替底層能力背書。

近似理論(Approximation Theory)—— 萬能近似、Barron 定理與深度為何有用|MIT 6.7960 第 3 堂

單層網路理論上能逼近任何連續函數(萬能近似),但寬度會隨維度指數爆炸;Barron 定理在特定的『Barron 函數類』下讓誤差只隨樣本數 √n 收斂、與維度脫鉤;而深度能對組合/階層函數帶來指數級的寬度節省——這正是深網比淺網強的根本原因。

CNN 架構全解析——從卷積核到平移等變性的感知機制|MIT 6.7960 第 4 堂

Lec 4 核心重點:為什麼 CNN 是處理網格資料的最佳選擇——卷積、平移等變性、池化與經典架構一次掌握

圖神經網絡(GNN, Graph Neural Networks)—— 訊息傳遞、置換等變與表達力上限|MIT 6.7960 第 5 堂

GNN 本質是「在圖上做局部訊息傳遞的 MLP」:它把 CNN 的固定網格鄰居推廣成任意拓撲的鄰居聚合。它必須滿足置換等變/等變性。理論上,一階 GNN 的表達力不超過 Weisfeiler–Lehman 圖同構測試——有些結構它永遠分不出來,這也是後來 GIN、位置編碼、子圖技巧要補的洞。

課程導論 —— Deep Learning 的地圖、為什麼深,以及第一個訓練 loop|MIT 6.7960 第 1 堂

本講是 6.7960 的導論:deep learning 之所以爆發是『資料 + 算力 + 演算法』三股力量同時到位;本課從架構(CNN/GNN/Transformer)到訓練、表示、生成、遷移、規模、LLM 一路串起來;最後用一個 ~30 行的 PyTorch training loop 確認你的環境能跑。

優化縮放定律 —— 譜視角、特徵學習與超參數遷移|MIT 6.7960 第 7 堂

優化不是孤立的數值問題:用譜視角看 SGD,權重更新的『量』決定特徵學習;Maximal Update Parameterization 讓學習率與初始化跨寬度遷移,critical batch size 決定算力換取收斂的邊際。

Transformer —— Token、Attention 與位置編碼,以及它和 MLP/CNN/GNN 的關係|MIT 6.7960 第 8 堂

Transformer 不是憑空冒出的架構:token 把資料切成離散單元,attention 做軟性的訊息聚合,positional code 補回順序。把它和 MLP/CNN/GNN 擺在一起看,會發現它們都是『對鄰居做加權彙整』的不同特例。

深度學習駭客指南 —— 讓網路真正聽你使喚的實作心法|MIT 6.7960 第 9 堂

訓練神經網路更像工程而非魔法:先看資料、先在小批次上過擬合證明容量夠、再用正則化把泛化補回來;學習率永遠是影響最大的那顆旋鈕。

記憶與序列建模 —— RNN、LSTM 與梯度消失/爆炸|MIT 6.7960 第 10 堂

RNN 沿時間傳遞隱狀態,梯度連乘可能衰減或放大;LSTM 以門控制 cell state 的保留與更新,改善長程訊號傳遞但不保證穩定。Self-attention 縮短位置間的資訊路徑,單層 dense attention 的總計算仍隨序列長度平方成長。

表示學習(重建式)—— 自編碼器、VQ 與自監督|MIT 6.7960 第 11 堂

表示學習的目標是把原始資料壓成「好用」的向量:自編碼器用重建逼出有意義的潛空間,VQ 把連續表示離散化成碼本,自監督則用『遮住一部分再重建』來免費產生監督訊號。

表示學習(相似性式)—— 度量學習、對比學習與 InfoNCE|MIT 6.7960 第 12 堂

相似性式表示學習不重建輸入,而是直接塑造潛空間的幾何:讓同類表示靠近、異類推遠。InfoNCE 把這件事寫成『在一堆負樣本裡認出正樣本』的分類問題,而 alignment / uniformity 給了它可解釋的評價指標。

表示學習的理論視角 —— 歸納偏置、高斯過程與 NN–GP 對應|MIT 6.7960 第 13 堂

把網路變寬到極限,它的隨機初始化輸出會變成一個高斯過程(NN–GP),而訓練動態則由神經切線核(NTK)固定下來。這套理論不只能用來分析,還反過來指導我們設計『對的歸納偏置』。

生成模型基礎 —— 密度/能量模型、GAN、自回歸與擴散|MIT 6.7960 第 14 堂

生成模型本質是在學資料的分佈 p(x)。密度模型直接建模機率,能量模型用一個未歸一化勢能 + 採樣器,GAN 讓判別器逼出逼真樣本,自回歸一步步預測下一個 token,擴散則用『逐步加噪再學去噪』繞開棘手的最大似然。

變分自編碼器(VAE)—— ELBO、再參數化技巧與潛變數表示|MIT 6.7960 第 15 堂

VAE 的核心是 ELBO + 再參數化:把 log p(x) 替成 E_q[log p(x|z)] − KL(q(z|x)‖p(z)),encoder 輸出 μ/σ 用 z = μ + σ⊙ε(ε ~ N(0,1))讓採樣可反向傳播。訓練 = 重構 + KL 兩項拉扯,由此衍生 β-VAE、posterior collapse、VQ-VAE 等修正。

條件生成模型(Conditional Generative Models)—— cGAN、cVAE 與 Classifier-Free Guidance|MIT 6.7960 第 16 堂

條件生成的關鍵是「把 y 餵進模型」:cGAN 在 G/D 拼接 y,cVAE 把 y 當額外輸入進 encoder/decoder;擴散模型時代,Classifier Guidance 用外部分類器梯度把生成推向指定類別,Classifier-Free Guidance 則同訓練 conditional + unconditional 並在推論時線性組合兩者——後者是 Stable Diffusion / Imagen 的標準武器。

out-of-distribution 泛化 —— 領域偏移、虛假相關、與三條實務對策|MIT 6.7960 第 17 堂

OOD 失敗不是 bug,是 i.i.d. 假設破掉:covariate shift(影像風格變了)、label shift(類別比例變了)、concept shift(同一個詞意思變了)各有對應的應對方式;最常見的原因是模型抓了『虛假相關』(用草原當牛的存在訊號),IRM 與 domain randomization 想從訓練資料結構本身把這件事修掉,test-time adaptation 在推論時即時修正。

遷移學習(Transfer Learning)—— 預訓練、特徵抽取、與微調策略|MIT 6.7960 第 18 堂

遷移學習的核心是『在大資料上學到的特徵是好的通用表示』:下游任務資料少時,把 backbone 凍住只訓練線性 head;資料夠就全模型微調;想省算力就上 LoRA / adapter。SimCLR、MAE 這類自督導預訓練讓『上游不需要標籤』,下游表現又上一層樓。

現代 CNN 架構 —— ResNet、EfficientNet、ConvNeXt|MIT 6.7960 主題單元

ResNet 用殘差連接解決退化問題,讓網路能堆到 100+ 層;EfficientNet 複合縮放平衡深度/寬度/解析度;ConvNeXt 吸收 Transformer 設計重奪 CV 王座。