Super video . Merci. Le dropout est bien expliqué en minute 11. D'ailleurs mes garcons lors de leur apprentissage font des dropouts régulièrement, mais comme ils n'ont pas les neurones convolutifs, ca ne favorise pas leur apprentissage.
Ah génial.. 😁. c'est non seulement très clair, mais en plus j'ai compris ce qui clochait avec tous mes modèles CNNs. C'est dans la dernière couche "fully connected". Je travaille avec des spectrograms, des ondelettes (scalograms), ampllitude et phase... plusieurs couches. Et puis je me demandais comment on pouvait visualiser les erreurs ... c'est vraiment très clair. Merci beaucoup. Je vais regarder vos autres vidéos. Xoxo du Canada.
Bonjour et merci pour la vidéo ! Concernant la deuxième convolution (à la minute 11:26), on passe un kernel 2D de (3,3) sur des données de (13,13,8). Comme on le passe 16 fois, comment peut-on obtenir une nouvelle taille de (11,11,16) ? Je comprends pourquoi on a les 11,11 (no padding), mais si on passe 16 fois sur les 8, on ne devrait pas avoir une profondeur de 16*8 ? Ou alors on passe juste le kernel de (3,3) 2 fois sur les 8 pour obtenir 16 ? Ou implicitement, le kernel de (3,3) sera en 3D de profondeur 8 ? Merci pour la réponse :)
Chaque neurone convolutif peut prendre en entrée un nombre n de couches pour générer une couche convolutive en sortie. Si on veut m couches convolutive en sortie, il faudra utiliser m neurones convolutifs. La géométrie des couches en sortie dépend de la taille des couches en entrée, du padding, kernel et du pas. Le paramètre padding='same' permet de régler le padding de manière à conserver la taille des plans en entrée (si le pas est à (1,1)) Vous pouvez retrouver les paramètre d'une couche convolutive dans le support de cours pdf :-) A bientôt !
Cher Professeur merci beaucoup pour vos présentations permettant de comprendre au maximum les techniques de ML et deep learning et aussi pour votre temps précieux que vous accordez à nous répondre. J'ai 3 questions: 2 concernant epoch et batch (peut-être définies dans une de vos séquences), pouvez-vous les bien définir et leurs choix,. Pour epoch si j'ai bien compris c'est le nombre de fois de répétition de l'apprentissage (et aussi le test) avec l'ensembe de données qu'on a (seulement il y aura à chaque epoch une différence au niveau de la répartition des données). La 3ème: pour la convolution 2D donnant j couches (j images). pour moi une image au niveau de gris convoluée avec un filtre 3x3 donnera aussi une seule image un peu réduite et non j images. Pouvez vous me donner plus de précision pour une image au niveau de gris et le choix de j (profondeur). merci beaucoup
Une époque est effectivement une séquence d'apprentissage (+test) complète avec l'ensemble du dataset. La taille du batch (lot) est le nombre d'élément que l'on va traiter à chaque fois. Dans le cas d'une convolution, un kernel 3x3 (par exemple) permettra effectivement de générer un seul plan convolutif. ...mais il est possible de générer n plans convolutifs si on utilise n kernel ;-)
bonjour je voulais savoir pourquoi quand je lance le code tout se passe normalement sauf quand je lance pour l'entrainement du model ca me met l'erreur suivante "Kernel Restarting The kernel for fidle-master/MNIST/02-CNN-MNIST.ipynb appears to have died. It will restart automatically."
Le message indique que le kernel jupyter s'est arrêté.. cela peut être du à un problème de ressource (pas assez de mémoire, gpu déjà utilisé par un autre kernel, ...) ou d'installation. Effectuer un diagnostic à partir de ce seul message est difficile..
Bonjour, je suis avec passion vos présentations. Dans cette vidéo je suis surpris par le fait qu'on ne fait jamais le choix des kernels (leur dessin) : comment sont choisis les kernels ? vous laissez tensorflow les choisir pour vous ?
Les paramètres de la géométrie des kernels définissent en partie la géométrie du modèle et sont autant d'hyperparamètres que l'on s'efforcera d'optimiser. L'initialisation de la valeurs initiale des kernels est, quant à elle, aléatoire. Merci pour votre intérêt :-)
Super video . Merci.
Le dropout est bien expliqué en minute 11. D'ailleurs mes garcons lors de leur apprentissage font des dropouts régulièrement, mais comme ils n'ont pas les neurones convolutifs, ca ne favorise pas leur apprentissage.
Génial !
Ah génial.. 😁. c'est non seulement très clair, mais en plus j'ai compris ce qui clochait avec tous mes modèles CNNs. C'est dans la dernière couche "fully connected".
Je travaille avec des spectrograms, des ondelettes (scalograms), ampllitude et phase... plusieurs couches.
Et puis je me demandais comment on pouvait visualiser les erreurs ... c'est vraiment très clair. Merci beaucoup. Je vais regarder vos autres vidéos.
Xoxo du Canada.
Merci pour votre retour !!!
Nous sommes très heureux d'avoir pu vous aider :-)
Bonjour et merci pour la vidéo !
Concernant la deuxième convolution (à la minute 11:26), on passe un kernel 2D de (3,3) sur des données de (13,13,8). Comme on le passe 16 fois, comment peut-on obtenir une nouvelle taille de (11,11,16) ? Je comprends pourquoi on a les 11,11 (no padding), mais si on passe 16 fois sur les 8, on ne devrait pas avoir une profondeur de 16*8 ?
Ou alors on passe juste le kernel de (3,3) 2 fois sur les 8 pour obtenir 16 ?
Ou implicitement, le kernel de (3,3) sera en 3D de profondeur 8 ?
Merci pour la réponse :)
Chaque neurone convolutif peut prendre en entrée un nombre n de couches pour générer une couche convolutive en sortie. Si on veut m couches convolutive en sortie, il faudra utiliser m neurones convolutifs.
La géométrie des couches en sortie dépend de la taille des couches en entrée, du padding, kernel et du pas. Le paramètre padding='same' permet de régler le padding de manière à conserver la taille des plans en entrée (si le pas est à (1,1))
Vous pouvez retrouver les paramètre d'une couche convolutive dans le support de cours pdf :-)
A bientôt !
Cher Professeur merci beaucoup pour vos présentations permettant de comprendre au maximum les techniques de ML et deep learning et aussi pour votre temps précieux que vous accordez à nous répondre. J'ai 3 questions: 2 concernant epoch et batch (peut-être définies dans une de vos séquences), pouvez-vous les bien définir et leurs choix,. Pour epoch si j'ai bien compris c'est le nombre de fois de répétition de l'apprentissage (et aussi le test) avec l'ensembe de données qu'on a (seulement il y aura à chaque epoch une différence au niveau de la répartition des données). La 3ème: pour la convolution 2D donnant j couches (j images). pour moi une image au niveau de gris convoluée avec un filtre 3x3 donnera aussi une seule image un peu réduite et non j images. Pouvez vous me donner plus de précision pour une image au niveau de gris et le choix de j (profondeur).
merci beaucoup
Une époque est effectivement une séquence d'apprentissage (+test) complète avec l'ensemble du dataset.
La taille du batch (lot) est le nombre d'élément que l'on va traiter à chaque fois.
Dans le cas d'une convolution, un kernel 3x3 (par exemple) permettra effectivement de générer un seul plan convolutif.
...mais il est possible de générer n plans convolutifs si on utilise n kernel ;-)
Merci
Merci à vous :-)
bonjour je voulais savoir pourquoi quand je lance le code tout se passe normalement sauf quand je lance pour l'entrainement du model ca me met l'erreur suivante "Kernel Restarting
The kernel for fidle-master/MNIST/02-CNN-MNIST.ipynb appears to have died. It will restart automatically."
Le message indique que le kernel jupyter s'est arrêté.. cela peut être du à un problème de ressource (pas assez de mémoire, gpu déjà utilisé par un autre kernel, ...) ou d'installation.
Effectuer un diagnostic à partir de ce seul message est difficile..
Bonsoir JLP,
pour les couches de convolution 2D, pourquoi vous ne précisez pas les poids du kernel (3,3)?
Ces poids seront progressivement déterminés lors de l'apprentissage :-)
Bonjour, je suis avec passion vos présentations. Dans cette vidéo je suis surpris par le fait qu'on ne fait jamais le choix des kernels (leur dessin) : comment sont choisis les kernels ? vous laissez tensorflow les choisir pour vous ?
Les paramètres de la géométrie des kernels définissent en partie la géométrie du modèle et sont autant d'hyperparamètres que l'on s'efforcera d'optimiser. L'initialisation de la valeurs initiale des kernels est, quant à elle, aléatoire. Merci pour votre intérêt :-)
C'est quel Système d'exploitation utilisé à 3:05 ??
Linux, toujours Linux ;-)