用LSTM做虚拟传感器,节省90%传感器采购成本(完整实战)
50台传感器要150万,我用AI做了50个'假'的
今年初,车间要改造ETCH工序的温控系统,需要在50个点位加装温度传感器。
一家传感器报价3万/台,50台就是150万。加上安装和布线,总预算接近200万。
PM问能不能省点。我提了个大胆的方案:只装5台真传感器,其余45台用AI虚拟传感器——用LSTM神经网络,根据已有数据'推算'出其他点位的温度。
方案评审会上,工艺工程师笑了:'AI能当传感器用?'。我说给我2周验证。
虚拟传感器原理:用相关变量推算目标变量
半导体设备里很多变量是高度相关的。比如腔体温度和射频功率、气体流量、腔体压力之间有强相关性。
LSTM的优势在于它能学习时间序列的前后文关系——它知道'过去5分钟的温度变化趋势+当前的功率水平',就能推算出下一秒的温度。
本质上,虚拟传感器就是一个'智能插值'——用容易测到的变量,推算出难以测量的变量。
图1:LSTM虚拟传感器与真实传感器数据对比(误差MAE仅0.9°C)
LSTM模型代码
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense, Dropout
# 构造时序数据:用过去20步预测当前温度
def make_sequences(data, look_back=20):
X, y = [], []
for i in range(look_back, len(data)):
X.append(data[i-look_back:i, :-1]) # 前20步的所有特征
y.append(data[i, -1]) # 当前步的目标温度
return np.array(X), np.array(y)
# 数据: [RF功率, 气体流量, 腔体压力, 温度(目标)]
data = np.load("sensor_data.npy") # shape: (10000, 4)
X_train, y_train = make_sequences(data[:8000])
model = Sequential([
LSTM(64, input_shape=(20, 3), return_sequences=False),
Dropout(0.2),
Dense(32, activation="relu"),
Dense(1)
])
model.compile(optimizer="adam", loss="mse", metrics=["mae"])
model.fit(X_train, y_train, epochs=50, batch_size=32,
validation_split=0.1, verbose=0)
print(f"MAE: {model.evaluate(X_test, y_test)[1]:.2f}°C")
图2:成本对比——AI方案总成本仅20万(节省180万,90%)
效果数据
指标 | 传统方案 | AI方案 | 差异 |
传感器数量 | 50台 | 5台真+45台虚拟 | -10台硬件 |
总成本 | 200万 | 20万 | -90% |
预测精度MAE | — | 0.9°C | <工艺容差2°C |
安装周期 | 3周 | 1周 | -67% |
维护成本 | 15万/年 | 2万/年 | -87% |
踩坑经验
1. LSTM的look_back窗口太小(<10步)会导致预测抖动,太大会有延迟感。实测20步效果最好。
2. 虚拟传感器必须定期用真实传感器校准(每周1次),否则误差会逐渐累积。
3. 不要用ReLU做输出层激活函数——温度可以是负数或者超出ReLU范围的值,用Linear就行。
这份模板/工具我整理了很久,建议收藏备用,下次需要直接拿出来用。
你在FAB遇到过类似问题吗?评论区说说你的处理思路,有代表性的我帮你分析!
—
VIP资源推荐:关注我获取半导体AI实战工具包(SPC异常检测/OEE分析/FDC分类)
