物理国家级实验教学示范中心(浙江工业大学)

物理国家级实验教学示范中心(浙江工业大学)
National Demonstration Center for Experimental Physics Education
(ZHEJIANG UNIVERSITY OF TECHNOLOGY)

 所在位置:首页 >中心动态
中心动态
2024-2-25-2学年教学工作讨论会
浏览量:133    发布时间:2025-02-21    来源:本站

       2025.2.19 上午教学组织举办了一次教研活动,对2025年的教学内容和教学计划开展了一次讨论会。主要就新的实验绪论教学内容的修订和实施进行了集中备课讨论,讨论了人工智能(AI)技术在实验数据处理中的一些应用。

        同时探讨了数字化实验教学的一些尝试,准备在已有的数字化实验(1)PASCO组合力学实验(2)PN结特性数字化实验(3)弗兰克-赫兹数字化实验(4)光电效应数字化实验(6)巨磁电阻特性数字化实验(6)太阳能新能源电池特性(7)燃料电池特性等实验中开展数字化电子报告和数字化实验预习的教学模式,促进教师和学生数字化技术的应用。

        在讨论中,将继续完善和加大使用实验中心数字化教学管理平台,开展基于远程共享操作的(1)数字示波器和数字信号发生器、(2)分光计、(3)读数显微镜、(4)伏安曲线测试、(5)激光纵模测量实验、(6)固体激光调Q实验等实验,方便学生随时开展实验。

        同时在教师授课时,鼓励教师积极使用课堂演示录播台(1)分光计实验实时课堂演示录播台、(2)迈克尔逊实验实时课堂演示录播台,提高教学的互动性。

        在随后的教学团队会议上,将新的教学内容、教学计划和团队老师进行了讨论。

用AI技术处理最小二乘法示例

       可以借助人工智能的神经网络训练模型,让模型来自己找到合适的描述函数。用神经网络的训练模型框架pytorch来测试,这些代码也是让AI生成的。

import torch

import torch.nn as nn

import torch.optim as optim

from torch.optim import lr_scheduler

# 定义线性模型

class LinearRegression(nn.Module):

    def __init__(self):

        super(LinearRegression, self).__init__();

        self.linear = nn.Linear(1, 1)

 

    def forward(self, x):

        return self.linear(x)

# 准备数据

data = [(18.3, 32.55), (30.4, 34.4), (38.3, 35.25), (52.3, 37.15), (62.2, 39.00)]

x_data = torch.tensor([[d[0]] for d in data], dtype=torch.float32)

y_data = torch.tensor([[d[1]] for d in data], dtype=torch.float32)

# 数据归一化

x_mean = x_data.mean()

x_std = x_data.std()

x_data = (x_data - x_mean) / x_std

# 初始化模型、损失函数和优化器

model = LinearRegression()

criterion = nn.MSELoss()

optimizer = optim.Adam(model.parameters(), lr=0.01)

scheduler = lr_scheduler.StepLR(optimizer, step_size=1000, gamma=0.9)

# 训练模型

num_epochs = 20000

for epoch in range(num_epochs):

    # 前向传播

    y_pred = model(x_data)

    loss = criterion(y_pred, y_data)

    # 反向传播和优化

    optimizer.zero_grad()

    loss.backward()

    optimizer.step()

    scheduler.step()

    if (epoch + 1) % 1000 == 0:

        print(f'Epoch [{epoch + 1}/{num_epochs}], Loss: {loss.item():.4f}')

# 获取拟合参数

a = model.linear.weight.item()

b = model.linear.bias.item()

# 还原归一化影响

a = a / x_std

b = b - a * x_mean

print(f'拟合参数 a: {a}, b: {b}')

运行结果:

Epoch [20000/20000], Loss: 0.0270

拟合参数 a: 0.1428, b: 29.9149

   神经网络训练时,由于该模型输入数据量比较少,需要较多的训练时间才能得到和解析解近似的结果,所以要进行多次调试,可以根据Loss的大小调整Epoch的大小。下图是解析解结果绘图,对比可见,AI算法的结果还是比较准确的。

fit.png