Maison  >  Article  >  développement back-end  >  Pourquoi la couche dense Keras préserve-t-elle la dimensionnalité ?

Pourquoi la couche dense Keras préserve-t-elle la dimensionnalité ?

DDD
DDDoriginal
2024-10-21 07:52:02451parcourir

Why Does the Keras Dense Layer Preserve Dimensionality?

Énigme de la forme d'entrée de la couche dense Keras

Cette question explore une contradiction apparente entre la documentation Keras et le comportement de sa couche dense. La documentation indique que la couche Dense aplatit son entrée avant d'appliquer le produit scalaire avec son noyau. Cependant, comme le démontre l'extrait de code fourni, la forme de sortie de la couche Dense ne semble pas aplatie.

Comprendre le comportement

La clé pour résoudre cet écart réside dans la compréhension de la façon dont la couche Dense est appliquée dans Keras. Contrairement à la documentation, la couche Dense opère en réalité sur le dernier axe du tenseur d'entrée. Par conséquent, dans l'exemple d'extrait de code, la couche Dense est appliquée à chaque colonne du tenseur d'entrée (2,3), ce qui donne une forme de sortie de (2, 4).

Implications et aspects secondaires Notes

Ce comportement a des implications significatives :

  • TimeDistributed(Dense(...)) et Dense(...) Equivalence : TimeDistributed (Dense(...)) et Dense(...) sont désormais équivalents, car tous deux appliquent le calque Dense au dernier axe du tenseur d'entrée.
  • Effet de pondérations partagées : Chaque unité de la couche Dense est connectée à chaque élément de la dernière dimension de l'entrée avec les mêmes poids, ce qui entraîne un nombre de paramètres inférieur à celui de l'aplatissement.

Illustration visuelle

L'illustration visuelle suivante clarifie le comportement du calque Dense :

[Image d'un tenseur de forme (2,3) et d'un calque Dense avec 4 unités appliquées au dernier axe]

Chaque unité de la couche Dense est connectée à chaque élément d'une colonne du tenseur d'entrée avec le même ensemble de poids. Le résultat est un tenseur de sortie de forme (2, 4).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn