神經網路架構圖的標註慣例
- 張量形狀標籤:在每個模組後面印出輸出形狀,全圖只用一種格式,例如影像用 H×W×C,序列用 (batch, seq_len, d_model)。
- 跳躍連接:殘差連接和 U-Net 的跳躍連接畫成弧線或虛線箭頭,並匯入一個可見的合併節點,相加標 ⊕,拼接則標註「concat」。
- 重複模組:只畫一份,放在方括號或外框裡並標出 ×N,例如六層 Transformer 編碼器寫「×6」,不要疊六份一樣的。
- 按層類型配色:為卷積層、池化層、正規化層、注意力層和全連接層各分配一種顏色,並加上圖例。不要只靠顏色區分,標籤上仍然要寫出每一層的名稱。
怎樣在提示詞裡把架構寫準確
把模型寫成帶箭頭的有序鏈條,每一步後面跟上形狀:「輸入層 32×32×3 → 卷積層 3×3、32 個濾波器 → 32×32×32 → 最大池化 2×2 → 16×16×32」。工具會照著您寫的畫,所以「一個很深的 CNN」這種模糊提示只會得到模糊的圖。
說明排布方向(從左到右、自下而上,還是 U 形)、哪些連接跨層、分支在哪裡匯合、哪些模組會重複。措辭要緊的地方,就把標籤原文用引號給出。畫 CNN 架構圖時,請說明要三維體塊還是平面方框。
與 PlotNeuralNet、draw.io 和 NN-SVG 的比較
PlotNeuralNet 是採用 MIT 授權的專案,為架構圖生成 LaTeX/TikZ 程式碼,並提供可選的 Python 介面,適合本來就用 LaTeX 寫作、希望把圖當程式碼管理的作者。NN-SVG 是採用 MIT 授權的參數化工具,可匯出 FCNN、LeNet 和 AlexNet 風格的 SVG,模型剛好符合這幾種風格時最合用。draw.io 是採用 Apache 2.0 授權的免費通用繪圖工具,有網頁版和桌面版,每個圖形都能手動控制。
當架構是那些工具沒有模板的類型(例如多模態模型或圖模型),而您又不想寫 TikZ、不想一個個方框擺位時,本工具最適合快速拿到一版精修的初稿。它的輸出是 PNG 影像,不是精確的向量幾何。最近核對時間:2026 年 9 月 15 日,依據 PlotNeuralNet(github.com/HarisIqbal88/PlotNeuralNet)、NN-SVG(github.com/alexlenail/NN-SVG)和 draw.io(github.com/jgraph/drawio)的官方儲存庫。
發表前的核對要點
- 數一數圖裡的模組,和模型定義對照,包括標了 ×N 的重複堆疊。
- 重算形狀:步長 2 的 2×2 池化會把高和寬各減半,4×4×128 展平後是 2048。
- 檢查每條跳躍連接的起點和終點是否落在對應的層和解析度上。
- 逐字讀每個標籤;影像模型可能把「LayerNorm」之類的詞寫錯,或把數字調換。
- 讓圖裡的名稱與方法部分和程式碼裡的名稱保持一致。