Heim > Backend-Entwicklung > Python-Tutorial > Wann glättet die dichte Keras-Schicht die Eingabe?

Wann glättet die dichte Keras-Schicht die Eingabe?

DDD
Freigeben: 2024-10-21 07:54:02
Original
849 Leute haben es durchsucht

When Does the Keras Dense Layer Flatten Input?

Keras Dense Layer Output Shape Conundrum

In Keras ist seit langem dokumentiert, dass die Dense Layer ihre Eingabe abflacht, bevor das Skalarprodukt mit angewendet wird der Kernel. Aktuelles Verhalten lässt jedoch etwas anderes vermuten.

Problem:

Wie im Testcode unten dargestellt, behält die Ausgabe der dichten Ebene die letzte Achse des Eingabetensors bei:

input1 = layers.Input((2,3))
output = layers.Dense(4)(input1)
print(output)
Nach dem Login kopieren

Ausgabe:

<tf.Tensor 'dense_2/add:0' shape=(?, 2, 4) dtype=float32>
Nach dem Login kopieren

Antwort:

Im Gegensatz zur Dokumentation flacht die Ebene „Dense“ die Eingabe nicht ab. Stattdessen wendet es seine Operation unabhängig entlang der letzten Achse an. Bei einer gegebenen Eingabe der Form (n_dim1, n_dim2, ..., n_dimk) wird die Ausgabeform also zu (n_dim1, n_dim2, ..., m), wobei m die Anzahl der Einheiten in der dichten Ebene ist.

Auswirkungen:

Dieses Verhalten macht TimeDistributed(Dense(...)) und Dense(...) funktional gleichwertig. Da die Gewichte außerdem auf der letzten Achse geteilt werden, verfügt die dichte Ebene mit der Eingabeform (n_dim1, n_dim2, ..., n_dimk) nur über m * n_dimk m (Bias-Parameter pro Einheit) trainierbare Parameter.

Visuelle Darstellung:

[Bild eines neuronalen Netzwerks mit einer dichten Schicht, die auf eine Eingabe mit mehreren Dimensionen angewendet wird]

Diese Abbildung zeigt, wie die Operation der dichten Schicht unabhängig angewendet wird entlang der letzten Achse des Eingabetensors.

Das obige ist der detaillierte Inhalt vonWann glättet die dichte Keras-Schicht die Eingabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage