dlTrain
Description
Entraîne un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). d'apprentissage profondL'apprentissage profond (Deep Learning) est une branche de l'IA utilisant des réseaux de neurones multicouches pour modéliser des données complexes et automatiser l'extraction de caractéristiques. (Deep LearningSous-ensemble du Machine Learning basé sur des réseaux de neurones artificiels profonds. Il excelle dans l'extraction automatique de motifs complexes depuis des données brutes (images, texte, son).). Cette action permet d'ajuster les poids d'un réseau de neuronesUn réseau de neurones est un modèle d'IA bio-inspiré composé de couches de nœuds interconnectés, capable d'apprendre des relations complexes dans les données pour prédire ou classifier avec précision. artificiels (DNNRéseau de neurones profond (Deep Neural Network) comprenant plusieurs couches cachées entre l'entrée et la sortie. Il modélise des relations non linéaires complexes à partir de grands volumes de données., CNNRéseau de neurones profond spécialisé dans le traitement de données structurées en grille (images). Il utilise des couches de convolution pour extraire automatiquement des caractéristiques spatiales. ou RNNRéseau de neurones récurrent conçu pour les données séquentielles. Il utilise des boucles de rétroaction pour mémoriser l'information passée, idéal pour l'analyse de texte ou de séries temporelles.) à partir d'une table de données en entrée. Un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). bien entraîné vaut mieux que deux tu l'auras ! (Source: )
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| modelTable | Spécifie la table en mémoire contenant l'architecture du modèle à entraîner. |
| table | Spécifie les paramètres de la table d'entrée contenant les données d'entraînement. |
| modelWeights | Spécifie la table de sortie où seront sauvegardés les poids du modèle entraîné. |
| target | Spécifie la variable cible (réponse) pour l'entraînement du modèle. |
| inputs | Spécifie les variables d'entrée à utiliser dans l'analyse. |
| optimizer | Spécifie les réglages de l'algorithme d'optimisation (ex: ADAM, SGD), le taux d'apprentissage, la taille des mini-batchs, et le nombre maximal d'époques (maxEpochs). Un peu de magie mathématique ! |
| validTable | Spécifie le nom de la table contenant les données de validation pour évaluer le modèle pendant l'entraînement sans biaiser les poids. |
| bestWeights | Permet de sauvegarder dans une table CAS les poids ayant obtenu la plus petite erreur de perte. |
Préparation des données
Préparation des données et de l'architecture du modèle
Avant d'entraîner le modèle avec dlTrain, nous devons charger des données et construire une architecture de base (ici un DNN simple sur les données Iris).
| 1 | PROC CAS; TABLE.loadTable / caslib='samples' path='iris.sashdat' casout={name='iris', replace=true}; LOADACTIONSET 'deepLearn'; DEEPLEARN.buildModel / model={name='iris_model', replace=true} type='DNN'; DEEPLEARN.addLayer / model='iris_model' name='data' layer={type='input'}; DEEPLEARN.addLayer / model='iris_model' name='fc1' layer={type='FC', n=10, act='RELU'} srcLayers={'data'}; DEEPLEARN.addLayer / model='iris_model' name='outlayer' layer={type='OUTPUT', act='SOFTMAX'} srcLayers={'fc1'}; RUN; |
Exemples d'utilisation
Entraînement basique d'un modèle DNN
Ce code entraîne le modèle 'iris_model' avec les paramètres par défaut de l'optimiseur.
| 1 | PROC CAS; DEEPLEARN.dlTrain / TABLE='iris' modelTable='iris_model' modelWeights={name='iris_weights', replace=true} inputs={'SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'} target='Species' nominals={'Species'} optimizer={minibatchsize=10, algorithm={method='VANILLA', learningRate=0.01}, maxEpochs=10}; RUN; |
Résultat Attendu :
Entraînement avancé avec algorithme ADAM et sauvegarde des meilleurs poids
Entraînement utilisant l'optimiseur ADAM, avec des logs détaillés et la sauvegarde des poids optimaux, en s'arrêtant plus tôt si stagnation.
| 1 | PROC CAS; DEEPLEARN.dlTrain / TABLE='iris' modelTable='iris_model' modelWeights={name='iris_weights_adam', replace=true} bestWeights={name='iris_best_weights', replace=true} inputs={'SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'} target='Species' nominals={'Species'} optimizer={minibatchsize=32, algorithm={method='ADAM', learningRate=0.005, beta1=0.9, beta2=0.999}, maxEpochs=50, stagnation=5, logLevel=2} seed=12345; RUN; |