9 / 24 · 概念
直接卷積參考
輸入 [2,3]、權重 [4,−1]、偏置一時,若每個輸入通道迭代都加一次偏置,會得到哪個錯誤結果?
單元可免費閱讀,註冊課程即可儲存學習進度。
優先採用可檢查的參考
黃金模型優先呈現清楚契約,而非速度。迭代輸出通道、輸出列與輸出欄;接著歸約輸入通道與核心列欄。計算每個輸入座標,範圍外供應零。這能揭露第一個錯誤輸出與確切偏離項目。不必模仿硬體最佳化的迴圈順序。
每個輸出只以 b[m] 初始化累加器一次。若在歸約內加入,就會重複偏置。整數模型中,x 與 w 是中心化編碼,偏置使用乘積尺度。
多通道計算範例
使用兩個 1×1 輸入通道,分別儲存二與三。輸出通道零的權重為 [4,−1]、偏置為一,得到 1+8−3=6。輸出通道一的權重為 [−2,5]、偏置為 −1,得到 −1−4+15=10。共用累加器必須獨立開始第二個輸出,不能保留第一個結果。
輸入 [1,2,3;4,5,6;7,8,9]、核心 [1,2;3,4] 的預期結果為 [37,47;67,77]。第一組記錄乘積為 1,4,12,20。下一組為 2,6,15,24。檢查手算位置;只看最終值可能掩蓋互相抵銷的錯誤。
將直接模型與結構不同的視窗區塊內積模型比較。兩者共用同一位址函式,可能共用相同錯誤。結合獨立結構與手算測試資料。保持隨機種子可重現,保留失敗張量。比較未轉換累加器與最終輸出編碼,以定位數值失敗。
我們的 model.mjs 接受 X[C][H][W] 與 W[M][C/G][R][S],隱含單一批次。它檢查矩形張量、通道相容性與群組,不匯入框架模型。使用不同數值、負數與非對稱權重,而非全零測試資料。對照 ONNX Conv 慣例,並記錄此教學模型限制。
自己試試看
輸入 [2,3]、權重 [4,−1]、偏置一時,若每個輸入通道迭代都加一次偏置,會得到哪個錯誤結果?
查看解說
正確結果為 1+8−3=6。偏置重複兩次得到 8−3+2=7。應在通道歸約之外初始化偏置。