· les grands éditeurs de logiciels de statistiques, comme sas institute ou spss, incluent des...

12

Upload: truongtuyen

Post on 13-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Outils pour les réseaux de neurones

Depuis le développement théorique des réseaux de neurones à la fin des années 1980-1990, plusieurs outils ontété mis à la disposition des utilisateurs. Les fonctionnalités et les statuts de ces outils sont très variables.

On consultera avec intérêt le site http://www.aiaccess.net/f_ww.htm, pour un large panorama des produits disponi-bles.

Dans la catégorie des outils libres, fournis avec une licence de type GNU, ou analogue, on trouve principale-ment le travail de chercheurs de l’Université de Stuttgart, SNNS, disponible sous forme de code compilable surle site http://www-ra.informatik.uni-tuebingen.de/SNNS/.

La plupart des autres outils disponibles relèvent du monde commercial.

Les grands éditeurs de logiciels de statistiques, comme SAS Institute ou SPSS, incluent des modules de réseauxde neurones dans leur offre.

Parmi les outils généraux, citons Matlab, édité par The Math Works, qui comporte la boîte à outils NeuralToolbox.

Les éditeurs de logiciels de calcul scientifique ou de Data Mining à usage général proposent dans une majoritéde cas, une boîte à outils Réseaux de neurones. Dans ce cas, l’intérêt du logiciel réside dans l’accumulation desnombreuses possibilités. Mais chacune de ces possibilités prises séparément n’est pas optimisée.

Les logiciels dédiés, tel Neuro One proposé ici en version d’évaluation, sont spécialisés, et offrent des fonction-nalités beaucoup plus proches des derniers résultats théoriques. Consulter à ce propos le site http://www.netral.com/.

Le contenu du CD-Rom est le suivant :• une version d’évaluation de Neuro One, valide six semaines ;• cinq exemples de modèles, avec données et codes source ;• un compilateur C pour Windows.

Parmi les logiciels dédiés, Neuro One, édité par Netral, est l’un des plus anciens, et celui qui a le plus évoluépour rester au fait des derniers développements. C’est aussi, à notre connaissance, le seul qui offre un calcul desintervalles de confiance et des leviers sur les modèles développés.

Neuro One fournit un produit annexe, Neuro Code, qui permet de convertir un modèle neuronal en codesource C. Avec ce code, il devient possible d’utiliser le modèle neuronal sous tout système d’exploitation quiadmet un compilateur C. Ce code permet également l’apprentissage dans le nouvel environnement.

Les exemples de codes source présentés dans le CD-Rom ont été réalisés avec Neuro Code.

Installer Neuro OneLa configuration minimum requise pour l’installation de Neuro One est la suivante :• processeur Pentium 2, ou équivalent ou supérieur ;• fréquence supérieure à 100 MHz ;• Windows 98, Windows NETRAL 4, ou plus récent ;• espace disque disponible : 25 Mo ;• mémoire vive disponible : 20 Mo.

Les réseaux de neurones400

Neuro One 5.3.3 est un outil fonctionnant sous Windows (Windows 98, Windows NT, Windows 2000,Windows XP).

Dans le répertoire neuroone, lancer setup.exe.

Vous pouvez également cliquer sur Installer Neuro One à la page d’accueil du CD-Rom. Cliquez ensuite surOuvrir.

Le dialogue d’introduction apparaît :

Cliquez sur Suivant pour voir apparaître le dialogue du contrat de licence de Neuro One :

Lisez attentivement ce contrat. Si vous n’êtes pas d’accord avec les termes de ce contrat, cliquez sur Non. Dansce cas, vous ne pouvez pas utiliser Neuro One. Si vous êtes d’accord avec les termes de ce contrat, cliquez surSuivant.

Annexe : outils pour les réseaux de neurones401

Lorsque le dialogue ci-dessous apparaît, entrez votre nom, votre organisation, et le chiffre 0 (zéro).

Cliquez sur Suivant, et le dialogue suivant apparaît :

Les réseaux de neurones402

Choisissez le répertoire de destination des binaires du programme, et cliquez sur Suivant. Puis, au dialoguesuivant, apparaît :

Choisissez à présent le répertoire où seront enregistrés tous les fichiers de travail de Neuro One.

Dans le dialogue suivant :

Annexe : outils pour les réseaux de neurones403

Sélectionnez Par défaut, et cliquez sur Suivant. Dans le dialogue suivant :

Sélectionnez un dossier de programme, et cliquez sur Suivant. Le dialogue suivant :

présente un résumé de vos demandes. Si vous êtes satisfait, cliquez sur Suivant. Sinon, revenez en arrière encliquant sur Précédent, corrigez l’erreur, et revenez en cliquant autant que nécessaire sur Suivant.

Les réseaux de neurones404

Le processus d’installation est alors engagé. Il se poursuit jusqu’au dialogue :

Cliquez alors sur Terminer.

En cas de problème lors de l’installation, ou dès le premier démarrage de Neuro One, reportez-vous au site webde NETRAL http://www.netral.com/index-fr.html, à la page support technique.

Prolonger la licence d’évaluation de Neuro OneL’installation de Neuro One en évaluation donne un droit de fonctionnement de 15 jours. À la fin de cettepériode, vous pouvez lancer l’utilitaire « ClearKay5.exe », dans le répertoire neuroone, pour un délai supplé-mentaire de 15 jours. Cette opération peut être faite deux fois, ce qui vous donne une autonomie de 45 jours.

Présentation des exemplesExemple 1Voici un exemple académique, avec une entrée et une sortie :

Une entrée X varie de –1 à +1.

Une sortie Y et une sortie Yb bruitées sont disponibles.

Le modèle cherche à retrouver Y en utilisant les donnéesX et Yb.

Les modèles présentés comportent 0, 1, 2, 3, 5 et 10neurones cachés.

Annexe : outils pour les réseaux de neurones405

Exemple 2Il s’agit de la construction d’un modèle du LogP de molécules chimiques en fonction de quelques descripteursde la molécule.

Cet exemple est tiré de la publication :Toward a Principled Methodology for Neural Network Design and Performance Evaluation in QSAR.Application to the Prediction of LogP.A. F. Duprat, T. Huynh et G. Dreyfus.J. Chem. Inf. Comput. Sci. 1998, 38, 586-594.

Elle est utilisée ici avec l’aimable autorisation de A. F. Duprat.

Les entrées sont des caractéristiques des molécules qui sont au nombre de 7. La sortie représente le LogP.

Les modèles présentés comportent 2, 4, 6 et 7 neurones cachés.

Exemple 3Cet exemple modélise la température de liquidus deverres binaires Lithium/Silicium.

L’entrée est la fraction molaire de LiO2. La sortie est latempérature de liquidus.

Les modèles présentés comportent 2, 4, 5 et 6 neuronescachés.

Exemple 4Cet exemple modélise la température de liquidus de verres ternaires Aluminium/Potassium/Silicium.

Les entrées sont les fractions molaires de Al2O3 et K2O. La sortie est la température de liquidus.

Les modèles présentés comportent 2, 4, 6, 8 et 10 neurones cachés.

Exemple 5Cet exemple modélise la température de liquidus de verres quaternaires Sodium/Calcium/Aluminium/Silicium.

Les entrées sont les fractions molaires de CaO, Na2O, Al2O3. La sortie est la température de liquidus.

Les modèles présentés comportent 2, 4, 6, 8 et 10 neurones cachés.

Installation des exemplesLes exemples fournis peuvent être copiés dans un répertoire quelconque de votre machine, en respectant lestermes de la licence rappelée ci-dessous à la section Licence. Pour effectuer l’installation, copier le répertoirencode, avec la totalité de son contenu et ses sous-répertoires sur votre machine.

AttentionLe répertoire ncode du CD-Rom doit être copié dans son entier, avec son arborescence, sous peine de dysfonctionnement des compi-lations. Certaines inclusions de fichiers, nécessaires lors de la compilation, ont des adresses relatives. L’arborescence doit donc êtreconservée.

Les réseaux de neurones406

Compiler le code sourcePour chaque projet, il existe deux fichiers nommés makefileuse et makefilemain. Ces fichiers sont des fichiersMakefile destinés à la compilation des deux applications disponibles, dont les fichiers principaux sont :xxxmainuse.c1 et xxxmaintrain.c1.

La compilation pourra être différente en fonction du compilateur C que vous utilisez. Si le compilateur gcc estdisponible sur votre machine, le nom de la commande make est : mingw32-make.

Placez-vous dans le répertoire où sont situées les sources.

Pour compiler l’application d’utilisation, lancez la commande :

L’exécutable créé porte le nom de xxxuse.exe1.

Pour compiler l’application d’apprentissage, lancez la commande :

L’exécutable créé porte le nom de xxxtrain.exe1.

Exécuter le code sourceLes exécutables compilés peuvent être produits. Chacun nécessite un fichier de description nommé ndesc.txt.Lisez attentivement le fichier d’aide concernant les fichiers : lisezmoidesc.txt, dans le répertoire doc.

Ces fichiers permettent d’indiquer au programme comment lire les données, insérer les résultats, ou ce qu’ilfaut calculer.

Pour chaque exemple, un fichier de description a été proposé dans le répertoire des sources.

Un exemple de lancement d’un programme d’apprentissage est donné ci-dessous :

1. Les mentions « xxx » sont remplacées par le nom du modèle Neuro One qui est à l’origine du code.

mingw32-make –f makefileuse

mingw32-make –f makefiletrain

Annexe : outils pour les réseaux de neurones407

L’option –v permet un affichage détaillé.

L’analyse du fichier de description donne deux champs de données : X et Yb. Le nombre total de lignes s’élèveà 199 dans le fichier « ..\data\static.csv ». Il y a deux apprentissages, chacun contenant 10 époques.

Pour chaque époque, les deux valeurs affichées sont respectivement l’écart-type d’apprentissage, et l’écart-typede généralisation obtenu par la méthode du Leave-One Out virtuel. Le dernier chiffre entier est le nombre desecondes écoulé depuis le début de l’apprentissage.

Vous pouvez consulter les fichiers créés dans le répertoire de résultat pour obtenir tous les détails del’apprentissage :• Les fichiers « xxxhistoryy.txt »1,1 retracent l’histoire de l’apprentissage.• Les fichiers « xxxresy.txt »1,2 donnent les coûts d’apprentissage et de généralisation, les poids et la

matrice de dispersion.• Le fichier « xxxweights.txt »1,2 donne les poids et la matrice de dispersion de l’apprentissage qui

présente le coût d’apprentissage le plus faible.

Le lancement du programme d’utilisation donne une fenêtre qui ressemble à celle-ci :

Les fichiers de description et de données sont analysés. Les champs X et Yb sont trouvés. Le modèle estappliqué à toutes les données lisibles et complètes du fichier de données, et l’écart-type obtenu est affiché.

Vous pouvez consulter les fichiers créés dans le répertoire de résultat :• Les fichiers « xxxusehisty.txt »1,2 retracent l’historique de l’utilisation.• Les fichiers « xxxusey.csv »1,2 donnent, pour chaque ligne du fichier de données, le résultat de l’appli-

cation du modèle neuronal aux données présentées.

Exécuter le code source Visual BasicPour les exemples proposés, un code Visual Basic est également fourni.

Pour compiler et exécuter ce code, il faut effectuer les opérations suivantes :• ouvrir Excel, et l’éditeur Visual Basic d’Excel ;• ouvrir un nouveau module ;• copier le contenu du fichier « xxx.bas »1 dans le code du nouveau module ;• compiler la macro ;• retourner à Excel.

La macro xxx1 est alors disponible, sous forme de fonction Excel.

1. Les mentions y sont remplacées par une valeur entière représentant le numéro de l’apprentissage ou de l’utilisation.

Les réseaux de neurones408

Visualiser les modèlesPour chacun des exemples, le modèle est fourni sous forme de fichier xxx.nml1. Ces fichiers utilisent le langageXML, avec le fichier de schéma sur le site http://www.netral.com/public/xml/xsd/model.xsd.

Ces fichiers sont prévus pour être visualisés par un navigateur internet sous forme de dessin SVG, en utilisantle fichier de transformation XSLT neuronnethtm.xsl, téléchargé depuis le site de NETRAL.

Si votre navigateur est capable de lire les fichiers d’images SVG, ouvrez le fichier de modèle NML, et vousobtiendrez le dessin du réseau de neurones du modèle. Sur ce dessin, les traits noirs représentent les synapsesnormales, susceptibles d’apprentissage. Les traits rouges représentent des synapses fixes, invariables pendantl’apprentissage. Ces synapses assurent la normalisation et le centrage des données, de façon à ce que le réseaude neurones puisse voir des données bien calibrées.

Les compilateurs CLa compilation des exemples fournis nécessite la présence d’un compilateur C. Les utilisateurs de Windowstrouveront ici deux exemples de compilateurs gratuits :• GCC, disponible sous licence GNU, dans le répertoire gcc ;• Turbo C, mis à disposition par Borland, sur le site http://community.borland.com/museum.

Pour l’installation d’un compilateur C, il est recommandé de disposer des droits d’administrateur.

Pour installer GCC, cliquez sur MinGW-2.0.0-3-gnuwin.exe dans le répertoire gcc.

Vous pouvez également cliquer sur Installer GCC dans la page d’accueil, puis sur Ouvrir.

À la fin de l’installation du compilateur, assurez-vous que celui-ci peut être appelé depuis tous les répertoiresde votre machine. Pour cela, il peut être nécessaire de modifier la variable d’environnement PATH de votremachine en y incluant le chemin du binaire du compilateur.

LicenceLa licence de Neuro One est lisible pendant l’installation du logiciel, et doit être acceptée avant l’installationcomplète de celui-ci. Les codes source fournis en langage C relèvent de la licence suivante :

Les présents codes source générés par le progiciel NEURO CODE sont fournis à titre gracieux par lasociété NETRAL. Ces codes sont protégés tant par les dispositions nationales qu’internationales enmatière de droits de la propriété intellectuelle, dont les droits sont détenus, à titre exclusif, par la sociétéNETRAL.

L’utilisation et la modification de ces codes source sont soumises à un contrat de licence d’utilisation.

Ces codes sont utilisés sous la responsabilité pleine et entière de l’utilisateur. La société NETRAL nesaurait en aucun cas être tenue pour responsable des résultats de cette utilisation, tant sur les machinesqui les utilisent que sur les données incluses dans ces machines.

La modification ou la copie même partielle de ce code, est strictement interdite, à l’exception des partiesde commentaire et des fichiers de description. L’utilisateur possesseur du CD-Rom est autorisé à faireune unique copie de ce code à des fins de compilation. Toute autre copie de ce code est strictement inter-dite.

Annexe : outils pour les réseaux de neurones409

L’utilisation de ce code à des fins commerciales est strictement interdite. On entend, par fin commer-ciale, toute cession à titre onéreux du code lui-même, ou toute cession, à titre onéreux ou à titre gratuit,des résultats obtenus par l’utilisation de ce code une fois compilé.

TOUTE EXTENSION DU DROIT D’UTILISATION NON PREVUE DANS CE CONTRAT DELICENCE EST INTERDITE ET SERA CONSTITUTIVE D’UN ACTE DE CONTREFAÇON.

La contrefaçon est un délit pénal, puni de 2 ans d’emprisonnement et de 150 000 € d’amende.

Le fait de copier le code en vue de sa compilation ou de le compiler sans le copier signifie que vous avezdonné votre accord sur les termes de cette licence.

Pour les fichiers principaux des programmes fournis, dont le nom se termine par « maintrain » et« mainuse », avec les extensions « .h » et « .c », et pour ceux-là seulement, la modification des codes estautorisée.