Ok.Ixy a écrit :Normalement ça ne pose pas de problème il n'y a pas d'effet d'explosion, à condition que les entrées soient normalisées. Pour la dérivabilité en effet on utilise une approximation (softplus à voir dans l'intro de wikipédia).Bubu a écrit :Merci ixy, je ne connaissais pas cette fonction de transfert.
Cependant il y a 2 choses qui m'embêtent avec cette fonction et sur son utilisation dans les couches cachées :
Elle n'est pas dérivable en 0, comment établir la règle d'apprentissage ?
Elle n'est pas bornée donc les signaux sont amplifiés couche après couche.
L'avantage de la sigmoïde et de tanh c'est qu'elles valent toujours moins de 1 en valeur absolue.
Par contre pour son utilisation pour la couche de sortie, je comprends.
Pour la dernière couche en fait en classification on utilise une sigmoïde, ou plus exactement la fonction softmax https://en.wikipedia.org/wiki/Softmax_function
J'explique mon doute : la sortie d'un tel neurone peut être astronomique avec beaucoup d'entrées, ce qui engendre un comportement oscillant du neurone au lieu qu'il converge vers un état stable. Même si les entrées du réseau sont normalisées, les entrées de la seconde couche ne le sont pas.
Et plus on descend, plus les sorties prennent des valeurs gigantesques.
Mais ce n'est qu'un doute.
Je me renseignerai.
Édit : je suis quand même étonné que des gens tergiversent encore sur la fonction d'activation à utiliser dans les couches cachées.
Tant qu'elle est continue, dérivable, bornée et non linéaire, c'est bon.
Quand à la couche de sortie, on choisit la fonction d'activation qui nous arrange selon l'usage que l'on fait des sorties.
Il n'y a pas de règle générale, c'est selon l'usage.