从仿真模型到预测模型——机器学习在项目开发中的应用

2018-07-12 10:44:34·  来源:上汽安全与CAE技术  
 
在项目开发的过程中,CAE是我们快速预测设计方案的试验结果,并进行优化的有力工具。但是这种方法,只能一一根据模型设置得出结果,换句话说,只是个验证工具,方案的提出,还是由工程师来完成。
在项目开发的过程中,CAE是我们快速预测设计方案的试验结果,并进行优化的有力工具。但是这种方法,只能一一根据模型设置得出结果,换句话说,只是个验证工具,方案的提出,还是由工程师来完成。而随着开发难度的提升,我们亟需一种工具,可以快速获得多种方案的预测结果,甚至反过来提出推荐方案。而现在机器学习的一些预测算法,给我们提供了很大的启示。我们可以建立一种数据预测模型,它的基础不是明确清晰的物理原理和几何特征,而是大量的历史数据。通过数据训练模型,使其获得“经验”,从而做出预测。

这里我们就以神经网络和白车身扭转刚度为例,看看机器学习可以如何为项目开发提供“经验分享“。

一、神经网络的原理
人脑由数百亿的神经元组成,而每个神经元又连接到其他数千条神经上。当某个神经受到触发时,它不会立即做出响应,而是将所有受到的触发累积起来,达到某个阈值时才会将响应发送给其他神经。大脑通过这种调节连接的数量和强度的方式,来学习新的知识。



人工神经网络模拟这种方式,利用历史数据训练数据模型,使连接的数量和强度符合历史数据的规律,从而让模型接受新数据时,也能得出预测结果。

这里我们以一种典型的神经网络多次感知机(MLP)为例,介绍下具体的训练方法。



基础结构:神经网络是由一组节点(神经元)和相互之间的连接强度(突触)构成的。网络中有多层神经元。第一层为输入层,即所有的输入参数,最后一层为输出层,即预测结果,中间为隐藏层,隐藏层的层数不定,由问题的复杂程度决定。层与层之间通过突触彼此相连,每个突触都有一个连接强度,相当于上一层的神经元相对下一层的权重。
构建神经网络:在训练神经网络之前,需要先搭建基础结构。网络的每一层均采用前馈法构建。以输入层到第一个隐藏层为例,每个第一隐藏层节点的输出,都是所有输入层节点的输出乘以连接强度的累加,再由S型函数tanh处理后的结果。其他层类似,直至输出层。

训练神经网络:训练神经网络就是调整突触的连接强度。这里需要用到反向传播法,相当于前馈法的逆向计算。把输入导入现有的神经网络中,得出输出层的结果。然后从输出层开始,计算每个输出层节点的当前输出和期望输出的差值,通过dtanh函数处理,得到每个输出层节点的误差。再结合当前的连接强度,改变每个连接强度的值,重新计算前一层的输出。其他层以此类推,直至输入层。
通过这个方法,我们可以先随机设置一组连接强度,比如将所有的都设置为同一个数。再通过历史数据训练模型,最终得到一个准确的预测模型。

二、神经网络预测白车身性能

假设我们已收集了众多项目的轴距、白车身扭转刚度、质量、焊点数量、主要零部件的材料等历史数据,如下表:



设想某种应用场景,已知轴距、刚度等其他参数与性能要求,此时需要设定一个白车身质量的目标,我们就可以构建如下的模型:



一开始,模型中所有的连接强度都是一样的。将历史项目的数据输入后,模型自动输出一个预测的白车身质量,这个结果自然和实际的质量是相差很大的。我们需要通过反向训练,将输出层的误差一点点传递到前面几层,从而调整每层的连接强度,使其符合实际的输出。经过无数项目的训练后,重要因素的连接强度将会变得很大,冗余因素的连接强度会越来越小,神经网络模型已然成为一个“老司机”,可以直接做出准确的预测。

还可以把模型中的输入和输出进行调换,把白车身质量作为输入,轴距作为输出,让神经网络告诉我们什么样的轴距能够满足刚度要求。总之,根据实际的需求灵活变化,充分利用以往的数据可以构建出各种神经网络预测模型。

机器学习的应用已经越来越广泛,汽车行业的一些新兴领域,如自动驾驶、主动安全等都已有涉及,而在项目开发与产品设计上的应用还很少。相信只要充分利用这其中大量的数据,一定可以提高开发效率,设计出更优化的产品。而机器学习的前提,是数据。数据不仅要量大,还需要保证质量,即完整度和准确度。这就需要我们在项目开发过程中,不断积累产品的各类参数,并保证参数的可靠度,让参数驱动设计,为项目开发提供更大的助力。


分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号