Approche data-driven en métallurgie aluminium

Approche date driven des alliages d'aluminium XGBoost MLP Regressor Prédiction Machine Learning Intelligence artificielle.

Approche date driven des alliages d'aluminium XGBoost MLP Regressor Prédiction Machine Learning Intelligence artificielle.

La prédiction des performances mécaniques est déterminante au stade de la R&D, de la conception et du dimensionnement des pièces en aluminium. L’approche data-driven, permet à l’aide du Machine Learning, d’utiliser des jeux de données existants (issus de l’expérimental, du suivi de production ou du numérique) afin de développer des modèles permettant de s’affranchir des lois de comportements physiques. En effet, dans de nombreux cas, ces lois sont trop complexes (trop de paramètres) ou inaccessibles.

Importance de la démarche numérique

Les alliages d’aluminium Al-Si-Cu sont massivement utilisés dans l’automobile et l’aéronautique. Dans une perspective de réduction des émissions de CO2 pour les véhicules thermiques et d’augmentation d’autonomie pour les véhicules électriques, l’utilisation de l’aluminium [1] [2] en Europe devrait être en croissance de 2.4 % par an d’ici 2030 tirée par les pièces de structure et de châssis automobile. Ces alliages d’aluminium sont dits de première fusion (aluminium issu d’électrolyse) comme l’AlSi7Mg0.3 ou le 6061 ou dits de deuxième fusion (issu de recyclage) comme l’AlSi9Cu3 avec des teneurs en impuretés (Fe, Cr, …) plus élevées. Dans tous les cas, les éléments d’alliage (Si, Cu, Mg, Ti, …), les impuretés, le traitement thermique éventuel, le niveau d’oxydation, les imperfections internes (micro-retassures, reprises en surface, …) ou encore la vitesse de solidification conditionnent les propriétés d’usage (T liquidus, viscosité) et les caractéristiques mécaniques (Rm, Rp0.2, allongement, dureté, limite d’endurance en fatigue). Le grand nombre de paramètres impactant les propriétés des alliages rend complexe la prédiction de comportement à partir des seules lois physiques ou de simulations numériques (calcul de structure).

Or le dimensionnement des pièces au plus juste avec les outils numériques nécessite des données d’entrées fiables (« garbage in, garbage out »). Le développement de nouvelles nuances ou l’optimisation de celles existantes impliquent également de pouvoir évaluer, en amont de la phase expérimentale, le potentiel de divers éléments d’alliage ou l’impact de niveaux d’impureté spécifiques. L’approche data-driven, qui permet de développer des modèles basés sur la data est relativement récente et s’appuie sur l’apprentissage machine (Machine Learning). Elle commence néanmoins à avoir des applications en fonderie [3] [4]. Après une présentation de la méthodologie, nous décrirons, dans cet article, deux exemples de développement au Cetim (pole Fonderie Forge Métallurgie à Chaud) sur des données tabulaires. La première application utilise des données expérimentales sur éprouvettes de traction en aluminium alors que la seconde a été conduite à partir de données issues du logiciel Thermo-Calc.

Le Machine Learning – Principe

Figure 1 - Processus itératif d optimisation d'un modèle en machine learning.
Figure 1 – Processus itératif d optimisation d’un modèle en machine learning.

Le Machine Learning (ML) consiste à entrainer un modèle (faire de l’apprentissage) à partir d’un dataset (jeu de données) existant issu soit de l’expérimental, soit du numérique. Ce modèle (linéaire, arbre de décision, k plus proche voisin, réseau de neurones, …) va être développé et pourra être appliqué ensuite, après validation, à des données inconnues. Comme pour toutes les méthodes d’analyse de données, le dataset doit être suffisamment important (plusieurs centaines ou milliers de données) et représentatif des variations des différents paramètres. En pratique, le dataset initial est d’abord nettoyé (suppression des données incomplètes, aberrantes, …), puis séparé en deux parties : un dataset d’entrainement (train set) et un dataset de test (test set). Le test set est utilisé pour mesurer la qualité de la réponse avec le modèle entrainé sur le train set grâce à des métriques d’évaluation (R2 l’exactitude, MAE pour Mean Alsolute Error, …). La phase d’apprentissage – dite supervisée dans notre cas – est un processus itératif (Figure 1) où pour optimiser la réponse (les métriques), on testera différents modèles en modifiant leurs hyperparamètres (nombre de couche d’un réseau de neurones par exemple) jusqu’à obtenir un modèle satisfaisant (avec un R2 proche de 1). Nous avons utilisé le code Python et la librairie spécialisée en ML, scikit-learn [5], qui donne accès en open-source à un grand nombre de modèles. La fonction GridSearchCV de scikit-learn permet en particulier de tester différents hyperparamètres en automatique et de retourner ceux qui optimisent les métriques d’évaluation du modèle.

Les réseaux de neurones

Figure 2 - Réseau de neurone et fonction de combinaison et d'activation.
Figure 2 – Réseau de neurone et fonction de combinaison et d’activation.

D’après de nombreux auteurs [6] [7] les réseaux de neurones (ANN pour Artificial Neuron Networks) sont parmi les modèles, avec XGBoost, qui donnent les meilleurs résultats en particulier sur des variables continues et des grands datasets de données tabulaires. Nous les avons largement utilisé et il nous semble donc utile d’en rappeler le principe de fonctionnement. Les réseaux de neurones font circuler l’information des couches d’entrée vers les couches de sortie. Les données sont ainsi transformées dans chaque neurone (Figure 2) via d’abord une fonction de combinaison (combinaison linéaire des données d’entrée par les poids du neurone virtuel) puis via une fonction d’activation (Relu, sigmoïde, …) qui introduit une non-linéarité dans la réponse. La fonction d’activation est identique pour tout le réseau. En revanche, les poids sont réglés individuellement pour chaque neurone afin d’obtenir l’erreur en sortie la plus réduite possible entre les valeurs vraies à prédire (Ytest) et les prédictions (Yp). Le réglage des poids, qui constitue l’étape d’apprentissage, est réalisé par un algorithme de descente du gradient stochastique qui alterne un grand nombre de back-propagation (modification des poids en fonction des erreurs en remontant vers l’entrée) et de forward propagation (recalcul des valeurs de sortie Yp en fonction des nouveaux poids).

Figure 3 - Code python de machine learning avec la librairie Scikit Learn.
Figure 3 – Code python de machine learning avec la librairie Scikit Learn.

Les fonctions utilisées dans la librairie scikit-learn sont relativement simples et transparentes lors du codage en Python. Les très nombreuses opérations sur les matrices de données (inversion, transposée, …) ou encore l’utilisation de l’algorithme de descente du gradient tiennent en quelques lignes avec une syntaxe standardisée (Figure 3). L’utilisateur n’a pas à coder « from scratch » les diverses opérations décrites précédemment, mais appelle simplement des fonctions dans le bon ordre : model.fit (pour l’entrainement du modèle), model.score (pour le calcul de l’exactitude R2 ) et model.predict (pour réaliser des prédictions sur le test-set).

Les verrous à l’utilisation du Machine Learning

Les difficultés – et les verrous à l’utilisation du Machine Learning – tiennent dans le grand nombre de modèles disponibles dans scikit-learn (plusieurs dizaines) et dans le nombre d’hyperparamètres plus ou moins important pour chaque modèle. De plus, il n’est pas possible de connaitre à priori (sans le tester) le modèle qui va donner les meilleurs résultats car ces derniers sont fonctions du dataset (taille, variables continues ou discrètes, hétérogénéités des données, classes sous-représentées, …) qui va différer dans chaque cas d’usage. Si certains modèles sont très simples à appréhender (la régression linéaire), d’autres sont plus complexes. Il en est ainsi des réseaux de neurones, basés sur un mécanisme moins intuitif que la régression linéaire, qui contiennent de nombreux hyperparamètres et nécessitent enfin que les données d’entrée soient normalisées (comprises entre 0 et 1), ce qui requiert une opération de traitement complémentaire.

Prédiction des caractéristiques mécaniques (Rm, Rp0.2, allongement, dureté) sur éprouvettes

Figure 4 - Matrice de corrélation entre variable sur le dataset entier.
Figure 4 – Matrice de corrélation entre variable sur le dataset entier.

La première application développée a permis de traiter des données expérimentales issues d’études antérieures [8] [9] sur éprouvettes de traction en aluminium (Al-Si-Cu) avec traitement thermique (TTH). Les variables d’entrée sont au nombre de 11 et chaque variable peut prendre plusieurs valeurs discrètes : Si (5, 7 et 8.5 %), Cu (0, 2 et 3%), Mg (0.2, 0.25, 0.45, 0.7 et 0.75 %), Zn (0 et 1 %), Fe (0.15, 0.45 et 0.5 %), le dégazage (Oui/Non), la modification au strontium (Oui/Non), la durée du TTH (2,4 ,6 et 8 h), la température de TTH (160, 170, 180, 200, 210 et 220°C), le type de moulage (coquille/sable à prise chimique polyuréthane) et enfin un traitement de vieillissement de longue durée (Oui/Non) non conventionnel (1000 heures à 150°C). Les variables de sortie mesurées sur éprouvettes sont les caractéristiques mécaniques (Rm, Rp0.2, la dureté et l’allongement). Nous chercherons à prédire les quatre caractéristiques mécaniques en fonction des 11 variables précédentes (composition chimique et paramètres process). Cette base est constituée de 2641 lignes de données brutes (raw data) où chaque ligne correspond à une éprouvette (soit près de 40 000 valeurs numériques ou alphanumériques). La matrice de corrélation (Figure 4) met en évidence que la dureté, le Rm et le Rp0.2 semblent corrélés entre eux, ce qui n’est pas le cas de l’allongement. La dureté est également corrélée avec la teneur en cuivre sur ce même ensemble de données.

Figure 5 - Corrélation dureté et Rp02 fonction de la teneur en magnésium.
Figure 5 – Corrélation dureté et Rp02 fonction de la teneur en magnésium.

Si l’on trace (Figure 5) le Rp0.2 et la dureté pour les différentes teneurs en magnésium, on constate que les 2 variables augmentent en même temps avec un R2 (coefficient de détermination) assez variable (de 0.53 à 0.93 pour Mg 0.70 %) selon la teneur en Mg.

Figure 6 - Répartition des température de TTH.
Figure 6 – Répartition des température de TTH.

Avant l’étape d’apprentissage, les données doivent tout d’abord être nettoyées car il existe des valeurs non renseignées ou aberrantes. De plus les valeurs alphanumériques (« Oui »/ « Non », « sable », « C », …) doivent être remplacées par des valeurs numériques (0/1 par exemple). On constate également que le jeu de données n’est pas réparti de manière uniforme car certaines catégories sont sur-représentées comme la température de 210 °C pour le TTH (Figure 6). D’autres classes sont également sur-représentées (Si = 7 %, Cu = 0 %, Mg = 0.45 %, Zn = 0 %, Fe = 0.15 %, modification « oui », dégazage « oui », moulage coquille).

Figure 7 - Métrique d évaluation de plusieurs modèles de Rp02.
Figure 7 – Métrique d évaluation de plusieurs modèles de Rp02.

Différents modèles de régression – d’où le terme « Regressor » souvent présent dans le nom du modèle – d’apprentissage supervisé de la librairie scikit-learn ont été testés : des modèles linéaires (LinearRegression et BayesianRidge), la méthode des k plus proches voisins (KNeighborsRegressor), un arbre de décision (DecisionTreeRegressor), deux méthodes d’ensemble (RandomForestRegressor, forêt d’arbres de décision et XGBoost Regressor méthode d’ensemble également à base d’arbre de décision) et enfin MLPRegressor (MLP pour Multi-Layer Perceptron) qui est un réseau de neurones multicouches.

Les modèles linéaires donnent les plus mauvais résultats en termes de prédiction (R2). Les autres modèles amènent à contrario à de meilleures performances (Figure 7) sur le Rp0.2.

On peut remarquer également des médiocres résultats sur la prédiction du Rp0.2, même pour de très bons modèles comme le RandomForestRegressor sur la totalité de la base (0.911) et une amélioration notable (0.976) lorsque cette base est réduite à des éprouvettes non vieillies. De manière identique, on améliore encore de manière très notable la qualité de la prédiction en limitant la base aux seuls alliages AlSi7Mg (7 % de Si) non vieillis (0.992) alors qu’un mélange d’éprouvettes en AlSi7Mg vieillis et non vieillis ne permet pas d’avoir une prédiction de qualité (0.88). XGBoost Regressor (pour eXtrem Gradient Boosting) est réputé donner d’excellents résultats sur des données tabulaires, ce qui se confirme car il est du même niveau que le réseau de neurones MLPRegressor. Certains auteurs [5] [6] conseillent d’ailleurs d’utiliser XGBoost pour le traitement des données tabulaires de préférence aux réseaux de neurones. A noter qu’XGBoost ne fait pas partie de la librairie scikit-learn et qu’il doit être chargé spécifiquement (commande « pip install xgboost » dans Anaconda Prompt). Il utilise en revanche les mêmes méthodes de construction (fit, predict, …) que les modèles de scikit-learn, ce qui en simplifie très fortement l’utilisation.

Figure 8 - Dataset réduit progressivement en taille.
Figure 8 – Dataset réduit progressivement en taille.

Lorsque l’on réduit progressivement (Figure 8) la taille du dataset à de l’AlSi7Mg avec des éprouvettes plus homogènes (non vieillies puis moulées en moulage coquille puis modifiés et dégazées), la qualité de la prédiction avec le MLP Regressor 32-16-8 (3 couches avec respectivement 32, 16 et 8 neurones) s’améliore alors que paradoxalement, nous avons réduit la taille de la base d’apprentissage, ce qui est censé donner des résultats moins fiables. Sur la moyenne des 4 variables à prédire (dureté, Rm, Rp0.2 et A %), le R2 augmente ainsi de 0.939 à 0.949 avec un dataset passant de 754 éprouvettes à 525. On peut faire l’hypothèse que des conditions de production des éprouvettes plus homogènes rendent la prédiction plus fiable. De plus, les variables sous-représentées dégradent la prédiction.

Figure 9 -Distribution des valeurs de Rm et allongement.
Figure 9 -Distribution des valeurs de Rm et allongement.

Dans tous les cas testés et quel que soit le modèle, la prédiction de l’allongement (A %) est systématiquement la moins bonne, les prédictions de la dureté et du Rm sont assez bonnes et la prédiction du Rp0.2 est la plus fiable jusqu’à atteindre un excellent score (0.995). Alors que la distribution des valeurs de Rp0.2, de Rm et de la dureté suit une loi gaussienne (Figure 9), à contrario, la distribution des valeurs de l’allongement suit une loi exponentielle (ou une loi de Poisson). Cette différence de distribution est probablement due à l’influence notable des défauts de fonderie, même petits, sur l’allongement. Cette différence nous semble pouvoir expliquer la plus grande difficulté de prédiction des modèles sur l’allongement.  En effet, la plupart des modèles fonctionnent mieux lorsque les variables sont distribuées de manière à peu près gaussienne.

Afin d’améliorer la prédiction de l’allongement, deux techniques assez classiques ont été mise en œuvre. Nous avons tout d’abord transformé l’allongement (A%) en log(A%) pour aplatir la courbe de distribution (la rendre moins asymétrique) puis nous avons réalisé de l’augmentation de données avec SMOTE (Synthetic Minority Over-sampling TEchnique) [10] afin d’augmenter les classes minoritaires (et sous-représentées) du dataset. SMOTE a fait ainsi passer le jeu d’apprentissage (train-set) de 1 855 à 30 737 données mais n’amène pas de gain sur le R2 tandis que log(A%) permet seulement d’augmenter le R2 de 0.843 à 0.864 avec le modèle MLP sur le jeu de données AlSi7Mg non vieilli de la Figure 8. Globalement, ces 2 techniques n’ont donc pas permis d’améliorer l’exactitude de la prédiction sur l’allongement. Du Machine Learning avec un réseau de neurones équivalent avec keras et TensorFlow n’a pas non plus donné de résultats meilleurs que le modèle MLP de scikit-learn.

Figure 10 - Prédiction du Rp02 avec un dataset tres complet et un dataset réduit mais plus homogène.
Figure 10 – Prédiction du Rp02 avec un dataset tres complet et un dataset réduit mais plus homogène.

On peut constater visuellement (Figure 10) sur deux graphiques représentant le Rp0.2 prédit fonction du Rp0.2 réel sur le Test-Set (donc non vu pendant l’apprentissage) les différences manifestes entre la prédiction sur un dataset très hétérogène (vue de gauche) sur 2319 éprouvettes en comparaison avec les très bons résultats (R2 = 0.991) sur un dataset beaucoup plus homogène (754 éprouvettes d’AlSi7Mg non vieilli). Il est clair que ce modèle du Rp0.2 appliqué à la totalité des éprouvettes n’est pas fiable alors que le même modèle (MLP 32-16-8) est pertinent sur une base plus réduite.

On remarque également (Figure 10) des alignements fréquents de 2 ou 3 points assez proches sur une ligne horizontale. En effet, la base de données contient 3 éprouvettes pour chaque condition d’essai mais avec des résultats différents liées à la dispersion de la qualité des éprouvettes : microstructure, micro-défauts internes, micro-stries en surface, …. Pour tout modèle de Machine Learning, des mêmes conditions d’essais se traduisent par une valeur identique prédite. Cela explique que les résultats soient plus dispersés en termes de R2 qu’avec des valeurs issues de Thermo-Calc.

Figure 11 - Durée entrainement des modèles pour Rm.
Figure 11 – Durée entrainement des modèles pour Rm.

Le modèle MLP Regressor 32-16-8 peut ensuite être appliqué pour prédire des points inconnus non disponibles expérimentalement. C’est même tout l’intérêt du Machine Learning. Les réseaux de neurones sont assez pertinents pour réaliser de l’interpolation (prédiction dans le domaine d’apprentissage) comme de l’extrapolation (prédiction en s’éloignant du domaine d’apprentissage). En revanche, la durée d’entrainement du modèle MLP Regressor est notablement plus important que celle des autres modèles (Figure 11). Le modèle le plus rapide est XGBoost. Sur des datasets réduits (quelques centaines ou milliers de données), la durée d’entrainement n’est pas le critère déterminant. Sur de gros datasets de données tabulaires, le temps de calcul pour l’entrainement du modèle devient un critère d’importance si les métriques d’évaluation sont proches.

La plupart des modèles de ML permettent de visualiser l’importance des variables dans la prédiction de la réponse (Feature-Importance). Nous avons utilisé la librairie SHAP qui offre une visualisation graphique performante et permet d’observer quelles variables ont un impact positif (rouge) ou négatif (bleu) sur la prédiction et l’amplitude de cet impact. Nous avons comparé (Figure 12) pour le modèle XGBoostRegressor et pour la prédiction du Rp0.2, les variables d’importance pour le dataset complet (vue de gauche) et le dataset réduit aux éprouvettes en AlSi7Mg non vieillies (vue de droite). On remarque que le dataset complet fait intervenir quasiment toutes les variables, ce qui n’est pas le cas du dataset réduit qui est influencé par un nombre de variables plus réduit. Pour les 2 datasets, certaines variables ont une influence nulle ou très réduite : le Zn, le dégazage, la modification. Le modèle pourra être par la suite être simplifié en éliminant ces variables pour la prédiction. On retrouve, pour les 2 datasets, une importance prédominante du Mg, de la durée et de la température de traitement thermique, dans un ordre toutefois un peu différent.

Figure 12 - Influence des variables dans le dataset complet et le dataset réduit - modèle XGBoost et prédiction Rp02.
Figure 12 – Influence des variables dans le dataset complet et le dataset réduit – modèle XGBoost et prédiction Rp02.

Cette analyse confirme donc celle de Drouzy et alii [11] qui avait montré que Rp (HB) ne dépendaient que du durcissement structural et donc des teneurs en magnésium, cuivre et des conditions de revenu (sous réserve d’une mise en solution correcte). L’influence du vieillissement traduit le fait que ce traitement est un prolongement du traitement de revenu.

Pour le dataset réduit, qui possède un très fort coefficient de détermination (0.991), trois variables expliquent plus de 90 % de la réponse : le magnésium, la durée et la température de traitement thermique. Trois autres variables – le type de moulage (sable/coquille), la teneur en fer et en cuivre – ont un impact beaucoup plus réduit. Il faut cependant garder à l’esprit que ces conclusions ne peuvent être tirées que dans le domaine d’apprentissage qui contient des classes sur-représentées. Ainsi, pour le dataset réduit, 95 % des éprouvettes ont une valeur de fer très réduite (0.15 %) et seulement 5 % des éprouvettes ont une teneur en fer à 0.45 %. Il n’est pas donc étonnant que le modèle n’identifie pas le fer comme un paramètre significatif. A contrario, pour le dataset complet, près d’un tiers des éprouvettes ont une teneur en fer de 0.45 % ou 0.50 %, ce qui explique que l’importance du fer est clairement mise en évidence. De la même manière, les éprouvettes du dataset complet ont des teneurs en cuivre avec des classes bien distinctes et en nombre équivalent, ce qui permet de mettre en évidence l’influence de la teneur en cuivre alors que les éprouvettes du dataset réduit ont très majoritairement un cuivre très réduit, ce qui ne permet pas au modèle d’identifier son impact. Ce type de représentation en lien avec les variables d’importance permet d’amener de l’explicabilité au modèle et d’éviter le phénomène de black box (utilisation d’un modèle pertinent mais non compréhensible pour l’utilisateur). Notons enfin que les diagrammes de SHAP pour les modèles XGBoost et MLP32-16-8 sont identiques pour le dataset réduit mais sont sensiblement différents pour le dataset entier, sans doute lié au plus faible coefficient de détermination (R2 = 0.913) de ce dernier.

Prédiction de la température de liquidus (Thermo-Calc)

Figure 13 - T liquidus - métriques d'évaluation des modèles MLP avec différents nombres de neurones.
Figure 13 – T liquidus – métriques d’évaluation des modèles MLP avec différents nombres de neurones.

Le deuxième cas d’usage développé a permis de traiter des données issues de calcul numérique à l’aide de Thermo-Calc [12] utilisé depuis plusieurs années par le Cetim Pole Fonderie. Précédemment, un algorithme génétique, a-screen, a été développé [13] dans le cadre du projet d’intérêt collectif POCAI et permet d’explorer de larges espaces compositionnels. Dans le cas présent, un jeu de données de 2000 alliages a été constitué (via Thermo-Calc et la base aluminium) en faisant varier la composition de quatre éléments :  Si (entre 0 et 24 %), Cu (entre 0 et 12 %) Mg (entre 0 et 1%) et enfin Fe (entre 0 et 1%) avec la température de liquidus (T Liquidus) qui sera la variable à prédire (Y). Une base de données Excel a été constituée. Le T Liquidus est la température haute de l’intervalle de solidification d’un alliage, juste avant que cet alliage ne soit complètement liquide.

Figure 14 - Erreur de prédiction sur T liquidus.
Figure 14 – Erreur de prédiction sur T liquidus.

Différents modèles de réseaux de neurones MLP Regressor ont été testés (Figure 13) avec un nombre de couches variables (entre 1 et 5). Le meilleur résultat est obtenu avec le modèle MLP64-32-16-8 avec 4 couches de neurones comprenant respectivement 64, 32, 16 et 8 neurones. Ce modèle permet en effet de minimiser les 2 métriques d’évaluation MAE (Mean Absolute Error) et ME (Maximum Error). A contrario, les modèles MLP8 et MPL16-8 avec un faible nombre de neurones donnent des résultats relativement mauvais avec une ME de respectivement 20°C et 10°C contre 1.79°C pour le MLP64-32-16-8. En revanche, le temps de calcul pendant l’entraînement s’accroît significativement (X 20) avec l’augmentation de la complexité du réseau de neurones passant de 0.5 s pour le MLP8 (1 couche de 8 neurones) à 10 s pour le MLP64-32-16-8 (4 couches de neurones). Le coefficient de détermination R2 est cependant très bon (> 0.995), même pour le réseau très simple MLP 16-8.

Pour le MLP64-32-16-8 (Figure 14), plus de 95 % des points présentent une erreur inférieure à ± 3 x MAE, ce qui permet d’évaluer en première approche l’incertitude de prédiction du modèle à ± 0.75°C.

Figure 15 - T Liquidus fonction de Si et de Cu avec Mg et Fe constant.
Figure 15 – T Liquidus fonction de Si et de Cu avec Mg et Fe constant.

En utilisant les prédictions du modèle, sans interroger Thermo-Calc, on peut tracer (Figure 15) l’évolution de T Liquidus en fonction de la teneur en Silicium avec des valeurs de Cu variables. On retrouve un eutectique à 12.6 % de silicium (pour Cu = 0 %) cohérent avec les données de la littérature. Cet eutectique peut être calculé pour chaque valeur de Cu comme étant la valeur minimale de Tliquidus lorsque Si varie de 0 à 25 %.

Figure 16 - Extrapolation T Liquidus en dehors des limites données d'apprentissage.
Figure 16 – Extrapolation T Liquidus en dehors des limites données d’apprentissage.

Nous avons testé la prédiction de données par extrapolation, c’est-à-dire en dehors du domaine d’apprentissage (0-25 % Si) et en particulier au-delà de 25 % de silicium en comparant les valeurs prédites par deux modèles (MLP et XGBoost Regressor) avec l’équation analytique [14] [15] de T liquidus (T Liquidus = 389.79 + 15.855*Si – 0.0561 *Si2 ) dans le domaine hypereutectique. Il ressort (Figure 16) que dans le domaine d’apprentissage, MLP et XGBoost sont pertinents. Mais plus Si devient important (> 30 %) et s’éloigne du domaine d’apprentissage et plus l’erreur sur la prédiction devient grande pour les 2 modèles (MLP en bleu et XGBoost en vert) par rapport à la courbe analytique (en rouge). Cependant, les prédictions de XGBoost présentent des variations en marches d’escalier alors que celles de MLP sont lisses et surtout, au-delà de 25 % de Si, XGBoost ne fait quasiment plus évoluer T Liquidus et prédit une valeur quasi-constante, ce qui n’est pas le cas avec MLP. En revanche, XGBoost présente encore une fois un temps d’entrainement très court (0.22 s) comparé à MLP (17.14 s).

Figure 17 - T Liquidus fonction - influence de Mg et Fe.
Figure 17 – T Liquidus fonction – influence de Mg et Fe.

Bien qu’il n’existe que très peu d’alliages (autres que les alliages mère de type AlSi30 ou AlSi50) dans ce domaine, si l’on souhaitait prédire des hypereutectiques à très haute teneur en Si avec une bonne précision, il faudrait impérativement inclure dans le train set des valeurs à haute teneur en Si. L’utilisation des équations analytiques semble complexe si plusieurs domaines existent (eutectique, hypoeutectique, …) car il devient nécessaire alors de multiplier le nombre d’équations sur chaque domaine d’intérêt alors que le Machine Learning ne nécessite qu’un seul et unique modèle, plus simplement déployable. Ainsi, si l’on fait varier Mg et Fe (Figure 17), les courbes de T Liquidus varient fortement et semblent difficiles à prédire par des fonctions analytiques.

Figure 18 - Avantages d'un modèle de Machine Learning.
Figure 18 – Avantages d’un modèle de Machine Learning.

L’intérêt de disposer d’un modèle de prédiction fiable (avec une erreur réduite et connue) est multiple (Figure 18). Tout d’abord, le temps de calcul est quasi-immédiat. En effet, si pour la phase d’apprentissage, le temps de calcul peut être long (pour un dataset de grande taille), le modèle (la matrice de poids des neurones) est ensuite sauvegardé et les prédictions, en phase dite d’inférence, sont réalisées sans repasser par une étape d’apprentissage. Ensuite, on pourra réaliser des calculs de T liquidus sans avoir accès au code de simulation. De plus, on pourra réaliser du calcul inverse, par exemple, rechercher les compositions chimiques qui ont une TLiquidus donnée, ce qui est possible avec Thermo-Calc mais plus complexe et plus long. Enfin, ce modèle sur un domaine limité pourra être intégré assez simplement à un algorithme plus général où on aura besoin d’une prédiction de TLiquidus.

Données expérimentales versus données issues de simulation numérique

La qualité et la quantité des données va conditionner directement la fiabilité des modèles. Les données issues d’un dataset issu du calcul numérique (Thermo-Calc dans notre cas) peuvent être plus avantageuses (Figure 19) que les données expérimentales pour plusieurs raisons. Tout d’abord, les données issues de simulation ne sont pas dispersées, à contrario des données expérimentales. Ensuite, les données expérimentales nécessitent des opérations de nettoyage qui peuvent être très chronophages pour de gros datasets (plusieurs dizaines ou centaines de milliers de points). De plus, certaines variables peuvent être sous-représentées ce qui n’est pas le cas d’un dataset numérique où l’utilisateur peut en contrôler finement la distribution. Enfin, les données expérimentales ont souvent une distribution discrète alors que les données de simulation présentent une distribution continue.

Figure 19 - Comparatif Machine Learning issu de données expérimental ou de calcul.
Figure 19 – Comparatif Machine Learning issu de données expérimental ou de calcul.

Cela explique que les métriques d’évaluation dans la prédiction de Tliquidus sont bien meilleures que celles obtenues dans la prédiction des caractéristiques mécaniques (R2 de 0.998 pour T liquidus contre une moyenne de 0.949 pour les caractéristiques mécaniques). Cependant, tout comme l’acquisition de données expérimentales, la constitution d’un grand dataset de données issues de simulation peut être couteuse si la durée de chaque simulation est importante et des erreurs de prédiction sont toujours possibles (problème de convergence, erreur de données initiales).

Comparatif réseau de neurones et XGBoost

Figure 20 - Comparatif de réseau de neurones et XGBoost en Machine Learning.
Figure 20 – Comparatif de réseau de neurones et XGBoost en Machine Learning.

Si les performances des réseaux de neurones sont relativement bonnes, pour de grands datasets, le temps d’entrainement peut être très long. Pour des applications industrielles, on pourra utiliser keras et TensorFlow (ou PyTorch) – en open source également – qui permettent de développer des réseaux de neurones plus performants avec un contrôle plus fin du modèle et de ses hyperparamètres. Mais pour des datasets plus réduits, MLPRegressor semble tout à fait pertinent. Pour les données tabulaires, d’autres modèles (Figure 20) peuvent donner de très bons résultats (XGBoost en particulier) dans un temps d’apprentissage plus court, mais leur pouvoir de généralisation et d’extrapolation en dehors du domaine d’apprentissage semble plus réduit que les réseaux de neurones et les prédictions ne sont pas lissées (effet d’escalier). Dans le cas de très gros datasets (100 000 à plusieurs millions de données), le temps de calcul peut être réduit en phase d’entrainement du modèle avec l’utilisation de GPU (Graphics Processing Unit) ou en entrainant les modèles sur le Cloud (Azure Machine Learning de Microsoft, Google Cloud, AWS d’Amazon, …).

Conclusions et perspectives

Pour la prédiction des caractéristiques mécaniques sur éprouvettes de traction, les modèles linéaires ont donné des résultats non satisfaisants, tandis que les méthodes d’ensemble, telles que le RandomForestRegressor et le XGBoost Regressor, ainsi que le réseau de neurones MLPRegressor, sont bien plus performants. Cependant, même avec les meilleurs modèles, la prédiction des caractéristiques mécaniques n’est pas toujours précise, en particulier pour l’allongement (qui présente une distribution non gaussienne) alors qu’elle est très satisfaisante pour le Rp0.2. La qualité de la prédiction s’améliore considérablement lorsque la base de données est limitée à des éprouvettes présentant des caractéristiques plus homogènes (AlSi7Mg non vieilli). Sur les données issues de Thermo-Calc, le modèle MLP 64-32-16-8 a permis de minimiser les métriques d’évaluation MAE et ME, avec un score R2 très bon (> 0,995). Le réseau de neurones est un modèle efficace pour prédire des grandeurs métallurgiques dans un temps de calcul cependant supérieur aux autres modèles testés (RandomForest, XGBoost). En revanche, le réseau de neurones présente l’avantage de permettre de meilleures extrapolations en dehors du domaine d’apprentissage.

L’approche data-driven permet donc, grâce au Machine Learning supervisé de type régression, de développer des modèles de phénomènes physiques avec une erreur connue sans passer par des lois de comportement explicites. Ces modèles sont évidemment en lien avec la réalité des phénomènes étudiés puisqu’ils sont entraînés à partir de données issues de l’expérimental ou du numérique. L’extrapolation en dehors du domaine d’apprentissage est plus délicate (erreur supérieure) avec de meilleurs résultats obtenus avec les réseaux de neurones par rapport aux autres modèles (arbres de décision et XGBoost). On notera également que le déploiement du ML est plus simple (pas d’opération de nettoyage des données en amont, erreur plus réduite, pas de classes sous-représentées) avec des données issues du numérique.

Au-delà de Thermo-Calc, on peut imaginer des applications et des développements avec d’autres outils mettant en œuvre des simulations de solidification, …, des modélisations de taille de grains ou de traitement thermique des alliages. Les simulations numériques génèrent en particulier des résultats facilement accessibles lors du post-processing. On peut ainsi positionner de très nombreux thermocouples virtuels alors qu’expérimentalement, la mise en œuvre de multiples capteurs s’avère complexe (positionnement, acquisition, dépouillement) et peut venir perturber les phénomènes étudiés. Il est toutefois recommandé de valider les données simulées par un nombre limité de points expérimentaux.

On peut également penser que cette démarche pourrait utiliser des jeux de données mixant d’une part des valeurs expérimentales et d’autre part des données issues du calcul. Enfin, il nous semble important de rappeler que la constitution de base de données robustes et documentées est le point de passage impératif du Machine Learning. Les résultats obtenus au travers des deux cas d’étude montrent que la prédiction des caractéristiques mécaniques des matériaux nécessite une analyse approfondie des données et le choix de modèles appropriés en fonction du contexte. L’interprétation des résultats nécessite un expert métier en métallurgie.

Remerciements

Cet article est paru initialement dans la revue Forge et Fonderie (Décembre 2023), pp. 14-25. Les auteurs sont Patrick Hairy et Michel Stucky (Cetim, pole FMC). Les résultats sont issus du projet PIF-PIF supporté par le Carnot ICEEL. Remerciement à Jean-Valéry Julien pour son apport sur l’environnement de développement (Anaconda) et les conseils sur le langage Python.

Bibliographie

[1] Kozubski, Guillaume. Transitions technologiques de la filière automobile : quels impacts pour les forges et les fonderies (étude Roland Berger). revue Forge et Fonderie. 10 2020, pp. 18-32.

[2] DuckerFrontier. aluminum-content-in-european-cars_european-aluminium_public-summary_101019-1.pdf. https://european-aluminium.eu. [En ligne] 10 2010. https://european-aluminium.eu/wp-content/uploads/2022/10/aluminum-content-in-european-cars_european-aluminium_public-summary_101019-1.pdf.

[3] Hairy, Patrick. Les technologies de l’intelligence artificielle : perspectives en fonderie. Revue Forge et Fonderie. 10 2020, pp. 6-11.

[4] Bouvet, P. et Dakak, A. R. Application des algorithmes d’intelligence artificielle à l’exploitation des données de tomographie de pièces en fonderie d’aluminium. Revue Forge Fonderie. 06 2011, pp. 18-25.

[5] Pedregosa, F., Varoquaux, G. et Gramfort, A. scikit-learn: Machine Learning in Python, Pedregosa et al., JMLR 12, pp. 2825-2830, 2011. Journal of Machine Learning Research 12 (2011) 2825-2830. 12 2011, pp. 2825-2830.

[6] Vadim Borisov, Tobias Leemann and ali., Deep Neural Networks and Tabular Data: A Survey. 2022. IEEE Transactions on neural networks and learning systems.

[7] Schwartz-Ziv, Ravid et Armon, Amitai. Tabular Data: Deep Learning is Not All You Need. [éd.] Elsvier. Information Fusion. May 2022, Vol. 81, pp. 84-90.

[8] Stucky, Michel. Influence des états T7 sur les caractéristiques des AlSi7Mg moulés. Fonderie Magazine. Mai 2011, 14, pp. 21-32.

[9] Stucky, Michel et Elary, Michel. Influence des états T7 sur les caractéristiques des Al-Si-Cu hypo-eutectiques moulés. FONDERIE MAGAZINE. 06/07 2011, pp. 33-43.

[10] Fernandez, Alberto et alii. SMOTE for Learning from Imbalanced Data: Progress and Challenges, Marking the 15-year Anniversary. Journal of Artificial Intelligence Research. 2018, 61, pp. 863-905.

[11] Drouzy, Michel, Jacob, Sylvain et Richard, Michel., Interpretation of tensile results by means of quality index and probable yield strength. AFS Int. Cast Metals Jnl. M. Drouzy, S. Jacob and M. Richard, “Interpretation of tensile results by means of quality index and probable yield strength”, AFS Int. Cast Metals Jnl., 1980, 5, 43–50., 1980, 5, pp. 43-50.

[12] Cini, Emmanuel , Thermo-Calc, un outil de métallurgie numérique : Principes et applications. Revue Forge et Fonderie. 6 2019, pp. 16-23.

[13] Chemsedine, Bchir, et al. Alpha-screen, algorithme génétique pour l’Alloy Design. Revue Forge et Fonderie. 03 2022, pp. 10-15.

[14] Robles Hernandez, F. C. et Djurdjevic, M. B. et alii. Calculation of the liquidus temperature for hypo and hypereutectic aluminum silicon alloys, Materials Science and Engineering A 396 (2005), pp. 271–276. Materials Science and Engineering A. 2005, 396, pp. 271-276.

[15] Djurdjevic, Mile et Manasijevic, Srećko et alii. Calculation of Liquidus Temperature for Aluminum and Magnesium Alloys Applying Method of Equivalency. Advances in Materials sciences and Engineering. Vol. 13.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *