Couches d’entrée (Input Layer)
La couche d’entrée est la première couche d’un réseau de neurones et reçoit directement les données brutes du problème. L’objectif est de fournir au réseau un format structuré et exploitable pour les calculs des couches suivantes.
Chaque neurone de la couche d’entrée correspond à une caractéristique (feature) des données. La taille de cette couche dépend donc du nombre de variables d’entrée du jeu de données. Cette couche ne réalise généralement pas de transformation complexe, mais prépare les données pour les couches cachées.
Les couches d’entrée sont utilisées dans tous les types de réseaux de neurones, qu’il s’agisse de réseaux entièrement connectés, de réseaux convolutifs (CNN) ou de réseaux récurrents (RNN). Elles constituent le point de départ pour la propagation des informations à travers le réseau.
En résumé, la couche d’entrée permet au réseau de neurones de recevoir et structurer les données pour effectuer des calculs et apprendre des patterns dans les couches suivantes.
Fonctions :
-
Input()
La couche d'entrée (Input Layer) est la première couche dans un réseau de neurones. Elle reçoit les données d'entrée, qui peuvent être sous forme de vecteurs ou de matrices, et les passe ensuite à travers les couches suivantes du réseau pour le traitement. Cette couche ne contient pas de neurones qui effectuent des calculs ou des activations, mais elle définit plutôt la forme des données qui seront traitées par le réseau. Dans le contexte des réseaux de neurones, chaque donnée d'entrée représente une caractéristique ou un attribut du problème à résoudre (par exemple, les pixels d'une image, les caractéristiques d'un utilisateur, les valeurs d'une série temporelle, etc.).
Importation :
from keras.layers import InputAttributs :
Paramètre
Description
shapeDéfinit la forme de la donnée d'entrée, en excluant le lot (batch). Par exemple, pour une image 28x28 en niveaux de gris, la forme serait (28, 28, 1) ou (784,) si elle est aplatie. dtypeLe type de données de l'entrée, par exemple 'float32', 'int32', etc. Ce paramètre est utilisé pour spécifier le type de données des entrées pour le réseau de neurones. batch_shapePermet de spécifier la forme complète de l'entrée, y compris la taille du lot (batch). Ce paramètre est utile lorsque vous travaillez avec des lots d'entrées. nameNom de la couche d'entrée, ce paramètre est principalement utilisé pour la clarté du modèle ou pour l'exportation du modèle. Exemple de code :
from keras.layers import Input # Création d'une couche d'entrée avec une forme de 784 input_layer = Input(shape=(784,)) # Création d'un modèle simple en ajoutant une couche dense from keras.models import Model from keras.layers import Dense x = Dense(64, activation='relu')(input_layer) model = Model(inputs=input_layer, outputs=x) # Affichage de la structure du modèle model.summary()
Explication du code :
1. Définition de la couche d’entrée
- Utilisation de `keras.layers.Input` pour créer une couche d’entrée avec une forme `(784,)`, typiquement utilisée pour des vecteurs aplatis d’images 28x28 (ex : MNIST).2. Construction du modèle avec API fonctionnelle Keras
- Ajout d’une couche dense (`Dense`) de 64 neurones avec activation `relu`, connectée à la couche d’entrée. - Création du modèle via `Model(inputs=input_layer, outputs=x)`, où `x` est la sortie de la couche dense.3. Résumé du modèle
- Utilisation de `model.summary()` pour afficher la structure du modèle, les formes de chaque couche, et le nombre total de paramètres.