神经网络应用于材料力学

一、导入库

二、构建神经网络

三、求导函数

四、计算膜能量和弯曲能量

五、生成数据

六、训练网络

七、预测位移

八、可视化

九、总结

第一阶段训练

目标:最小化与目标函数的均方误差。

  • 在第一阶段,您通过 Net_w 预测输出 W,并计算损失 loss,该损失是基于目标函数(一个余弦波形)与网络输出之间的均方误差。具体而言,您希望神经网络能够逐步拟合特定的初始屈曲模式,以使其输出接近目标函数。

  • 这个过程可以帮助网络初步学习并接近问题的解决方案,形成一个合理的初始状态。通常,在复杂的优化问题中,使用简单的目标函数进行预训练可以为后续的更复杂目标提供良好的初始参数。

第二阶段训练

目标:最小化薄膜应变能和弯曲能的总和。

  • 在第二阶段,您通过 Energy_density 函数计算薄膜应变能 U_m 和弯曲能 U_b,并将其和作为新的损失。这个阶段的目标是优化网络以找到最优的屈曲解,使得薄膜的总能量最小。

  • 这种分阶段训练的策略允许网络在面对复杂的物理问题时,先通过简单的目标函数进行训练,学习基本的模式,然后再通过更复杂的能量最小化目标进行精细调整。这种方法有助于稳定训练过程,并避免直接从复杂目标函数出发可能导致的训练不收敛或收敛到局部最优解的问题。

总结

为何分两次训练

  1. 逐步拟合:第一阶段的训练允许模型逐步拟合初始的屈曲模式,这对于复杂问题非常重要。
  2. 稳定性:通过简单目标函数的训练可以增加模型的稳定性,帮助模型找到更好的初始参数,减少在复杂目标函数上的训练难度。
  3. 精细调整:第二阶段的训练是对模型进行精细调整,以最小化薄膜的能量,这样可以获得更符合物理模型的解。

这种逐步训练的策略在很多深度学习和优化问题中都是常用的,可以帮助提高模型的性能和收敛速度。

训练过程中损失值有升高的现象,这是常见的现象,通常有以下几个可能的原因和解释:

1. 学习率的影响

  • 学习率过大:如果学习率设置得太高,模型在更新权重时可能会"跳过"最优解,从而导致损失值的波动。在某些训练轮次中,损失可能会突然升高。
  • 动态学习率:如果您在训练过程中使用了动态学习率(例如,通过学习率衰减),可能在某些阶段会暂时增加损失值,但整体趋势仍然向下。

2. 训练数据的复杂性

  • 数据分布变化:如果训练数据的分布较复杂,模型在某些轮次上可能无法很好地拟合数据,导致损失暂时上升。这种情况通常在训练的早期阶段比较明显。
  • 样本选择:交叉验证或随机批量选择样本时,某些批次可能会相对较难,从而导致损失增加。

3. 模型的容量与拟合

  • 过拟合:随着训练的进行,模型可能开始过拟合训练数据,这会导致训练损失继续下降而验证损失上升,甚至可能出现不稳定现象。
  • 欠拟合:如果模型的复杂度不足,可能会在某些轮次内无法很好地捕捉到数据的特征,导致损失波动。

4. 梯度更新的不稳定性

  • 随机性:使用小批量随机梯度下降(SGD)等优化算法时,由于每次使用的样本不同,损失值会有一定的波动。这种随机性可能导致在某些epoch中损失值上升。

5. 损失函数的特性

  • 非线性损失:某些损失函数本身可能导致在优化过程中出现不平滑的行为,因此在某些epoch中损失会突然增加。

解决方案

  1. 监控学习率:可以尝试降低学习率,或使用学习率调度器(如ReduceLROnPlateau)来根据验证损失自动调整学习率。
  2. 增加训练轮数:适当增加训练的总轮数,让模型有更多机会去优化。
  3. 采用早期停止:实施早期停止策略,监控验证损失,以避免过拟合。
  4. 使用更复杂的模型:根据任务的复杂性,考虑增加模型的复杂性,例如增加层数或神经元数量。
相关推荐
The_Ticker4 分钟前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
Elastic 中国社区官方博客10 分钟前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
jwolf210 分钟前
摸一下elasticsearch8的AI能力:语义搜索/vector向量搜索案例
人工智能·搜索引擎
有Li19 分钟前
跨视角差异-依赖网络用于体积医学图像分割|文献速递-生成式模型与transformer在医学影像中的应用
人工智能·计算机视觉
傻啦嘿哟22 分钟前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
B站计算机毕业设计超人28 分钟前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化
新加坡内哥谈技术39 分钟前
Mistral推出“Le Chat”,对标ChatGPT
人工智能·chatgpt
GOTXX1 小时前
基于Opencv的图像处理软件
图像处理·人工智能·深度学习·opencv·卷积神经网络
IT古董1 小时前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习
CV学术叫叫兽1 小时前
快速图像识别:落叶植物叶片分类
人工智能·分类·数据挖掘