首頁 >後端開發 >Python教學 >Keras 密集層何時壓平輸入?

Keras 密集層何時壓平輸入?

DDD
DDD原創
2024-10-21 07:54:02842瀏覽

When Does the Keras Dense Layer Flatten Input?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn