【人工智能驱动的电催化研究-01】人工智能是什么?AI、机器学习、深度学习和神经网络之间有什么区别?

第一节课:人工智能是什么?AI、机器学习、深度学习和神经网络之间有什么区别?

假设你正在研究一种析氢电催化剂。为了提高性能,你尝试改变金属组成、合成温度和处理时间,随后测量不同样品的电化学性能。

随着实验增加,你逐渐积累了一张数据表:每一行代表一个样品,每一列记录一种信息,例如组成、结构、电解液条件以及测试结果。

现在,你面临一个实际问题:能不能利用已有实验,帮助判断下一批应该优先制备哪些样品?

人工智能可以参与解决这类问题。但在使用它之前,我们首先需要弄清楚:人工智能究竟是什么?它与机器学习、神经网络和深度学习有什么关系?

这节课从这些最基本的问题开始。

1.人工智能:让计算机具备完成某类任务的能力

人工智能的英文是 Artificial Intelligence,简称 AI。

它研究如何让计算机系统完成通常需要感知、推理、学习、规划或决策的任务。

例如,识别显微图像中的结构、判断实验记录是否异常、预测一种材料的性能,或者帮助安排下一轮实验,都可以成为人工智能研究的任务。

这里需要注意:"人工智能"描述的是一个广泛的研究领域,不能把它理解为某一个软件或者某一种算法。

"算法"可以先理解为完成任务的一套明确步骤。例如,根据一组测量值计算平均数,也需要按照一定步骤进行。

不过,普通计算不必都叫人工智能。

假设电流为 \(0.02\ \mathrm{A}\),电极面积为 \(2\ \mathrm{cm^2}\),按照公式计算电流密度:

\ j=\\frac{I}{A}=\\frac{0.02}{2}=0.01\\ \\mathrm{A/cm\^2} \\

其中,\(j\) 是电流密度,\(I\) 是电流,\(A\) 是电极面积。

这只是按照已知公式完成计算。计算机没有从数据中学习任何新规则。

因此,使用计算机不等于使用人工智能,使用Python也不等于使用人工智能。 Python是一种编程语言,既能完成普通计算,也能实现人工智能方法。

2.机器学习:让数据帮助确定规则

机器学习的英文是 Machine Learning,简称 ML。它是人工智能中的一类方法。

理解机器学习,可以先比较两种解决问题的方式。

第一种方式是由研究者直接写规则。例如:

"如果某个描述符处于指定区间,就给出较高的活性预测;否则给出较低的预测。"

规则由人提前确定,计算机负责执行。

第二种方式是提供已有记录,让计算机通过这些记录确定模型中的数值,再用得到的模型预测其他样品。

这种利用数据确定或改进预测规则的过程,就是机器学习的基本思想。关于机器学习从经验中改善任务表现的讨论,可参考 Jordan与Mitchell发表于Science的综述。

但是,"让计算机学习"并不意味着研究者什么都不用做。

研究者仍然需要决定:预测什么、使用哪些数据、怎样表示材料、选择什么模型,以及如何检查预测是否可靠。

例如,"预测催化剂性能"还不是一个足够明确的任务。你需要进一步说明:

  • 研究的是析氢、析氧,还是其他反应?
  • 预测的是过电位、交换电流密度,还是产物选择性?
  • 电解液、温度和测试方法是什么?
  • 模型准备预测同类样品,还是完全不同的材料体系?

机器学习需要清楚的问题定义,才能产生有意义的结果。

3.理解机器学习,先认识几个基本词语

我们仍然以电催化性能预测为例。

样本是一条按照明确规则组织的记录。它可以代表一个样品,也可以代表一次实验工况,但必须提前说明。

同一个材料在十个电位下得到十个测量点,不等于拥有十种相互独立的材料。

特征是提供给模型的输入信息。例如,材料组成、粒径、局部配位、电解液浓度和温度,都可能成为特征。

标签是希望模型预测的答案。例如,你想预测固定电流密度下的过电位,那么这个过电位就是目标标签。

模型是把输入信息转化为预测结果的数学规则。

参数是模型内部需要确定的数值。

利用训练数据确定参数的过程叫作训练 ;参数确定后,对输入计算结果叫作预测。

最后,还需要使用适当独立的数据检查模型,这叫作验证或评估。

可以把整个过程理解为:

\ \\text{已有数据} \\longrightarrow \\text{确定模型参数} \\longrightarrow \\text{预测新样本} \\longrightarrow \\text{检查预测误差} \\

其中最容易被忽略的是最后一步。

模型能够输出一个数字,不代表这个数字值得相信。

4.神经网络:机器学习中一类可学习的数学模型

神经网络的英文是 Neural Network,简称 NN。本课程讨论的是人工神经网络。

它由许多简单的计算单元连接而成。每个单元接收输入,对输入进行计算,再把结果传给其他单元。

我们先看一个最简单的计算单元:

\ z=w_1x_1+w_2x_2+b \\

这个公式可以逐项理解:

  • \(x_1、x_2\):两个输入数值。
  • \(w_1、w_2\):两个权重,决定输入怎样影响计算结果。
  • \(b\):偏置,是一个额外的调整量。
  • \(z\):加权相加后得到的中间结果。

为了只关注运算,先假设这些数值都没有单位。

取:

\ x_1=2,\\quad x_2=1,\\quad w_1=0.5,\\quad w_2=-1,\\quad b=1 \\

代入可得:

\ z=0.5\\times2+(-1)\\times1+1=1 \\

接下来,计算单元通常还会对 \(z\) 做一次变换:

\ a=\\sigma(z) \\

其中,\(\sigma\) 表示一个变换规则,叫作激活函数;\(a\) 是该单元的输出。

例如,可以采用"负数变成0,非负数保持不变"的规则。这个规则称为ReLU。因为刚才得到的 \(z=1\),所以输出仍然是1。

今天不需要记住更多激活函数。你只需要理解:神经网络由许多可以调整内部参数的计算单元组成。

训练神经网络,就是利用数据调整这些权重、偏置等参数,使预测误差按照指定目标减小。

神经网络受生物神经系统启发,但它不是对人脑的准确复制,也不能因为名字里有"神经",就认为它理解了化学机理。

5.深度学习:通过多层网络学习数据表示

深度学习的英文是 Deep Learning,简称 DL。

它主要利用多层神经网络,逐层学习数据的表示。

"表示"是什么意思?

同一块催化剂,可以用不同方式描述:材料名称、元素比例、一组结构参数、一张显微图像,或者一条光谱。这些都是计算机接触材料信息的方式。

对于一张图像,多层网络可以逐步把原始像素转化为有助于完成任务的内部信息。这种逐层学习表示的思想,是深度学习的重要特点。LeCun等人在Nature的综述对此作了系统介绍。

但不能直接断言:"这一层一定代表缺陷,那一层一定代表活性位点。"这样的解释需要证据。

网络更深,也不意味着预测一定更好。样本较少时,复杂网络可能只是记住已有记录中的偶然变化,在新材料上表现很差。

因此,是否使用深度学习,应由问题、数据和验证结果决定。

6.四个概念之间究竟是什么关系?

可以用下面这张表区分:

概念 它主要说明什么?
人工智能 计算机系统要完成什么感知、推理、学习或决策任务
机器学习 怎样利用数据确定或改进模型
神经网络 使用哪一类数学模型
深度学习 怎样通过多层神经网络学习数据表示

在本课程采用的常见语境中:

人工智能包含机器学习;机器学习包含神经网络等多种方法;深度学习主要使用多层神经网络。

所以,神经网络不一定是深度学习,机器学习也不一定使用神经网络。

例如,线性回归和决策树也可以用于机器学习。你现在只需要知道它们是其他模型的名称,后续课程会从基础讲起。

图1是本课采用的现代神经网络语境:AI包含ML;ML中有神经网络,也有许多非神经网络方法;深度学习主要位于多层神经网络范围内。神经网络不一定深,机器学习不一定用神经网络,AI也不一定使用机器学习。不要画成"AI→ML→DL→NN"四个严格依次包含的圆。

7.把概念放回真实电催化研究

2007年,Jaramillo等研究了二硫化钼,也就是MoS₂的析氢活性。他们结合结构表征和电化学测量,发现其研究样品中的活性与边缘位点数量相关。文献信息见原论文机构记录。

这是一项结构与活性关系研究,并不是本课已经复现的机器学习成果。

但它能启发一个值得检验的问题:

如果把边缘位点信息加入模型,能否比只使用材料总面积更好地预测同类样品的活性?

这时,边缘位点信息可以成为候选特征,明确条件下的活性可以成为标签。

不过,还必须考虑其他因素,例如电解液、载量、导电支撑和测试电位。如果这些因素同时变化,就不能把全部活性差异归因于边缘位点。

这说明,AI方法必须围绕电催化问题组织。输入什么数据,比使用一个听起来高级的算法名称更重要。

8.第一次学习实践:让程序学一个平均数

机器学习的起点可以非常简单,并不需要立即训练神经网络。

我们使用Nørskov等2005年论文Table I中的少量析氢数据。这些记录包含计算得到的吸附能和汇编的实验交换电流数据。原论文DOI。

本课先取六条训练标签:

\ -5.4,\\;-3.0,\\;-3.6,\\;-3.7,\\;-5.9,\\;-6.8 \\

这些标签是交换电流密度的十进对数,记为:

\ y=\\log_{10}\\left\[\\frac{j_0}{1\\ \\mathrm{A/cm\^2}}\\right \]

其中,\(j_0\) 是交换电流密度。括号中的比值没有单位,因此可以取对数。

例如,\(y=-3\) 表示:

\ j_0=10\^{-3}\\ \\mathrm{A/cm\^2}=0.001\\ \\mathrm{A/cm\^2} \\

负的是对数,不是交换电流密度本身。

现在定义一个极简单的模型:无论输入哪种材料,都预测同一个数 \(b\)。我们让训练数据的平均值决定这个数。

先求和:

\ -5.4-3.0-3.6-3.7-5.9-6.8=-28.4 \\

再除以样本数:

\ b=\\frac{-28.4}{6}=-4.733333\\ldots \\

这就是一次最简单的参数学习:参数 \(b\) 由训练数据确定。

它没有利用吸附能,也没有区分材料,因此预测能力很有限。这样的简单模型叫作基线模型,用于给后续方法提供比较参照。

下面是一段完整、可运行的Python代码:

复制代码
# 六条训练标签
train_y = [-5.4, -3.0, -3.6, -3.7, -5.9, -6.8]

# 从训练数据中确定一个参数
b = sum(train_y) / len(train_y)

# 两条没有参与求平均值的测试标签
pt_y = -3.1
ni_y = -5.2

# 常数模型对两个材料都预测同一个数
pt_prediction = b
ni_prediction = b

# 计算绝对误差
pt_error = abs(pt_prediction - pt_y)
ni_error = abs(ni_prediction - ni_y)

# 计算平均绝对误差
mae = (pt_error + ni_error) / 2

print("训练得到的平均值:", round(b, 6))
print("Pt的绝对误差:", round(pt_error, 6))
print("Ni的绝对误差:", round(ni_error, 6))
print("平均绝对误差:", round(mae, 6))

这里,方括号把几个数组织成一个列表;`sum`求和,`len`计算数量,`abs`取绝对值,`print`显示结果,`round`控制显示的小数位数。`=`表示把右边的计算结果赋给左边的变量;以`#`开头的是解释性注释。

运行结果为:

复制代码
训练得到的平均值: -4.733333
Pt的绝对误差: 1.633333
Ni的绝对误差: 0.466667
平均绝对误差: 1.05

平均绝对误差的英文缩写是 MAE。它先计算每个预测与观察值之间的绝对距离,再取平均:

\ \\mathrm{MAE} =\\frac{\|\\hat y_1-y_1\|+\|\\hat y_2-y_2\|}{2} \\

其中,\(\hat y\) 表示预测值,\(y\) 表示观察值,竖线表示绝对值。

本例的误差在对数尺度上,不能写成"1.05 A/cm²",也不能把它直接换成"准确率"。

更重要的是:这些数据来自文献汇编,逐行实验条件并不完整,测试也只有两个例子。因此,这次练习只能帮助理解学习流程,不能证明模型能可靠筛选未知催化剂。

9.本节课的练习与验收

请完成下面五项任务:

  1. 用自己的话解释AI、机器学习、神经网络和深度学习的关系。
  2. 在你的研究方向中,提出一个明确的预测任务,说明输入、输出和实验条件。
  3. 不看代码,手算六条训练标签的平均值及两个测试样本的绝对误差。
  4. 亲自运行代码,指出哪一步在确定参数,哪一步只是在检查预测。
  5. 说明为什么"模型已经学到参数"不能直接推出"模型具有可靠预测能力"。

本节课通过的标准是:你能准确区分四个概念,解释训练与预测的区别,完成平均值和误差计算,并指出当前数据与验证的局限。

今天最需要建立的认识是:人工智能可以帮助研究者从数据中寻找规律;规律是否可靠,必须通过与科学问题相匹配的验证来判断。

相关推荐
xsd2024111829 分钟前
VLX-VR:帮你从视频里找出 SOP 的隐藏风向
人工智能
loulanyue_33 分钟前
AI Agent记忆从不是向量库:Oracle拆解读写分离与记忆晋升门,终结无脑存聊天的伪智能——读Wojtek Pluta演讲
数据库·人工智能·oracle
A7bert77739 分钟前
【MobileSAM部署至RK3588】环境适配→转换RKNN→开发板部署
c++·人工智能·深度学习·目标检测·ubuntu
Ada's41 分钟前
【公司系列】001:墨芯科技
人工智能·科技
HANDY092001 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
lucas_AI1 小时前
想公开警告 AI 风险?先看看你的合同:DeepMind 员工抗议「终身禁言条款」
人工智能
阿文和她的Key1 小时前
算力零售化的四层架构:从 0.01 元月卡看 AI 服务的计量、履约与复购
人工智能·架构·零售
ss2731 小时前
不用向量库,我用 MySQL 跑通了蔬菜 RAG--基于 RuoYi-AI 的蔬菜种植知识库 + 智能咨询系统,普通开发机就能跑
数据库·人工智能·智慧农业·ruoyi·知识库·rag