复杂形态钢结构设计培训班

首页 非解构-公众号 土木工程与人工神经网络(一)

土木工程与人工神经网络(一)

本文叙述以小编个人理解为主,只有极少必要的数学公式(大多数是初中数学知识),请大家放心阅读。

本文是该系列的第一篇文章,主要先介绍人工神经网络(Artificial Neural Network)的原理和发展历程。

1.什么是人工神经网络

第一次看到人工神经网络(ANN)的时候会觉得它是一个黑盒子,扔进去一堆数据会返回一些东西,但其实简单的人工神经网络可以看做一个带有若干参数的拟合函数或模型(类似于多项式拟合),但不同于简单地线性相加,它的结构很复杂,神经元之间不光可以像下图一样,从输入层到输出层单向连接(前馈型神经网络),还可以有各种各样的结构(递归神经网络和反馈神经网络),隐藏层中可以通过各种各样的激活函数实现复杂的非线性变换。网络中的所有的参数有一个初始值,通过已知结果的样本(带标签的数据集,后文有解释)使所有的参数向着预测更准确输出值的方向迭代,直到可以准确预测新的数据。

简单的人工神经网络长这个样:在这里,假设我们要处理的问题有三个自变量x1,x2,x3 并且需要输出一个目标值y(y是已知的目标值,而y’是神经网络的预测值)

Figure 1 人工神经网络结构

再把第一个单元拿出来看:

Figure 2 从输入层到隐藏层

从输入层到隐藏层其实是对三个变量进行加权处理,在隐藏层中通过sigmoid函数将输入值的加权结果z1映射到(0,1)的空间,并输出a1, 在分类问题中,这样可以表示样本落在某一分类中的概率。

Sigmoid函数是这个样子:他的导数也很简单:

Figure 3 Sigmoid函数

我们再来看从隐藏层到输出层的操作:

Figure 4 从隐藏层到输出层

实际上又对隐藏层进行了完全一样的操作,如果我们的网络只有一个隐藏层的话,这里a2就是最终需要的结果,也就是人工神经网络根据输入值x1,x2,x3对结果做出的预测。实际上对于样本来说,我们是知道每组自变量对应的真实y值的,那么(y’-y)就是神经网络的预测值与实际值之间的误差,用来衡量模型的好坏。这样当有很多样本的时候,就可以依次输入所有样本,每次调整里面的参数wij与bi(w11,w12,w13,w21,w22,w23,w24,b1,b2)最终让误差降到一个可以接受的程度,这个优化过的神经网络就可以根据新的数据进行预测了。

在实际应用中,激活函数(核函数)除了sigmoid之外还有很多函数可选,误差也一般不会直接用(y’-y),这里用损失函数(loss function)和代价函数(cost function)来表示误差,常用的损失函数有均方差,交叉熵等等在统计学中常用的函数,我们用E来表示, BP神经网络(back propagation)中的反向传播就是通过误差来训练参数,反向传播的过程中,所有的参数wij与bi被看做是损失函数(或代价函数)的自变量,Wij在每次迭代过程中会被更新为

,也就是参数沿着梯度的反方向进行迭代(其中是学习率,我们可以通过调整),bi同理,这就是梯度下降的方法,计算过程很简单,利用初中数学中的链式法则将多个导数相乘就可以了。像这样每次输入一个样本的迭代叫做随机梯度下降(SGD),样本的顺序对训练的结果是有影响的,但如果我们采用矩阵运算的方法,一次可以将所有样本输入神经网络中,假设我们有m个样本,这个时候我们可以用总体的均方差作为代价函数再进行迭代,这个方法叫批量梯度下降(BGD),可以看出由于每次都是一个巨大的矩阵去迭代,批量梯度下降的计算量很大但优势也很明显,由全样本集确定的梯度下降方向可以更好地代表样本总体,迭代的次数会相对少一下而且对凸函数可以收敛到全局极小值。另外还有将样本拆解的小批量梯度下降(MBGD)以及Momentum,RMSProp等方法。

可以这样总结,如果把需要解决的问题看做完全未知的函数(或者说是某种映射关系),人工神经网络的可以很好地拟合这个函数,通过你提交的输入和输出找到某种关联(这个过程就是不断调整参数以降低误差),从而预测其他输入对应的输出。已经有人从理论上证明,一个足够多层,每层单元也足够多的神经网络可以逼近任意函数(原文是有一定限定条件的,但通常可以这样讲)。

2.人工神经网络发展历程

下面我们看点轻松地,人工神经网络的三起三落:

Figure 5 人工神经网络发展历程简图

(Development Analysis of Artificial  Intelligence and Neural Networks Sun ZS et al.)

上图可以看出,人工神经网络的三个高潮是从最早的M-P模型开始的,M-P模型就是模拟单个神经元,也就是现在人工神经网络的单个节点,但里面的参数w和b不具有学习功能而是人为给定的:

Figure 6 M-P模型

第二次高潮是Hopfield神经网络和BP神经网络出现的年代,BP算法直到现在还是神经网络重要的架构因素。当时的算力不足,导致可训练的神经网络的隐藏层层数还被控制在一定范围内,但浅层的神经网络无法满足对复杂特征(以性别分类为例,通过看一张照片去判断男女,最简单的特征包含是头发和五官等等,但如果这些简单的特征都无法区分,就需要挖掘更深层次的特征了,对神经网络来说,特征越复杂就越需要在更高维度上去提取将不同种类分开的特征。

以拟合一个函数f(x)为例的话,如果f(x)是一个非常复杂的函数,简单对x的样本点加权相加是没法逼近这个函数的,需要多次非线性变换,提高维度来提高逼近的效果,但同时也要避免过拟合的问题,我们会在下面介绍)的提取,另一方面在反向传播中,由于使用了多个导数的乘积,那么当导数小于1时,神经网络的层数越多,传播到靠近输入层的误差衰减的就越厉害,这种梯度消失(vanishing gradient)的现象导致靠近离输出层远端的参数训练几乎无效,而当导数大于1时,累积到靠近输出层的权值则会指数级增大,又会引发梯度爆炸(exploding gradient),类似这样的问题让早期的神经网络的隐藏层数不能有效的增加,另外碍于算力的天花板,当时也无法训练更多层的神经网络,而浅层的神经网络并没有太大的优势;另一个问题是训练深层的神经网络需要大量的样本数据(比如说用神经网络来识别动物我们需要很多很多已经被人为分类好的图片,在训练的时候告诉网络这张图片是猫,这张是狗,这样的数据叫做有标签的数据,而在深层神经网络需要的数据量巨大,人为打标签是极为耗时的),没有足够的训练数据也是一大问题,所以在深度学习之前人工神经网络的研究又一次跌入低谷。

深度学习可以逐层训练网络,这就解决了梯度弥散的问题,并可以在训练完成后再利用误差对网络的参数进行调优,最重要的一点是在逐层训练网络的时候不光可以使用有标签的数据,还可以在逐层训练的时候使用无标签的数据(无监督学习)。虽然后来大家发现很多新的激活函数,如Relu函数可以更好解决梯度衰减的问题,但深度学习与后来的卷积神经网络(CNN)再一次的将人工神经网络的发展推向高潮以至于我都知道了深度学习。CNN引入了卷积分的概念,在识别图像的时候,假如一张三通道的图片是1000×1000像素的,那么把它对应的三维数组转化为向量就是一个1000x1000x3维的向量,按照我们之前介绍的神经网络结构,我们的输入层就有1000x1000x3个节点,输入层的每个节点都和隐藏层的每个节点相连,这样全连接的网络是逐个像素提取特征的,而卷积神经网络通过卷积核对图片进行分块特征提取的处理,而且每一个卷积层都会提取到不同维度上的特征。这其实也是在模拟人脑对图像的处理。我们从看到一张图片的像素,到看到不同物体的边缘,再到更加复杂识别判别失误也是逐层完成的。这一点是1981年诺贝尔医学生理学奖得主David Hubel发现的,他证明人的大脑可视皮层是分级的,他认为人脑视觉功能是将非常具体形象的元素抽象出更有意义的概念,这些概念又会向上层迭代变成人可以感知到的更加抽象的概念,卷积神经网络也是这样的,卷积层提取到的特征从像素,到边缘,到物体的部分最后到物体形状的特征。

需要注意的一点是,当我们的网络结构越复杂,对已有样本的拟合效果一般会越好,但也容易发生过拟合的问题,过拟合会导致预测不准,可以采用的方法有正则化,dropout等方法。

Figure 7 CNN特征识别

在此之后,虽然无监督学习达不到有监督学习训练的准确度,但由于找到海量带标签的训练数据实在很困难,无监督学习被认为是深度学习的未来,大家耳熟能详的生成对抗网络GAN(Generative Adversarial Network)就基于无监督学习,GAN 包括两个网络:Generator 和Discriminator,第一个负责生成数据,而后者负责判断生成的数据与真实数据的差距。

人工神经网络曾经历过的寒冬很多行业也经历过,总有一些人坚持自己坚信的东西,每次推向高潮都伴随着更好的算法和更加伟大的学者。Hinton, Lecun和Bogio谁不是在最黑暗的时候依旧做着不被人看好的研究。

3.土木工程与人工神经网络

土木领域现在已经用到很多深度学习与其他机器学习领域中的最新研究成果,如基础设施从施工阶段到后期运维健康监测阶段就可以用到无人机巡查,点云的语义分割,视频识别,图像处理等等高大上的技术。在设计领域,人工神经网络也在很早之前就被用在结构优化中,由于有限元方法计算非线性问题(如非线性显式后屈曲分析)很费时间,而优化过程中有需要计算大量的模型,以径向基函数为激活函数的RBF神经网络常常用来拟合复杂的动力学表达式并作为代理模型。代理模型法可以显著提高优化的速度,而RBF神经网络由于其只有一个隐藏层,训练速度很快,理论和大量的实验证明RBF模型在小样本情况下具有较好的预测精度与鲁棒性。小编在前一段时间主要在研究RBF神经网络,也会在接下来的文章里着重介绍RBF及其在结构设计中的实际应用。

参考文献:

[1]Lee, H., Grosse, R., Ranganath, R., & Ng, A. Y. (2011). Unsupervised learning of hierarchical representations with convolutional deep belief networks. Communications of the ACM, 54(10), 95–103. https://doi.org/10.1145/2001269.2001295

[2]Park, J., & Sandberg, I. W. (1991). Universal Approximation Using Radial-Basis-Function Networks. Neural Computation, 3(2), 246–257. https://doi.org/10.1162/neco.1991.3.2.246

[3] Lecun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-Based Learning Applied to Document Recognition. http://ieeexplore.ieee.org/document/726791/#full-text-section

[4] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., … & Bengio, Y. (2014). Generative adversarial nets. In Advances in neural information processing systems (pp. 2672-2680).

[5]Deeplearning.ai

相关阅读
当结构设计遇到遗传算法(一)
当结构设计遇到遗传算法(二)
当结构设计遇到遗传算法(三)
盈建科,二次开发

转自:非解构-公众号

本文来自网络,不代表钢构人的立场,转载请注明出处。搜索工程类文章,就用钢构人网站。 https://www.ganggouren.com/2019/11/fcc4591d80/

钢结构地图

上一篇
下一篇

作者: ganggouren

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部