BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Une introduction aux réseaux de neurones avec C#

Une introduction aux réseaux de neurones avec C#

Favoris

Dr James McCaffrey, de Microsoft Research, a fait une intéressante introduction aux réseaux de neurones lors de la récente conférence Build 2013. Bien que le titre de la présentation, "Développer des réseaux de neurones sous Visual Studio", puisse porter à croire que celle-ci était spécifique à Visual Studio, elle est en réalité utile à tout développeur cherchant à en savoir plus sur les réseaux de neurones (NN pour Neural Network) en général. McCaffrey, bien que titulaire d'un doctorat en mathématiques, s'est attaché à cibler les développeurs avec un bagage purement informatique. Son approche est une introduction réellement utile au concept de réseau de neurones car elle fait en sorte de laisser aux auditeurs une base solide pour approfondir le sujet. Cette approche s'appuie sur un problème type dont la finalité est la prédiction de l'affiliation politique d'un individu à partir de son âge, de ses revenus, de son sexe et de sa religion ; exemple utile car à la fois facile à suivre et cas pratique pour l'utilisation d'un NN. McCaffrey a ainsi couvert ce qu'il appelle les sept concepts "cœur" pour l'utilisation d'un réseau de neurones :

 

  • Feed-Forward (l'information va dans une seule direction, pas de boucle)
  • La fonction d'activation
  • L'encodage des données
  • La gestion des erreurs
  • Le processus d'entraînement
  • Les paramètres libres
  • Le surapprentissage

McCaffrey a fait remarquer que les nouveaux arrivants dans le domaine pouvaient être gênés par la difficulté à trouver des sources d'information fiables et en a donc listé quelques-unes. Bien que son enthousiasme pour le sujet soit palpable, il l'a modéré en décrivant les forces et les faiblesses d'une approche basée sur les NN. Pour aller plus loin, McCaffrey a mentionné 6 alternatives aux réseaux de neurones en précisant quand celles-ci pouvaient être plus adaptées, en fonction du problème à résoudre.

Une implémentation fonctionnelle en C# du problème pris en exemple a été mis à disposition pour permettre aux auditeurs de continuer à expérimenter. L'exemple s'appuie sur le jeu de données "Iris flower", couramment utilisé dans les programmes d'apprentissage machine (à noter, un point-virgule doit être ajouté ligne 756 pour que le programme compile).

McCaffrey a donné une présentation similaire au Microsoft Management Submit en avril mais, pour moi, toutes les informations étant incluses dans celles de la Build, cette dernière reste l'édition de référence.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT