Je suis un peu confus quant au nombre de couches utilisées dans les modèles Keras. La documentation est plutôt opaque en la matière.
Selon Jason Brownlee, la première couche se compose techniquement de deux couches, la couche d'entrée, spécifiée par input_dim
Et une couche cachée. Voir les premières questions sur son blog .
Dans toute la documentation Keras, la première couche est généralement spécifiée comme model.add(Dense(number_of_neurons, input_dim=number_of_cols_in_input, activtion=some_activation_function))
.
Le modèle le plus élémentaire que nous pourrions faire serait donc:
model = Sequential()
model.add(Dense(1, input_dim = 100, activation = None))
Ce modèle consiste-t-il en une seule couche, où une entrée à 100 dimensions passe par un neurone à entrée unique, ou est-il composé de deux couches, d'abord une couche d'entrée à 100 dimensions et ensuite une couche cachée à 1 dimension?
De plus, si je devais spécifier un modèle comme celui-ci, combien de couches a-t-il?
model = Sequential()
model.add(Dense(32, input_dim = 100, activation = 'sigmoid'))
model.add(Dense(1)))
S'agit-il d'un modèle avec 1 couche d'entrée, 1 couche cachée et 1 couche de sortie ou est-ce un modèle avec 1 couche d'entrée et 1 couche de sortie?
Pour votre première question, le modèle est:
1 couche d'entrée et 1 couche de sortie.
Pour la deuxième question:
1 couche d'entrée
1 couche cachée
1 couche d'activation (la sigmoïde)
1 couche de sortie
Pour la couche d'entrée, ceci est résumé par Keras avec l'argument input_dim ou input_shape, mais vous pouvez trouver cette couche dans:
from keras.layers import Input
Idem pour la couche d'activation.
from keras.layers import Activation
Votre premier consiste en une couche d'entrée de 100 neurones connectée à un seul neurone de sortie
Votre deuxième est composé d'une couche d'entrée de 100 neurones, d'une couche cachée de 32 neurones et d'une couche de sortie d'un seul neurone.
Vous devez considérer votre première couche comme votre couche d'entrée (avec le même nombre de neurones que le dimenson, donc 100 pour vous) connectée à une autre couche avec autant de neurones que vous spécifiez (1 dans votre premier cas, 32 dans le second une)
En Keras ce qui est utile c'est la commande
model.summary()