第8章 AI代理、主动学习与贝叶斯优化

AI Agents, Active Learning and Bayesian Optimization
学习路径:AI代理 → 工具调用 → 主动学习 → 贝叶斯优化 → 成分—工艺优化 → 自动化材料研发闭环
@Shiyan Pan
CONTENTS

目录

  • 8.1 AI代理概念:规划、记忆、工具调用与反馈
  • 8.2 LLM + 工具调用:代码、数据库、文献检索、绘图
  • 8.3 主动学习:样本选择与实验设计 △
  • 8.4 贝叶斯优化:代理模型、采集函数、探索—利用平衡 △★
  • 8.5 材料成分—工艺参数优化案例
  • 8.6 自动化材料研发闭环:计算—实验—模型—反馈 ★

主线:让模型不只回答问题,而是能够围绕目标选择下一步实验或计算。

第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

本章知识地图

本章从“会回答的模型”推进到“会选择下一步行动的系统”。
问题目标
  ↓
代理规划:把目标分解为若干可执行步骤
  ↓
工具调用:检索、计算、绘图、数据库查询、实验控制
  ↓
主动学习 / 贝叶斯优化:选择最有价值的下一组样本
  ↓
材料研发闭环:计算—实验—模型—反馈
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.1 AI代理概念:从模型到行动系统

8.1 AI代理概念:规划、记忆、工具调用与反馈

从“回答问题”到“完成任务”。

第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.1.2 代理与聊天机器人的区别

对比项 普通聊天模型 AI代理
输入 用户问题 用户目标、工具环境、历史状态
输出 文本回答 文本、代码、检索、实验建议或动作
记忆 通常较弱 保留任务状态、阶段结果和偏好
工具 不一定使用 主动调用外部工具
反馈 主要依赖用户追问 根据工具返回结果自动修正
风险 幻觉、误解 幻觉 + 工具误用 + 错误执行

结论:代理不是“更会聊天”,而是更接近任务执行系统。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.1.3 代理的基本数学抽象

可把代理看作在状态空间中选择动作的系统:

π(atst)=AgentPolicy(st,g,mt)\pi(a_t \mid s_t) = \text{AgentPolicy}(s_t, g, m_t)

其中:

  • sts_t:第 tt 步的当前状态。
  • gg:任务目标。
  • mtm_t:第 tt 步可用记忆。
  • ata_t:代理选择的动作。
  • π\pi:动作选择策略。

执行动作后环境返回:

st+1=Env(st,at)s_{t+1} = \text{Env}(s_t, a_t)

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.1.5 记忆:短期、长期与任务记忆

记忆类型 作用 材料研发示例
短期记忆 保留当前对话与推理上下文 当前优化目标、最近一次候选参数
长期记忆 保留稳定偏好或长期知识 实验室常用材料体系、设备型号
任务记忆 保留项目过程记录 第几轮主动学习、哪些样本已测试
工具记忆 保留工具调用结果 数据库查询结果、代码运行输出

记忆不是简单存储文本,而要能被检索、更新和核验。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.1.9 AI代理在材料领域的作用层级

层级 能力 示例
信息辅助 检索、总结、整理 自动整理某合金体系文献
代码辅助 生成与调试脚本 数据清洗、模型训练、绘图
建模辅助 自动构建候选模型 比较 GPR、RF、SVR
决策辅助 推荐下一批样本 主动学习选择实验点
闭环执行 连接设备与数据库 自动化实验平台迭代优化

本章重点放在“建模辅助”和“决策辅助”。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.2 LLM + 工具调用:从文本到可执行任务

8.2 LLM + 工具调用

代码、数据库、文献检索、绘图。

第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.2.3 工具参数模式:为什么要结构化

结构化参数可以降低歧义。

示例:查询高氮钢数据时,不应只写“帮我查一下”。

更合理的参数:

{
  "alloy_system": "Fe-Cr-Mn-N",
  "target_property": "austenite_fraction",
  "temperature_range_K": [300, 1800],
  "process": "arc_additive_manufacturing"
}
结构化工具调用要求把自然语言需求转化为可验证的变量、范围和约束。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.2.4 代码工具:从问题到可运行程序

代码工具适合处理:

  • 数据清洗:单位换算、缺失值处理、异常值检测。
  • 模型训练:随机森林、GPR、神经网络。
  • 数值优化:网格搜索、贝叶斯优化。
  • 结果可视化:散点图、等值线图、误差图。

材料案例:

给定成分 xCrx_{\text{Cr}}xNix_{\text{Ni}}xMox_{\text{Mo}} 和热处理温度 TT,建立硬度预测模型并推荐下一组测试样本。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.2.5 Python工具调用示意

import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split

# 读取材料数据:成分、工艺、性能
df = pd.read_csv("materials_data.csv")
features = ["C", "Cr", "Ni", "Mo", "solution_T", "aging_t"]
X = df[features]
y = df["hardness_HV"]

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=0
)
model = RandomForestRegressor(n_estimators=300, random_state=0)
model.fit(X_train, y_train)
print(model.score(X_test, y_test))

此类代码可由 LLM 生成,但必须由解释器执行和验证。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.2.6 数据库工具:从文本查询到结构化结果

材料数据库工具可以回答:

  • 某晶体结构是否已被报道?
  • 某材料体系有哪些计算能量、带隙、形成焓?
  • 某实验室历史样本中哪些工艺参数接近当前候选点?

工具返回应尽量结构化:

字段 示例
material_id mp-xxxx 或实验样本编号
composition Fe-18Cr-8Ni
property 硬度、相分数、形成能
provenance 数据来源、实验者、文献 DOI
uncertainty 测量误差或模型预测标准差
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.2.9 工具调用中的单位一致性

材料数据中单位错误极常见。

变量 常见单位 风险
温度 C^{\circ}\text{C}K\text{K} 273.15 偏移被忽略
时间 s、min、h 时效时间尺度混乱
成分 wt.%、at.% 质量分数和原子分数混用
热输入 J/mm、kJ/mm 量级错误
强度 MPa、GPa 数值相差 10310^3

代理调用工具前应显式检查单位。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.2.10 工具调用结果的验证

工具返回结果后要做三类检查:

  1. 格式检查:字段是否完整,单位是否明确。
  2. 数值检查:结果是否落在物理合理范围。
  3. 逻辑检查:是否支持当前结论,是否存在反例。

材料例子:

  • 不锈钢硬度若预测为 5000 HV5000\ \text{HV},应触发异常警告。
  • 相分数若超过 11 或小于 00,说明模型或后处理错误。
  • 温度若低于室温却显示完全熔化,说明物理逻辑冲突。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3 主动学习:让模型主动选择样本

8.3 主动学习:样本选择与实验设计 △

有限预算下,优先获取最有价值的数据。

第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.1 被动学习与主动学习

传统监督学习通常假设训练数据已经给定。

主动学习则问:

如果只能再测 kk 个样本,应选择哪些样本才能最快提升模型?

学习方式 样本来源 适用情形
被动学习 随机或历史数据 数据量充足,采样成本低
主动学习 模型选择最有价值样本 标注或实验成本高
贝叶斯优化 选择最可能改善目标的样本 目标函数昂贵、需要优化

主动学习更关注“提升模型”,贝叶斯优化更关注“找到最优点”。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.3 主动学习的数学形式

设已标注数据集为 DL\mathcal{D}_L,未标注候选池为 DU\mathcal{D}_U

模型在 DL\mathcal{D}_L 上训练:

f^=Train(DL)\hat{f} = \text{Train}(\mathcal{D}_L)

查询策略从候选池中选择下一个样本:

x=argmaxxDUq(x;f^,DL)x^{\ast} = \arg\max_{x \in \mathcal{D}_U} q(x; \hat{f}, \mathcal{D}_L)

其中 q(x)q(x) 是样本价值函数,可表示不确定性、代表性或预期信息增益。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.4 不确定性采样

分类问题中,若模型对某样本最不确定,则该样本可能最有标注价值。

对于类别概率 p(y=cx)p(y=c \mid x),分类不确定性可写为:

U(x)=1maxcp(y=cx)U(x) = 1 - \max_c p(y=c \mid x)

选择:

x=argmaxxDUU(x)x^{\ast} = \arg\max_{x \in \mathcal{D}_U} U(x)

材料例子:

  • 显微组织图像分类中,模型无法确定“马氏体/贝氏体/铁素体”的图像优先人工标注。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.5 边际采样

若最高概率类别与第二高概率类别接近,则模型难以区分。

p1(x)p_1(x)p2(x)p_2(x) 为前两大类别概率,边际不确定性:

M(x)=p1(x)p2(x)M(x) = p_1(x) - p_2(x)

选择边际最小的样本:

x=argminxDUM(x)x^{\ast} = \arg\min_{x \in \mathcal{D}_U} M(x)

解释:

  • M(x)M(x) 越小,模型越难区分前两类。
  • 适合材料相组成、缺陷类型、组织类别识别。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.6 熵采样

信息熵衡量概率分布的不确定性:

H(x)=c=1Cp(y=cx)logp(y=cx)H(x) = -\sum_{c=1}^{C} p(y=c \mid x) \log p(y=c \mid x)

选择熵最大的样本:

x=argmaxxDUH(x)x^{\ast} = \arg\max_{x \in \mathcal{D}_U} H(x)

若类别概率接近均匀分布,则熵较大,说明模型缺乏判断依据。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.7 回归问题中的不确定性

材料性能预测多为回归问题,如强度、硬度、热导率。

若模型给出预测均值 μ(x)\mu(x) 与标准差 σ(x)\sigma(x)

y(x)N(μ(x),σ2(x))y(x) \sim \mathcal{N}\left(\mu(x), \sigma^2(x)\right)

可选择预测标准差最大的样本:

x=argmaxxDUσ(x)x^{\ast} = \arg\max_{x \in \mathcal{D}_U} \sigma(x)

含义:优先测试模型最不确定的材料组合。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.8 多样性采样:避免扎堆

只按不确定性选点,可能导致样本集中在很小区域。

多样性采样希望候选点之间保持距离:

D(x,S)=minxiSd(x,xi)D(x, \mathcal{S}) = \min_{x_i \in \mathcal{S}} d(x, x_i)

其中 S\mathcal{S} 是已选择样本集合。

常见策略:

  • K-means 聚类后选每个簇的代表点。
  • 最大最小距离采样。
  • 不确定性与多样性加权。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.9 信息增益思想

更严格的主动学习希望最大化新样本带来的信息增益。

可用熵变化表达:

IG(x)=H(θDL)Eyx[H(θDL{(x,y)})]\text{IG}(x) = H(\theta \mid \mathcal{D}_L) - \mathbb{E}_{y \mid x}\left[H(\theta \mid \mathcal{D}_L \cup \{(x,y)\})\right]

其中 θ\theta 表示模型参数或待估物理量。

直观含义:

选择一个样本,使观察它之后模型整体不确定性下降最多。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.11 主动学习代码示例:候选池选择

import numpy as np
from sklearn.ensemble import RandomForestRegressor

# X_labeled, y_labeled: 已测试样本
# X_pool: 未测试候选样本
models = []
for seed in range(20):
    rf = RandomForestRegressor(n_estimators=100, random_state=seed)
    rf.fit(X_labeled, y_labeled)
    models.append(rf)

# 用模型集成方差估计不确定性
preds = np.vstack([m.predict(X_pool) for m in models])
mu = preds.mean(axis=0)
sigma = preds.std(axis=0)

next_id = np.argmax(sigma)
x_next = X_pool[next_id]
print("下一组建议实验参数:", x_next)
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.3.12 主动学习的材料案例

目标:预测激光增材制造合金的硬度。

特征:

  • 成分:xNi,xCr,xMo,xNbx_{\text{Ni}}, x_{\text{Cr}}, x_{\text{Mo}}, x_{\text{Nb}}
  • 工艺:激光功率 PP、扫描速度 vv、层厚 hh
  • 组合变量:能量密度 E=P/(vh)E = P/(v h)

初始数据:20 组实验。

主动学习策略:

  • 用模型集成估计硬度预测不确定性。
  • 每轮选择 3 组高不确定且分散的候选参数。
  • 实验后更新模型。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4 贝叶斯优化:用不确定性指导最优搜索

8.4 贝叶斯优化 △★

代理模型、采集函数、探索—利用平衡。

第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.1 为什么需要贝叶斯优化

许多材料问题可以写成黑箱优化:

x=argmaxxXf(x)x^{\ast} = \arg\max_{x \in \mathcal{X}} f(x)

其中:

  • xx:成分、工艺或结构参数。
  • f(x)f(x):实验或仿真返回的性能指标。
  • X\mathcal{X}:满足约束的设计空间。

困难:

  • f(x)f(x) 不能解析表达。
  • 每次评估成本高。
  • 数据少且噪声存在。
  • 变量之间可能强非线性耦合。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.3 代理模型

代理模型要求:

  • 对未知点给出预测均值 μ(x)\mu(x)
  • 对未知点给出不确定性 σ(x)\sigma(x)
  • 能随新数据更新。

常用代理模型:

模型 优点 局限
高斯过程 天然给出不确定性 高维和大样本较困难
随机森林 鲁棒、适合非线性 不确定性需近似估计
贝叶斯神经网络 表达能力强 训练复杂
集成模型 易实现 不确定性校准需谨慎
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.4 高斯过程回归:基本定义

高斯过程可写为:

f(x)GP(m(x),k(x,x))f(x) \sim \mathcal{GP}\left(m(x), k(x,x')\right)

其中:

  • m(x)m(x):均值函数。
  • k(x,x)k(x,x'):核函数,描述样本之间的相似性。

常用核函数之一为径向基核:

k(x,x)=σf2exp(xx22l2)k(x,x') = \sigma_f^2 \exp\left(-\frac{\lVert x - x' \rVert^2}{2l^2}\right)

ll 为长度尺度,控制函数变化的平滑程度。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.5 高斯过程预测分布

给定训练数据 D={X,y}\mathcal{D}=\{X,y\},在新点 xx_* 处预测:

p(fx,X,y)=N(μ,σ2)p(f_* \mid x_*, X, y) = \mathcal{N}\left(\mu_*, \sigma_*^2\right)

其中预测均值和方差为:

μ=kT(K+σn2I)1y\mu_* = k_*^T (K + \sigma_n^2 I)^{-1} y

σ2=kkT(K+σn2I)1k\sigma_*^2 = k_{**} - k_*^T (K + \sigma_n^2 I)^{-1} k_*

均值用于利用,不确定性用于探索。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.6 探索与利用

贝叶斯优化的核心矛盾:

  • 利用:选择当前预测性能最好的区域。
  • 探索:选择不确定性大的区域,可能发现更优点。

极端策略的问题:

策略 问题
只利用 易陷入局部最优
只探索 浪费实验预算
随机搜索 忽视已有知识
网格搜索 高维空间成本指数增长

采集函数用于在二者之间折中。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.7 采集函数:概率改进 PI

设当前最佳观测值为 fbestf_{\text{best}}

概率改进定义为:

PI(x)=P(f(x)fbest+ξ)\text{PI}(x) = P\left(f(x) \ge f_{\text{best}} + \xi\right)

f(x)f(x) 的预测服从正态分布,则:

PI(x)=Φ(μ(x)fbestξσ(x))\text{PI}(x) = \Phi\left(\frac{\mu(x)-f_{\text{best}}-\xi}{\sigma(x)}\right)

其中 ξ\xi 控制改进阈值,Φ\Phi 是标准正态分布函数。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.8 采集函数:期望改进 EI

期望改进不仅考虑改进概率,也考虑改进幅度。

改进量:

I(x)=max(0,f(x)fbestξ)I(x) = \max\left(0, f(x)-f_{\text{best}}-\xi\right)

期望改进:

EI(x)=E[I(x)]\text{EI}(x) = \mathbb{E}\left[I(x)\right]

若预测为正态分布:

EI(x)=(μfbestξ)Φ(Z)+σϕ(Z)\text{EI}(x) = (\mu - f_{\text{best}} - \xi)\Phi(Z) + \sigma \phi(Z)

Z=μfbestξσZ = \frac{\mu - f_{\text{best}} - \xi}{\sigma}

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.9 采集函数:置信上界 UCB

置信上界采集函数:

UCB(x)=μ(x)+κσ(x)\text{UCB}(x) = \mu(x) + \kappa \sigma(x)

其中:

  • μ(x)\mu(x):预测均值,代表利用。
  • σ(x)\sigma(x):预测不确定性,代表探索。
  • κ\kappa:探索权重。

κ\kappa 较大时,算法更倾向探索高不确定区域。

κ\kappa 较小时,算法更倾向选择高预测性能区域。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.10 最小化问题的处理

许多材料问题是最小化:

  • 最小化腐蚀速率。
  • 最小化裂纹敏感性。
  • 最小化残余应力。
  • 最小化孔隙率。

可转换为最大化问题:

g(x)=f(x)g(x) = -f(x)

或者使用下置信界:

LCB(x)=μ(x)κσ(x)\text{LCB}(x) = \mu(x) - \kappa \sigma(x)

最小化时选择 LCB(x)\text{LCB}(x) 最小的点。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.11 约束贝叶斯优化

材料设计通常有约束。

例如:

maxxf(x)\max_x f(x)

s.t.gj(x)0,j=1,2,,m\text{s.t.}\quad g_j(x) \le 0,\quad j=1,2,\dots,m

约束可能包括:

  • 成分总和为 100%100\%
  • 元素含量处于标准范围。
  • 工艺参数不超过设备能力。
  • 相分数或裂纹倾向满足安全要求。

可用可行概率修正采集函数:

ac(x)=a(x)P(feasiblex)a_c(x) = a(x) P\left(\text{feasible} \mid x\right)

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.12 多目标贝叶斯优化

材料问题常有多个目标:

maxx[f1(x),f2(x),,fm(x)]\max_x \left[f_1(x), f_2(x), \dots, f_m(x)\right]

示例:

  • 最大化强度。
  • 最大化延伸率。
  • 最小化成本。
  • 最小化热裂倾向。

不能简单得到唯一最优解,而是得到 Pareto 前沿。

Pareto 最优:不存在另一个解在所有目标上都不差,并至少一个目标更好。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.13 贝叶斯优化代码:一维示意

import numpy as np
from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import RBF, ConstantKernel

# 已观测点
X = np.array([[0.1], [0.4], [0.8]])
y = np.sin(6 * X).ravel() + X.ravel()

kernel = ConstantKernel(1.0) * RBF(length_scale=0.2)
gp = GaussianProcessRegressor(kernel=kernel, alpha=1e-6, normalize_y=True)
gp.fit(X, y)

X_pool = np.linspace(0, 1, 200).reshape(-1, 1)
mu, std = gp.predict(X_pool, return_std=True)
ucb = mu + 2.0 * std
x_next = X_pool[np.argmax(ucb)]
print("建议下一个点:", x_next)
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.14 EI函数代码示例

import numpy as np
from scipy.stats import norm

def expected_improvement(mu, sigma, y_best, xi=0.01):
    sigma = np.maximum(sigma, 1e-12)
    z = (mu - y_best - xi) / sigma
    ei = (mu - y_best - xi) * norm.cdf(z) + sigma * norm.pdf(z)
    return ei

mu, std = gp.predict(X_pool, return_std=True)
y_best = np.max(y)
ei = expected_improvement(mu, std, y_best)
x_next = X_pool[np.argmax(ei)]
print("EI推荐点:", x_next)

注意:最大化目标使用上述形式;最小化问题需调整符号。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.4.16 贝叶斯优化与主动学习的区别

对比项 主动学习 贝叶斯优化
主要目的 提升模型整体性能 尽快找到最优点
样本选择依据 不确定性、代表性、信息增益 采集函数、改进概率、置信界
输出重点 更好的模型 更好的候选材料或工艺
典型问题 哪些样本最值得标注? 下一次实验选哪里更可能提升性能?
材料例子 补充组织图像标注 优化热处理温度和时间

二者可以结合:先主动学习建立可信模型,再用贝叶斯优化寻找最优区域。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5 材料成分—工艺参数优化案例

8.5 材料成分—工艺参数优化案例

从问题定义到可执行优化流程。

第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.1 案例问题:增材制造合金性能优化

目标:在有限实验预算下优化增材制造合金的强度和缺陷率。

设计变量:

  • 成分:xCr,xNi,xMo,xNx_{\text{Cr}}, x_{\text{Ni}}, x_{\text{Mo}}, x_{\text{N}}
  • 工艺:激光功率 PP、扫描速度 vv、层厚 hh、预热温度 TpT_p

性能指标:

  • 屈服强度 σy\sigma_y
  • 延伸率 δ\delta
  • 孔隙率 ϕp\phi_p
  • 奥氏体体积分数 fγf_\gamma
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.2 设计空间定义

设计空间不能随意设定,应来自材料与设备约束。

变量 范围 约束来源
xCrx_{\text{Cr}} 15–22 wt.% 不锈钢成分窗口
xNix_{\text{Ni}} 6–14 wt.% 奥氏体稳定性
xNx_{\text{N}} 0.05–0.40 wt.% 高氮钢溶解度与气孔风险
PP 150–350 W 设备功率
vv 300–1200 mm/s 熔池稳定性
hh 20–60 μm 铺粉与成形约束

约束越清晰,优化结果越可执行。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.3 派生特征:体能量密度

增材制造中常用体能量密度:

E=PvhtE = \frac{P}{v h t}

其中:

  • PP:功率。
  • vv:扫描速度。
  • hh:道间距。
  • tt:层厚。

注意:EE 是简化描述,并不能完全替代热传导、熔池流动和蒸发行为。

不能把能量密度相同的工艺视为物理等价,因为 $P$ 和 $v$ 对熔池形态影响不同。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.4 目标函数构造

若只考虑强度最大化:

f(x)=σy(x)f(x) = \sigma_y(x)

若同时考虑孔隙率惩罚:

f(x)=σy(x)λϕp(x)f(x) = \sigma_y(x) - \lambda \phi_p(x)

若考虑强塑积:

f(x)=σy(x)δ(x)f(x) = \sigma_y(x) \cdot \delta(x)

如果指标量纲差异大,应先标准化:

y~=yμysy\tilde{y} = \frac{y - \mu_y}{s_y}

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.5 初始实验设计

贝叶斯优化需要初始样本。

常见方式:

  • 随机采样:简单,但可能分布不均。
  • 拉丁超立方采样:更均匀覆盖各变量范围。
  • 正交设计:适合少量离散水平。
  • 历史数据:可利用已有实验,但需检查偏差。

建议:

初始样本数量可取变量维数的 2255 倍作为教学演示起点。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.6 代理模型训练

输入矩阵:

X=[x11x12x1dx21x22x2dxn1xn2xnd]X = \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d} \\ x_{21} & x_{22} & \cdots & x_{2d} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1} & x_{n2} & \cdots & x_{nd} \end{bmatrix}

目标向量:

y=[y1y2yn]Ty = \begin{bmatrix} y_1 & y_2 & \cdots & y_n \end{bmatrix}^T

训练代理模型:

f^=Train(X,y)\hat{f} = \text{Train}(X,y)

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.7 候选点生成

候选点必须满足约束。

import numpy as np

rng = np.random.default_rng(0)
N = 5000
X_pool = np.column_stack([
    rng.uniform(15, 22, N),      # Cr wt.%
    rng.uniform(6, 14, N),       # Ni wt.%
    rng.uniform(0.05, 0.40, N),  # N wt.%
    rng.uniform(150, 350, N),    # P W
    rng.uniform(300, 1200, N),   # v mm/s
    rng.uniform(20, 60, N)       # h micrometer
])

实际研究中还需加入相图、设备、成形质量等可行性约束。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.8 使用 GPR 推荐下一组实验

from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import Matern, ConstantKernel

kernel = ConstantKernel(1.0) * Matern(length_scale=np.ones(X_train.shape[1]), nu=2.5)
gp = GaussianProcessRegressor(kernel=kernel, alpha=1e-4, normalize_y=True)
gp.fit(X_train, y_train)

mu, std = gp.predict(X_pool, return_std=True)
ucb = mu + 1.96 * std
best_idx = np.argmax(ucb)
print("推荐实验点:", X_pool[best_idx])
print("预测均值:", mu[best_idx], "预测标准差:", std[best_idx])
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.9 可行性过滤

优化推荐点不一定可制备。

可行性过滤包括:

  • 成分约束:元素总量、杂质上限。
  • 相稳定性:避免明显不可接受相区。
  • 工艺约束:设备功率、扫描速度范围。
  • 成形质量:避免过低或过高能量输入。
  • 安全约束:气体、粉末、热源风险。

可写为:

Xvalid={xXgj(x)0,j=1,,m}\mathcal{X}_{\text{valid}} = \{x \in \mathcal{X} \mid g_j(x) \le 0, j=1,\dots,m\}

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.10 多目标优化:强度与塑性

若同时优化强度和延伸率:

maxx[σy(x),δ(x)]\max_x \left[\sigma_y(x), \delta(x)\right]

可采用:

  • 加权和:f(x)=w1σ~y(x)+w2δ~(x)f(x)=w_1\tilde{\sigma}_y(x)+w_2\tilde{\delta}(x)
  • 约束形式:最大化强度,同时要求延伸率 δ15%\delta \ge 15\%
  • Pareto 前沿:给出一组互不支配方案。

课堂教学可先使用加权和,再引入 Pareto 思想。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.5.11 多保真优化

材料研发中数据来源保真度不同。

数据源 成本 保真度 示例
经验公式 Schaeffler 图谱估计相组成
CALPHAD 平衡相分数、Scheil 凝固
有限元/相场 中高 温度场、组织演化
实验 最高 显微组织、力学性能

多保真优化目标:用低成本数据缩小搜索区域,用高保真数据验证关键点。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.6 自动化材料研发闭环

8.6 自动化材料研发闭环 ★

计算—实验—模型—反馈。

第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.6.4 模型在闭环中的位置

模型不是闭环的终点,而是决策部件。

环节 模型作用
候选生成 过滤明显不可行设计
性能预测 估计目标值
不确定性评估 判断知识盲区
采集函数 选择下一轮样本
数据质控 识别异常结果
机理解释 辅助判断规律是否物理合理

模型必须随新数据持续更新。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.6.5 数据入库与元数据

闭环系统必须记录元数据。

数据类型 应记录内容
成分数据 nominal composition、measured composition、单位
工艺数据 设备、参数、时间、环境
表征数据 仪器、倍率、区域、图像处理方法
性能数据 测试标准、试样尺寸、重复次数
模型数据 模型版本、训练集、超参数、指标
优化数据 采集函数、候选池、推荐理由

没有元数据,闭环结果难以复现。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.6.7 闭环停止准则

闭环何时停止?

常见准则:

  • 实验预算耗尽。
  • 连续若干轮没有显著改进。
  • 最优值达到预设阈值。
  • 模型不确定性降至可接受范围。
  • 推荐点开始重复集中。
  • 专家判定已进入工程验证阶段。

可写为:

Δft=fbest,tfbest,t1\Delta f_t = f_{\text{best},t} - f_{\text{best},t-1}

若连续 rr 轮满足 Δft<ϵ\Delta f_t < \epsilon,可停止优化。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

8.6.9 闭环研发 Python 伪代码

for round_id in range(max_rounds):
    # 1. 训练或更新代理模型
    model.fit(X_train, y_train)

    # 2. 在候选池上预测均值和不确定性
    mu, std = model.predict(X_pool, return_std=True)

    # 3. 计算采集函数
    acquisition = mu + kappa * std

    # 4. 可行性过滤
    acquisition[~valid_mask] = -np.inf

    # 5. 选择下一批样本
    selected = np.argsort(acquisition)[-batch_size:]
    X_next = X_pool[selected]

    # 6. 执行实验或计算,并加入数据库
    y_next = run_experiment_or_simulation(X_next)
    X_train, y_train = update_dataset(X_train, y_train, X_next, y_next)
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

概念辨析:AI代理、主动学习、贝叶斯优化

概念 核心问题 典型输出
AI代理 下一步该执行什么动作? 工具调用、计划、报告
主动学习 下一批标注或实验样本选哪些? 最有信息量的样本
贝叶斯优化 下一次评估哪里更可能找到更优解? 最有希望改进目标的点
自动化闭环 如何持续迭代改进? 计算—实验—模型—反馈流程

三者结合后,材料研发从“经验试错”逐步走向“数据驱动的序贯决策”。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

Python编程作业:主动学习 + 贝叶斯优化演示

任务:构造一个简化的“材料性能函数”,模拟有限实验预算下的序贯优化。

要求:

  1. 令设计变量为 x1x_1x2x_2,分别代表成分参数与工艺参数。
  2. 构造未知目标函数:

f(x1,x2)=sin(3x1)+cos(4x2)0.2(x11)20.1(x2+1)2f(x_1,x_2)=\sin(3x_1)+\cos(4x_2)-0.2(x_1-1)^2-0.1(x_2+1)^2

  1. 随机选择 5 个初始样本训练高斯过程模型。
  2. 用 UCB 或 EI 每轮推荐 1 个新样本。
  3. 迭代 15 轮,绘制历史最佳值随轮数变化曲线。
  4. 比较随机采样与贝叶斯优化的差异。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

作业提示:程序结构

1. 生成候选池 X_pool
2. 随机选取初始样本 X_train, y_train
3. for 每一轮:
      训练 GaussianProcessRegressor
      预测候选池的 mu 和 std
      计算 UCB = mu + kappa * std
      选择 UCB 最大的点
      计算真实函数值并加入训练集
      记录当前 best_y
4. 绘制 best_y 与迭代轮数的关系

扩展:

  • 改变 κ\kappa,观察探索强度对优化结果的影响。
  • 加入噪声,观察贝叶斯优化稳定性。
《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

参考阅读与工具

  • OpenAI Function Calling / Tools:理解 LLM 如何连接外部系统。
  • OpenAI Agents SDK:理解代理工具、运行状态和工具执行。
  • scikit-learn GaussianProcessRegressor:实现高斯过程回归。
  • modAL:实现主动学习流程。
  • BoTorch:实现更复杂的贝叶斯优化与采集函数。
  • scikit-optimize:实现入门级贝叶斯优化。

课堂建议:先用 scikit-learn 写清楚原理,再逐步引入 BoTorch 等工程化工具。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

补充案例1:焊接工艺参数优化

目标:降低孔隙率并提高熔深稳定性。

变量:电流 II、电压 UU、焊接速度 vv、保护气流量 QQ

可构造目标:

f(x)=ϕp(x)λd(x)d0f(x)= -\phi_p(x) - \lambda \left|d(x)-d_0\right|

其中 ϕp\phi_p 为孔隙率,dd 为熔深,d0d_0 为目标熔深。

推荐流程:先用有限元或 Fluent 结果构建代理模型,再少量实验校正。

《人工智能与大数据》 | 第8章
第8章 AI代理 工具调用 主动学习 贝叶斯优化 材料优化 闭环研发

补充案例2:热处理制度优化

目标:获得高硬度且保留足够韧性。

变量:固溶温度、固溶时间、时效温度、时效时间。

可设多目标:

maxx[H(x),KIC(x)]\max_x \left[H(x), K_{IC}(x)\right]

或者约束优化:

maxxH(x),s.t.KIC(x)K0\max_x H(x),\quad \text{s.t.}\quad K_{IC}(x) \ge K_0

适合用贝叶斯优化减少热处理实验次数。

《人工智能与大数据》 | 第8章

最后一页

谢谢

请完成本章 Python 编程作业:主动学习与贝叶斯优化演示。