Keras 密集層輸出形狀難題
在 Keras 中,密集層早已被記錄在應用點積之前壓平其輸入內核。然而,最近的行為表明情況並非如此。
問題:
如下面的測試程式碼所示,密集層的輸出維護輸入張量的最後一個軸:
輸出:
答案:
與文件相反,Dense 層不會展平輸入。相反,它沿著最後一個軸獨立地應用其操作。因此,給定形狀為 (n_dim1, n_dim2, ..., n_dimk) 的輸入,輸出形狀變為 (n_dim1, n_dim2, ..., m),其中 m 是密集層中的單元數。
意思:
此行為使得 TimeDistributed(Dense(...)) 和 Dense(...) 在功能上等效。此外,由於權重在最後一個軸上共享,因此具有輸入形狀 (n_dim1, n_dim2, ..., n_dimk) 的密集層只有 m * n_dimk m (每單位的偏差參數)可訓練參數。
視覺插圖:
[將密集層應用於多維輸入的神經網路影像]
此插圖描述如何獨立應用密集層的操作沿著輸入張量的最後一個軸。
以上是Keras 密集層何時壓平輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!