Prediction of properties of steel alloys

03/29/2020 ∙ by Ciro Javier Diaz Penedo, et al. ∙ University of Campinas 0

We present a study of possible predictors based on four supervised machine learning models for the prediction of four mechanical properties of the main industrially used steels. The results were obtained from an experimental database available in the literature which were used as input to train and evaluate the models.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introdução

Na área de engenharia de materiais não se conhece um modelo matemático para calcular algumas propriedades das ligas de aço, desse modo, a maneira mais usual para encontrar as mesmas é via experimentos em laboratório, os quais demandam especialistas, equipamentos, gastos financeiros e tempo. Uma opção para contornar esses gastos é prever o valor dessas propriedades utilizando algoritmos de aprendizado de máquina [1].

Na composição da liga de aço cada composto químico fornece uma propriedade diferente. As ligas metálicas existentes no mercado visam atender um grupo específico destas propriedades.

Atualmente existem handbooks [2] com informações sobre as propriedades físicas de ligas de aço. Esses bancos de dados fornecem apenas as características de ligas que já foram estudadas em laboratório previamente.

Neste trabalho usamos vários modelos de aprendizado de máquina para analisar quatro propriedades de ligas de aço, dureza (hardness), limite de resistência (tensile strength), limite de escoamento (yield strength) e ductibilidade (elongation in 50mm). Estas propriedades dependem da composição química da liga e do tipo de processamento utilizado em sua fabricação: Laminação a quente, Laminação a frio, Recozimento, Normalização e Tempera em água ou óleo. A descrição das componentes das amostras são apresentadas na Tabela 1.

sigla Atributo min média max
1 (Fe) Ferro 70 93,094 100,0
2 (C) Carbono 0,08 0,355 1,2
3 (Mn) Manganês 0,25 0,971 2,0
4 (P) Fósforo 0 0,028 0,2
5 (S) Enxofre 0 0,050 1,0
6 (Si) Silício 0 0,240 3,0
7 (Ni) Níquel 0 3,350 26,0
8 (Cr) Cromo 0 1,802 37,0
9 (Mo) Molibdênio 0 0,111 4,0
10 Preparo (1-5) 1 2.375 5
Preparo Preparo
1 Laminação a quente 2 Laminação a frio
3 Recozimento 4 Normalização
5 Têmpera em água ou óleo
Tabela 1: Composição química e tipo de preparo da liga metálica

Os valores de cada elemento químico da Tabela 1 junto com a medida categórica (tipo de preparo) na parte de baixo serão as features dos exemplo do problema e os targets serão as quatro propriedades físicas-mecânica das ligas: hardness, tensile strength, yield strength e elongation. Todas elas foram retiradas do handbook [2]. São um total de dados sendo as concentrações de cada elemento químico se encontram numa faixa de valores, e desse modo, foi possível realizar um data augmentation ficando com amostras.

2 Metodología

Para obter nosso preditor vamos testar quatro modelos clássicos de aprendizado supervisionado, estes são Linear Regression (LR), Redes Neurais (NN),

Regression Suport Vector Machines

(SVR) e Decision Trees (DT).

2.1 Data augmentation

Para treinar os modelos de aprendizado precisamos de mais dados. A peculiaridade do problema tratado faz possível aumentar essa quantidade. Sendo que algumas propriedades são obtidas para faixas de concentração de elementos químicos decidimos usar vários valores dentro de cada faixa. Desta forma tomaremos 3 valores em cada faixa dividindo esta em 4 pontos equidistantes e ficamos com os 2 mais próximos do centro para treino e validação. Como conjunto de teste usaremos apenas o valor central de cada faixa. (Espera-se que as faixas sejam melhor representadas por valores mais próximos do centro do que da fronteira).

Fazendo o que foi citado anteriormente passamos a ter um conjunto de amostras para treino e validação, e um conjunto de amostras para teste, o qual foi usado apenas apara apresentar os resultados.

2.2 Métricas Avaliação

Neste trabalho vamos usar o coeficiente de determinação R-square () para medir a qualidade da predição, sendo que e quanto mais próximo de melhor o resultado.

Para avaliar a capacidade de generalização de cada modelo a partir do conjunto de dados usaremos o método K-fold de validação cruzada. Vamos usar mantendo os mesmos conjuntos de treino e validação para cada modelo.

Para comparar estatisticamente vários modelos (como vai ser o caso dos obtidos via SVR e NN) usamos o teste de Friedman para determinar se existe ou não diferença estatística no conjunto total e o teste de Bomferroni para fazer comparação one vs. one (OVO) e determinar que existe diferencia estatística entre cada dois deles, esta existe quando a diferença dos rankings é maior do que um valor critico,

No caso usamos a função multicompare do MATALB que entrega uma matriz com as comparações OVO para as colunas de uma matriz de estatísticas. Usamos no cálculo do valor crítico.

3 Experimentos e Discussões

Fazendo o data augmentation como explicado em 2.1, treinamos cada modelo com a estratégia K-Folder de validação cruzada evitando overfitting. O resultado final é apresentado avaliando cada um dos preditores obtidos no conjunto de teste e promediando os resultados.

3.1 Linear Regression

Vamos fazer ajuste dos dados a uma combinação linear de polinômios de ordem até . Usando o método de quadrados mínimos e calculando os coeficientes via solução do sistema de equações normais conseguimos ajustar o grau dos polinômios e o parâmetro de regularização para escolher nosso modelo de regressão Linear. Usamos a regra do cotovelo para decidir não aumentar a mais a complexidade do modelo no ponto onde erro no treino e a validação começam a se distanciar.

Os gráficos das Figuras 1, 2, 3 e 4 apresentam a dispersão entre as previsões e os targets para o conjunto de teste, para cada propriedade respectivamente. Quanto mais próximos os pontos se encontram da diagonal () melhor foi o resultado, pois o , quando mais distantes pior foi a previsão.

Figura 1: Previsões vs targets para a propriedade 1 (Linear Regression).
Figura 2: Previsões vs targets para a propriedade 2 (Linear Regression).
Figura 3: Previsões vs targets para a propriedade 3 (Linear Regression).
Figura 4: Previsões vs targets para a propriedade 4 (Linear Regression).

3.2 Neural Network

Para o treinamento das Redes Neurais usamos a função de MATLAB fitnet. A arquitetura da rede consiste de uma camada escondida na qual variamos a quantidade de neurônios . Treinamos a rede variando o tipo de função de ativação usada no treino : trainlm, trainbr, trainscg, trainbfg, traingdx, traingd, trainrp, traincgb, traincgf, traincgp, trainoss e traingdm. Para mais informações [3].

Após obter os modelos escolhemos o melhor comparando eles via teste de Friedman-Bonferroni (2.2). O erro final no conjunto de teste é calculado como sendo a média da sua avaliação em cada um dos preditores do modelo escolhido. As funções de ativação que melhor trabalharam foram a "Bayesiana"e a de "Levenberg-Marquardt". O coeficiente de determinação meio foi de , , e para as propriedades , , e respetivamente. As Figuras 5, 6, 7 e 8 apresentam o plot dos outputs vs targets.

Figura 5: Previsões vs targets para a propriedade 1 (Neural Network).
Figura 6: Previsões vs targets para a propriedade 2 (Neural Network).
Figura 7: Previsões vs targets para a propriedade 3 (Neural Network).
Figura 8: Previsões vs targets para a propriedade 4 (Neural Network).

3.3 Svr

Para o treinamento do modelo SVR usamos função do MATLAB fitrsvm. Treinamos modelos variando os kernels entre linear, gaussian, rbf e polynomial. O teste de Friedman-Bonferrari (2.2) determinou que os modelos que usaram Kernel Gaussiano foram os melhores em cada propriedade. O erro final no conjunto de teste é calculado como sendo a meia da sua avaliação em cada um dos preditores do modelo escolhido. O coeficiente de determinação meio foi de , , e para as propriedades , , e respetivamente.

Figura 9: Previsões vs targets para a propriedade 1 (SVR).
Figura 10: Previsões vs targets para a propriedade 2 (SVR).
Figura 11: Previsões vs targets para a propriedade 3 (SVR).
Figura 12: Previsões vs targets para a propriedade 4 (SVR).

As Figuras 9, 10, 11 e 12 apresentam o plot dos outputs vs targets.

3.4 Decision Tree

Para treinar a árvore de regressão usaremos a função de MATLAB fitrtree e a estratégia de regularização grow-prunning fazendo crescer a árvore até o final no conjunto de treino e usamos prunning até fazer com que o coeficiente de determinação na validação e no treino sejam similares. As Figuras 13, 14, 15 e 16 apresentam o plot dos outputs vs targets.

Figura 13: Previsões vs targets para a propriedade 1 (Decision Tree).
Figura 14: Previsões vs targets para a propriedade 2 (Decision Tree).
Figura 15: Previsões vs targets para a propriedade 3 (Decision Tree).
Figura 16: Previsões vs targets para a propriedade 4 (Decision Tree).

3.5 Comparando os modelos

Para cada modelo calculamos o coeficiente de determinação em cada uma das avaliações do conjunto de teste nos preditores associados.

K-Fold NN SVMR Dec. Tree Regre. Lin
1 0.95533 0.99349 0.96494 0.75425
2 0.98194 0.99383 0.96168 0.76033
3 0.95781 0.98894 0.92343 0.74292
4 0.95485 0.99303 0.96808 0.73856
5 0.97518 0.99283 0.96444 0.74721
6 0.87986 0.99340 0.96082 0.76504
7 0.96407 0.99351 0.94713 0.74609
8 0.97277 0.99286 0.96487 0.75255
9 0.91661 0.99212 0.96443 0.75220
10 0.96105 0.99284 0.95929 0.75382
Média 0.95195 0.99269 0.95791 0.7513
Tabela 2: Valores de para os modelos e para a propriedade 1
K-Fold NN SVMR Dec. Tree Regre. Lin
1 0.95787 0.99066 0.94314 0.70536
2 0.57023 0.99219 0.94121 0.72688
3 0.9103 0.97034 0.89321 0.70381
4 0.91371 0.99347 0.94656 0.72234
5 0.66113 0.99190 0.95071 0.71962
6 0.91158 0.99175 0.92801 0.71392
7 0.94464 0.99315 0.92232 0.71424
8 0.75442 0.99168 0.93227 0.72440
9 0.94637 0.98948 0.95977 0.71998
10 0.84801 0.99125 0.94415 0.72383
Média 0.84183 0.98959 0.93613 0.71744
Tabela 3: Valores de para os modelos e para a propriedade 2
K-Fold NN SVMR Dec. Tree Regre. Lin
1 0.93555 0.98021 0.97349 0.88387
2 0.94766 0.98114 0.97093 0.88236
3 0.93898 0.96998 0.96533 0.88483
4 0.93468 0.98368 0.96103 0.88207
5 0.93687 0.96675 0.97340 0.88473
6 0.95075 0.97357 0.96058 0.88032
7 0.93670 0.97341 0.97251 0.88809
8 0.93807 0.97900 0.96545 0.89123
9 0.94900 0.97561 0.96000 0.88529
10 0.93512 0.98109 0.96662 0.86381
Média 0.94034 0.97644 0.96694 0.88266
Tabela 4: Valores de para os modelos e para a propriedade 3
K-Fold NN SVMR Dec. Tree Regre. Lin
1 0.93183 0.98340 0.87735 0.76972
2 0.93847 0.99011 0.85840 0.76531
3 0.93007 0.97645 0.83434 0.77460
4 0.90529 0.98522 0.89335 0.77777
5 0.87144 0.98471 0.89245 0.77831
6 0.93292 0.98386 0.88705 0.77376
7 0.93663 0.98720 0.81248 0.77443
8 0.93723 0.98709 0.89773 0.77560
9 0.93819 0.98286 0.71800 0.76442
10 0.93431 0.99106 0.89552 0.78311
Média 0.92564 0.98520 0.85667 0.77370
Tabela 5: Valores de para os modelos e para a propriedade 4

Apenas observando as Tabelas 2, 3, 2 e 5 podemos concluir que o modelo de regressão linear tem uma performance claramente inferior aos outros em cada uma das propriedades. Por outro lado o modelo SVR ganha praticamente sempre, em todas as propriedades e praticamente em cada cada um dos folders. Não precisamos fazer comparação estatística para concluir que a performance do modelo SVR é melhor do que as dos outros.

4 Conclusões e Trabalhos Futuros

Depois das comparações feitas na Seção 3.5 concluímos que o melhor modelo para cada uma das propriedade dentre os testados foi SVR com um coeficiente de determinação médio de )

O bom do ajuste do modelo aos dados mostra também que as nossas features descrevem bem o problema . No caso, as concentrações dos materiais e o tipo de processamento da liga de aço descrevem bem as propriedades de dureza (hardness), limite de resistência (tensile strength), limite de escoamento (yield strength) e ductibilidade (elongation).

É muito provável que se tivéssemos um maior número de dados a atuação dos modelos iria melhorar. Também teria sido possível usar outras variantes de data augmentation usando algum critério de distribuição dos dados dentro da faixa. Por exemplo poderíamos pensar que a concentração efetiva do material encontra-se no ponto médio da faixa e então gerar os dados aleatoriamente seguindo uma distribuição normal centrada nesse ponto. Outras estratégias de validação cruzada poderiam ter sido usadas, por exemplo 5x2.

No trabalho tivemos a oportunidade de combinar muitas das técnicas estudadas ao longo do curso para solucionar um problema real de grande importância na indústria.

Referências

  • [1] Conduit, B. D. et al. (2017), Design of a nickel-base superalloy using a neural network, Materials & Design, vol. 131, 358–365.
  • [2] Bramfitt, B. L. (1997), Effects of Composition, Processing, and Structure on Properties of Irons and Steels. Materials Selection and Design, ASM Metals HandBook, vol. 20, 820-847.
  • [3] MATLAB, wwww.mathworks.com/help/nnet/ug/train-and-apply-multilayer-neural-networks.html. Acessado em 19/06/2018.