On veut ici donner un exemple d’apprentissage sur un nuage de Lorentz. Tout d’abord, générons 1 million de points dans l’espace via la suite :
Avec les constantes x0=12, u0=13, z0=5, σ=10, r=30, b=3 et dt=0.001.
Ce sera notre nuage de Lorentz. Ensuite, sélectionnons au hasard 300 000 points, et … oublions les formules ci-dessus ! Peut-on entrainer un système neuronal à retrouver z à partir de x et y ? La réponse est évidemment… oui !
On va effectuer l’apprentissage d’un réseau de neurones profond en cascade sur ces 300 000 points (training set) et évaluer la performance du réseau sur les points restants (validation set).
Avec NEHOOV, cela s’effectue simplement : on donne les training & validation sets, puis on lance le méta-algorithme avec un clic ! Des modèles se construisent alors au fur et à mesure, jusqu’à l’obtention d’un modèle considéré comme « optimal ».
Ci-dessous une brève illustration (on ne donne pas le nombre des couches cachées).
Nuage initial (training + validation) | |
Un modèle pris au hasard : réseau neuronal d’architecture (X,Y) → 5 → 40 → Z, fonctions d’activations de type sigmoïde ou linéaire |
|
Un autre modèle pris au hasard : réseau d’architecture (X,Y) → 8 → 170 → Z, fonctions d’activations de type sigmoïde, linéaire, sinusoïdale ou exponentielle |
On voit qu’un système neuronal d’environ 200 neurones avec plusieurs fonctions d’activation embarquées produit un apprentissage satisfaisant !