AI「反腐」,德国马普所结合 NLP 和 DNN 开发抗蚀合金

news2024/11/20 1:41:02

内容一览:在被不锈钢包围的世界中,我们可能都快忘记了腐蚀的存在。然而,腐蚀存在于生活中的方方面面。无论是锈迹斑斑的钢钉,老化漏液的电线,还是失去光泽的汽车,这一切的发生都与腐蚀有关。据统计,全世界每年由金属腐蚀带来的经济损失超过
2.5 万亿美元,远超过其他自然灾害。其中,腐蚀在中国造成的经济损失约 3,949 亿美元,占中国 GDP 的 4.2%。正因为此,研究者们一直在探索抗蚀性能更好的合金或是金属保护膜。如今,在优化材料抗蚀性能的过程中,AI 派上了用场。

关键词:自然语言处理 深度神经网络 腐蚀

作者 | 雪菜
编辑 | 三羊

本文首发于 HyperAI 超神经微信公众平台~

据美国腐蚀工程师协会 (NACE, National Association of Corrosion Engineers) 统计,2013 年全世界由腐蚀造成的经济损失超 2.5 万亿。同时,中国也饱受腐蚀的困扰,经济损失约 3,949 亿美元,占当年 GDP 的 4.2%,较其他发达国家比例略高。

作为对比,2008 年汶川大地震造成的经济损失约 1,100 亿美元。也就是说,早在 2013 年,仅腐蚀为我国带来的经济损失,就超过了 3 个汶川大地震。
在这里插入图片描述表 1:2013 年世界各地因腐蚀造成的经济损失(单位:十亿美元)

为破解腐蚀难题,研究者们在致力于提升材料强度的同时,也在不断寻找提升材料抗蚀性能的方法。 借助 AI,他们已经取得了一定的进展,如对高温下合金的腐蚀机制进行了预测,对钢铁的大气腐蚀速率和钢筋混凝土的环境腐蚀进行了分析,并能够用卷积神经网络 (CNN) 从图像中判断材料的腐蚀形式。

然而,机器学习模型的输入数据多为数值数据。但在金属材料的加工和分析中,除了 pH 值、测试温度等数值数据,还有材料类型等分类数据及热处理过程、测试方法等文本数据。传统的机器学习模型无法对所有数据进行彻底读取和分析,预测准确率较低。

为此,德国马克思普朗克铁研究所 (MPIE, Max-Planck-Institut für Eisenforschung) 将深度神经网络 (DNN) 和自然语言处理 (NLP) 相结合开发了进程感知 DNN。 这一模型可以将数值数据和文本数据结合处理,其准确率较其他模型提升了 15%。

同时他们将金属的物理化学特性转换为描述符,构建了特征变换 DNN, 可以用于预测训练集中不存在的元素对抗蚀性能的影响。这项研究已于 2023 年 8 月发表于《Science Advances》,标题为「Enhancing corrosion-resistant alloy design through natural language processing and deep learning」。

在这里插入图片描述

相关研究已发表于《Science Advances》

论文链接:
https://www.science.org/doi/10.1126/sciadv.adg7992

进程感知 DNN

模型设计

本研究数据集为 5 类 769 种合金的点蚀电位,数据集中包括数值数据、分类数据及文本数据。其中,数值数据被直接输入模型中,分类数据通过顺序编号转为数值输入模型,而文本型数据则通过 NLP 架构处理后输入模型。

NLP 架构主要分为三个部分,包括词汇标记、向量化和向量序列的处理。

词汇标记过程中,每个词汇被一个特定的整型数字 (integer token) 替换。通过词汇标记,一个词组或句子就被转换为一个整型向量 (integer vector)。

词汇标记之后,虽然文本数据转换成了数值,但数值之间没有任何关联,无法承载原文的语义。因此,整型向量会经过向量化转换为 n 维浮点型向量。在训练过程中, 每个词汇的权重被不断优化。训练完成后,向量间的接近度则对应着它们的语义相似性。

最后,n 维浮点型向量通过长短期记忆递归神经网络 (LSTM) 转换为单一向量,进入输入层。LSTM 可以通过门函数,识别词汇间的长期依赖性。因此,LSTM 可以从给定语句中找出关键的相关词汇,将语句中最重要的部分传递给 DNN 的输入层。

在这里插入图片描述

图 1:进程感知 DNN 模型结构

A:NLP 数据处理工作流
B:进程感知 DNN 模型示意图

训练及验证

训练之后,研究者对模型的绝对平均误差进行了汇总。进程感知 DNN 的平均绝对误差约 150 mV,较简单 DNN 降低了 20 mV。预测点蚀电位和实际点蚀电位之间的 R2 为 0.78 ± 0.06, 较简单 DNN 的 0.61 ± 0.04 更高。上述结果说明,在对文本数据进行分析之后,进程感知 DNN 的性能优于简单 DNN 模型。

在这里插入图片描述

图 2:进程感知 DNN 训练结果

A:训练及验证过程中的平均绝对误差,其中红线为简单 DNN 模型的平均绝对误差;
B:进程感知 DNN 与简单 DNN 模型的结果对比。

合金组分优化

为了对比进程感知 DNN 与简单 DNN 在合金组分优化过程中的差异,研究者从相似的合金组分开始,用相同的学习率,利用两种模型分别对合金组分进行了优化。

在这里插入图片描述

图 3:组分优化结果

A&B:铁基合金优化结果;
C&D:Ni-Cr-Mo 合金优化结果;
E&F:Al-Cr 合金优化结果;
G&H:高墒合金优化结果。

图中可以看到,两种模型对铁基合金和 FeCrNiCo 高墒合金的优化结果存在部分的相似性,但对其他两种合金的优化结果差异很大。 首先,进程感知 DNN 预测 Mo 元素含量增加,会显著提高铁基合金和 Ni-Cr-Mo 合金的点蚀电位。其次,进程感知 DNN 认为在 Ni-Cr-Mo 合金中,间隙氮和间隙碳可以提升合金的点蚀电位。最后,在 Al-Cr 合金中,Cu 元素也有利于点蚀电位的提升。这些都是简单 DNN 所忽视的。

特征变换 DNN

模型设计

通过合金组分特征化函数「WenAlloys」,合金的组分信息还可以被分解为一系列原子、物理及化学特性,并变换为不同的描述符,作为 DNN 模型的输入值。
在这里插入图片描述

表 2:部分特征的变换结果

其中 ci、ri、Xi 及 Ec,i 分别代表原子分数、原子半径、泡利电负性、元素结合能。

训练及验证

在这里插入图片描述

图 4:特征变换 DNN 的训练结果

A:模型训练及验证过程中的误差曲线;
B:训练之后预测点蚀电位和实际点蚀电位的回归曲线;
C:特征变换 DNN 及简单 DNN 的结果对比。

训练后,特征变换 DNN 的平均绝对误差约 168 mV,R2 为 0.66,性能较简单 DNN 模型略有提升。

特征变换 DNN 对抗蚀机制的分析

从五类合金中各选出一种进行特征变换,之后输入模型中进行优化。基于优化曲线,输入特征可以被分为两类。一类特征曲线在优化过程中变化显著,超出了训练集中的预期;另一类特征在优化过程中只有微小的变化。

在这里插入图片描述

图 5:不同输入特征的优化曲线

图中是 4 个优化过程中发生显著变化的特征,这意味着这些特征可能是提升合金点蚀电位的重要参数。

特征变换 DNN 对 Al-Cu-Sc-Zr 合金的预测

由于特征变换 DNN 的输入中只有组分的原子、物理及化学特征,因此它可以对训练集中不存在的元素进行预测。

在多种合金中,Sc 和 Zr 元素都展现出了对抗蚀性能的提升。因此,研究团队利用特征变换 DNN 对这两种元素对 Al-Cu 合金的影响进行了分析。

在这里插入图片描述

图 6:特征变换 DNN 对 Al-Cu-Sc-Zr 合金的点蚀电位预测结果

如图所示,随着 Zr 和 Sc 元素含量的增加,合金的点蚀电位不断提升,说明合金的抗蚀性能有所提高。这一结果验证了特征变换 DNN 对新元素的预测能力。

上述结果说明,将 NLP 与 DNN 结合之后,模型能够读取有关合金加工和测试方法的文本数据, 因此较传统的 DNN 模型性能更好,并能够发现简单 DNN 所忽略的元素对合金抗蚀性能的影响。而特征变换 DNN 则可以从合金的原子、物理及化学性质出发, 对训练集中不存在的元素的性能进行预测。

腐蚀:沉默的金属杀手

2009 年,世界腐蚀组织 (WCO) 将每年的 4 月 24 日确立为世界腐蚀日,以提升公众对腐蚀的认知。作为一种常见的化学现象,腐蚀存在于我们生活中的每个角落。无论是厨房的各种用具,还是家用的各类电器,还有横跨海陆空的的交通工具,乃至独具设计的各种建筑物,都饱受腐蚀的困扰。可以说,有金属的地方就有腐蚀。

金属腐蚀包括化学腐蚀和电化学腐蚀,其中电化学腐蚀的发生更为普遍,危害更大。电化学腐蚀是指两种金属在电解质溶液中形成回路,构成原电池,导致活泼金属被腐蚀的现象。常见的电化学腐蚀包括均匀腐蚀、点蚀、应力腐蚀、间隙腐蚀等。其中,非均匀腐蚀尤其是点蚀等不易被发现的腐蚀形式,对金属的危害更大,极易造成事故。
在这里插入图片描述

图 7:常见的电化学腐蚀类型

2013 年 11 月 22 日,山东省青岛市的输油管路由于长期处于高氯和干湿交替环境下,管壁腐蚀减薄,最终发生破裂,导致原油泄漏。之后的清理抢修过程中, 由于现场操作不当,导致原油爆燃,最终造成 62 人死亡,163 人受伤。

腐蚀往往难以察觉,因此避免腐蚀事故需要定期的人工检查和抢修,耗费大量的人力物力。现在,在 AI 的帮助下,我们可以对合金的组成进行优化,找到抗蚀性能更好的材料。 同时,数字化的腐蚀监测系统也正投入使用,帮助我们迅速定位腐蚀电位,让「沉默的杀手」不再沉默。

参考链接:

[1] http://impact.nace.org/documents/Nace-International-Report.pdf

[2] https://whatispiping.com/corrosion/?expand_article=1

[3] https://www.gov.cn/govweb/jrzg/2014-01/11/content_2564654.htm#:

本文首发于 HyperAI 超神经微信公众平台~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/971542.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app 之 tabBar 底部切换按钮

uni-app 之 tabBar 底部切换按钮 1693289945724.png {"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/home/home","style": {"navigatio…

如何打war包,并用war包更新服务器版本

1.打包,我用的maven打包 先执行clean将已经生成的包清除掉 清除完,点package进行打包 控制台输出success,证明打包成功了 文件名.war的后缀就是生成的war包 2.将war包上传致服务器 一般会在war包加上日期版本上传至服务器 解压上传的war…

SpringMVC之入门

目录 1.SpringMVC工作流程 2.SpringMVC核心组件 2.1 DispatcherServlet 2.2 HandlerMapping 2.3 Handler 2.4 HandlerAdapter 2.5 ViewResolver 2.6 View 3.SpringMVC的入门 3.1 添加相关依赖 3.2 创建Spring-mvc.xml 3.3 配置web.xml 3.4 效果演示 4.静态资源处…

uni-app 之 安装uView,安装scss/sass编译

uni-app 之 安装uView,安装scss/sass编译 image.png image.png image.png 点击HBuilder X 顶部,工具,插件安装,安装新插件 image.png image.png 安装成功! 注意,一定要先登录才可以安装 image.png 1. 引…

【树形权限】树形列表权限互斥选择、el-tree设置禁用等等

需求:按照权限管理配置的数据权限树展开;点击查看按钮后进入其他指定机构选择弹窗为一树形结构 本文章对项目中出现得关键点进行总结。 一、实现如上树形列表 在 element 官方表格示例中,实现树形表格列表数据渲染,非常简单。只…

Java分别用BIO、NIO实现简单的客户端服务器通信

分别用BIO、NIO实现客户端服务器通信 BIONIONIO演示(无Selector)NIO演示(Selector) 前言: Java I/O模型发展以及Netty网络模型的设计思想 BIO Java BIO是Java平台上的BIO(Blocking I/O)模型&a…

Go语言在机器学习中有未来吗?

Go 是一种开源编程语言,最初由 Google 设计,用于优化系统级服务的构建和使用、在大型代码库上轻松工作,以及利用多核联网机器。 Go 于 2009 年推出,作为一种静态类型和编译型编程语言,深受 C 语言的影响,注…

Prometheus + grafana 的监控平台部署

一、Prometheus安装 tar -zxvf prometheus-2.44.0.linux-amd64.tar.gz -C /opt/module/ sudo chown -R bigdata:bigdata /opt/module/prometheus-2.44.0.linux-amd64 mv /opt/module/prometheus-2.44.0.linux-amd64 /opt/module/prometheus-2.44.0 ln -s /opt/module/promethe…

【深入解析spring cloud gateway】02 网关路由断言

一、断言(Predicate)的意义 断言是路由配置的一部分,当断言条件满足,即执行Filter的逻辑,如下例所示 spring:cloud:gateway:routes:- id: add_request_header_routeuri: https://example.orgpredicates:- Path/red/{segment}filters:- AddR…

OCELOT: Overlapped Cell on Tissue Dataset for Histopathology

OCELOT dataset D { ( x s , y s c , x l , y l t , c x , c y ) i } i 1 N \mathcal{D} \left\{\left(\mathbf{x}_s, \mathbf{y}_s^c, \mathbf{x}_l, \mathbf{y}_l^t, c_x, c_y\right)_i\right\}_{i1}^{N} D{(xs​,ysc​,xl​,ylt​,cx​,cy​)i​}i1N​ x s ∈ R 1024 1…

修复中间件log4j漏洞方案(直接更换漏洞jar包)

说明: 后台服务里面的log4j漏洞我们已经全部升级处理了,但是一些中间件镜像包里的log4j漏洞需要单独处理 解决办法以ElasticSearch7.6.2为例: 方法: (1)找到容器里面有哪些旧的log4j依赖包 (…

023-从零搭建微服务-推送服务(三)

原【短信服务】更名【推送服务】 写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue 源码地址(前端)&a…

Java后端开发面试题——企业场景篇

单点登录这块怎么实现的 单点登录的英文名叫做:Single Sign On(简称SSO),只需要登录一次,就可以访问所有信任的应用系统 JWT解决单点登录 用户访问其他系统,会在网关判断token是否有效 如果token无效则会返回401&am…

图神经网络和分子表征:4. PAINN

如果说 SchNet 带来了【3D】的火种,DimeNet 燃起了【几何】的火苗,那么 PAINN 则以星火燎原之势跨入 【等变】时代。 在 上一节 中,我们提到, PAINN 在看到 DimeNet 取得的成就之后,从另一个角度解决了三体几何问题&a…

css3对文字标签不同宽,不同高使用瀑布流对齐显示

<div class"wrapper" style"padding: 0;"><span class"wf-item task-tags text-center" v-for"(item,index) in data.categorys" :key"index">{{ item }}</span> </div>/* 名称瀑布流显示 */ .wrap…

基于PyTorch的交通标志目标检测系统

一、开发环境 Windows 10PyCharm 2021.3.2Python 3.7PyTorch 1.7.0 二、制作交通标志数据集&#xff0c;如下图 三、配置好数据集的地址&#xff0c;然后开始训练 python train.py --data traffic_data.yaml --cfg traffic_yolov5s.yaml --weights pretrained/yolov5s.pt --e…

嵌入式基础知识-DMA

本篇来介绍DMA的一些基础知识。 1 DMA简介 DMA&#xff08;Direct Memory Access&#xff09;,中文名为直接内存访问&#xff0c;它是一些计算机总线架构提供的功能&#xff0c;能使数据从附加设备&#xff08;如磁盘驱动器&#xff09;直接发送到计算机主板的内存上。对应嵌…

(笔记七)利用opencv进行形态学操作

&#xff08;1&#xff09;程序清单 形态学操作是一种图像处理技术&#xff0c;它基于数学形态学理论&#xff0c;用于改变图像的形状和结构。它主要通过结构元素的腐蚀和膨胀操作来实现。 #!/usr/bin/env python # -*- coding:utf-8 -*- """ author: LIFEI t…

2023-9-4 最大公约数

题目链接&#xff1a;最大公约数 #include <iostream>using namespace std;int gcd(int a, int b) {return b ? gcd(b, a % b) : a; }int main() {int n;cin >> n;while(n--){int a, b;cin >> a >> b;cout << gcd(a, b) << endl;}return …

uniapp 处理 分页请求

我的需求是手机上一个动态滚动列表&#xff0c;下拉到底部时&#xff0c;触发分页数据请求 uniapp上处理分页解决方案 主要看你是如何写出滚动条的。我想到的目前有三种 &#xff08;1&#xff09;页面滚动&#xff1a;直接使用onReachBottom方法&#xff0c;可以监听到达底部…