J'aimerais proposer un autre type de défi de golf à cette communauté:
Les réseaux de neurones (artificiels) sont des modèles d’apprentissage automatique très populaires qui peuvent être conçus et formés pour se rapprocher d’une fonction donnée (généralement inconnue). Ils sont souvent utilisés pour résoudre des problèmes très complexes que nous ne savons pas résoudre par des algorithmes tels que la reconnaissance vocale, certains types de classifications d’images, diverses tâches de systèmes de conduite autonome, ... Pour une introduction aux réseaux de neurones, considérez cet excellent Article de Wikipedia .
Comme il s’agit du premier de ce que j’espère être une série de défis d’apprentissage automatique du golf, j’aimerais garder les choses aussi simples que possible:
Dans le langage et la structure de votre choix, concevez et formez un réseau de neurones qui, étant donné calcule son produit pour tous les entiers compris entre -10 et 10 .
Objectif de performance
Pour être éligible, votre modèle ne doit pas s'écarter de plus de du résultat correct sur l'une de ces entrées.
Règles
Votre modèle
- doit être un réseau neuronal «traditionnel» (la valeur d'un nœud est calculée comme une combinaison linéaire pondérée de certains des nœuds d'une couche précédente suivie d'une fonction d'activation),
- pouvez uniquement utiliser les fonctions d'activation standard suivantes:
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- doit prendre soit en tant que tupel / vecteur / liste / ... d'entiers ou floats en tant que seule entrée,
- renvoie la réponse sous forme d’entier, float (ou un conteneur approprié, par exemple un vecteur ou une liste, contenant cette réponse).
Votre réponse doit inclure (ou créer un lien vers) tout le code nécessaire pour vérifier vos résultats, y compris les poids formés de votre modèle.
Notation
Le réseau de neurones avec le plus petit nombre de poids (y compris les poids de biais) l'emporte.
Prendre plaisir!
f(x) = x
transférer son entrée?