当前位置: 观测器 >> 观测器优势 >> 人工降雨引发暴雨Python预测天机
为缓解迪拜的炎热干燥,阿联酋国家气象中心近日持续人工降雨,却意外引发暴雨,导致迪拜全城大面积积水,交通拥堵、道路瘫痪。人工降雨需要对未来天气进行预测,对天气,湿度等进行预测,进而利用合适的天气条件进行降雨,避免人工干预对当地产生不利的影响,这就需要利用气象资料对未来的天气趋势进行预测。
天气预报的原理
目前,全国共有多个地面站、多个高空探测站、6颗在轨卫星、5万多个自动监测站、多个农业监测站、多个雷达站等,逐日逐小时甚至到逐分钟扫描着中国出现的各种各样的大气数据。每天用于天气预报数据多达3TB。利用这些数据就能进行天气的预报。
大概原理是:把以前时段的雷达图作为样本,把自动气象站的对应降雨观测数据作为标签。选取原始雷达数据集中不同时序、不同高度通道的雷达回波图像,以及自动观测站对应X坐标、Y坐标的降雨量标签进行训练,生成训练集和测试集。
练过程中,首先对卷积神经网络结构搭建与网络权重参数初始化,将经过时序和高度提取的雷达图像重塑为合适尺寸的样本矩阵(1,2,3,,)(x1,x2,x3,,xn)T,融合数据标签值(1,2,3,,)(y1,y2,y3,,yn)T作为输入层的数据。经过卷积层的卷积操作提取每批次样本的高阶特征信息,并通过池化层下采样缩小特征矩阵的尺寸,生成固定大小的特征图,最后通过反向传播算法传播误差损失函数,更新网络权重以及参数,反复迭代使得梯度下降直至条件收敛。大致流程如图所示:
深度学习基础之神经网络
说到深度学习,就不得不提起深度学习的基础---神经网络。
神经网络的产生是由于模拟人脑生理结构和功能的愿望。神经元是大脑的基本计算单元。人类的神经系统有大约86亿个神经元,由神经突触连接在一起。
图3.2显示了生物神经元的工作原理。生物神经元通过电信号在彼此间传递信号或消息。相邻的神经元通过其树突接收这些信号。信息从树突流向主细胞体——神经元胞体(SOMA)。信息在那里进行汇总。如果最终总和高于某个阈值,神经元触发,沿着轴突向轴突末梢发送一个脉冲。实际上,生物神经元是在彼此之间传送各种生物功能的消息的计算机器。
图3.2 生物神经元
数学节点、单元或者神经元是人工神经网络的核心。它是基本的处理单位。输入层神经元接收通过数学函数处理的输入信息,然后把它们分发到隐藏层神经元。信息经隐藏层神经元处理后传送到输出层神经元。
图3.3展示了生物神经元和人工神经元。这里的关键是,信息是通过一个激活函数来处理的。激活函数模拟大脑神经元,输入信号的强度的大小决定了它们被触发或者不被触发。然后处理结果被加权并分配到下一层神经元。从本质上来讲,神经元通过加权和相互激活。这保证了两个神经元之间连接强度的大小由处理信息的权重来确定。
图3.3 生物神经元和人工神经元
说明虽然复制人类神经元的愿望从未实现38,但人们很快发现,人工神经元在分类和预测任务方面表现得同样非常出色39。
卷积网络概念
前面介绍了深度学习基础,神经玩过概念。下面就天气预报中采用的卷积网络进行介绍。
卷积神经网络最初是受到视觉系统的神经机制启发、针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度不变性,在缩放和倾斜情况下也具有一定的不变性。这种生物物理模型集成了“感受野”的思想,可以看作一种特殊的多层感知器或前馈神经网络,具有局部连接、权值共享的特点,其中大量神经元按照一定方式组织起来对视野中的交叠区域产生反应。年,Hubel和Wiesel通过对猫的视觉皮层细胞的研究,提出了感受野的概念[17-18]。年,日本学者Fukushima在感受野概念的基础上,提出了神经认知机模型[14-16],该模型被认为是实现的第一个卷积神经网络。年,LeCun等人首次使用了权值共享技术[45]。年,LeCun等人将卷积层和下采样层相结合,设计卷积神经网络的主要结构,形成了现代卷积神经网络的雏形(LeNet)[19]。年,卷积神经网络的发展取得了历史性的突破,Krizhevsky等人采用修正线性单元(RectifiedLinearUnit,ReLU)作为激活函数提出了著名的AlexNet,并在大规模图像评测中取得了优异成绩[46],成为深度学习发展史上的重要拐点。
在理论上,卷积神经网络是一种特殊的多层感知器或前馈神经网络。标准的卷积神经网络一般由输入层、交替的卷积层和池化层、全连接层和输出层构成,如图1.4所示。其中,卷积层也称为“检测层”,“池化层”又称为下采样层,它们可以被看作特殊的隐含层。卷积层的权值也称为卷积核。虽然卷积核一般是需要训练的,但有时也可以是固定的,比如直接采用Gabor滤波器[47]。作为计算机视觉领域最成功的一种深度学习模型,卷积神经网络在深度学习兴起之后已经通过不断演化产生了大量变种模型。
图1.4 标准卷积神经网络
从结构的角度看,卷积神经网络起初只能处理黑白或灰度图像,变种模型通过把红、绿、蓝3个颜色通道作为一个整体输入已能直接处理彩色图像[46],有些还可以直接处理多帧图像甚至连续图像[48]。同时,变种模型可以使用多个相邻的卷积层或多个相邻的池化层,也可以使用重叠池化和最大池化,还可以使用修正线性单元、渗漏修正线性单元(LeakyReLU,LReLU)、参数修正线性单元(ParametricReLU,PReLU)或指数线性单元(ExponentialLinearUnit,ELU)取代sigmoid单元作为激活函数[46,49-51],也可以在输出层采用软最大函数softmax替代sigmoid函数以产生伪概率。此外,卷积神经网络可以设计成孪生结构(siamesearchitecture),把原始数据映射到目标空间,产生对几何扭曲的鲁棒性[52]。最后,卷积神经网络可以设计成快道结构,允许信息通过快道无阻碍地跨越多层流动,使得用梯度下降训练非常深的网络变得更加容易[53]。
从卷积核的角度看,卷积神经网络可以通过采用非常小的卷积核,比如1×1和3×3大小,被加深成一个更深的网络,比如16层或19层的VGGNet[54]。如果采用参数修正线性单元代替修正线性单元,可以把VGGNet发展成MSRANet[55]。而且,卷积神经网络通过使用小卷积核在保持总体计算代价的条件下增加深度和宽度,并与“摄入模块(inceptionmodule)”进行集成,可以用来建立谷歌网络(GoogLeNet)[56]。此外,卷积神经网络通过使用微型多层感知器代替卷积核,还可以被扩展成更为复杂的网络,例如“网中网(NetworkInNetwork,NIN)”[57]。
从区域的角度看,区域卷积神经网络(Region-basedCNN,R-CNN)可以用来抽取区域卷积特征,并通过区域提议进行更加鲁棒的定位和分类[58]。空间金字塔池化网络(SpatialPyramidPoolingNet,SPPNet)可以克服其输入大小固定的缺点,办法是在最后一个卷积层和第一个全连接层之间插入一个空间金字塔池化层[59]。不管输入的大小如何,空间金字塔池化层都能够产生固定大小的输出,并使用多尺度空间箱(spatialbin)代替滑动窗口对在不同尺度上抽取的特征进行池化。虽然与R-CNN相比,空间金字塔池化网络具有能够直接输入可变大小图像的优势,但是它们需要一个多阶段的管道把特征写入硬盘,训练过程较为麻烦。为了解决这个训练问题,可以在R-CNN中插入一个特殊的单级空间金字塔池化层(称为感兴趣区池化层,ROIpoolinglayer),并将其提取的特征向量输入到一个最终分化成两个兄弟输出层的全连接层,再构造一个单阶段多任务损失函数对所有网络层进行整体训练,建立快速区域卷积神经网络(FastR-CNN)[60],其优点是可以通过优化一个单阶段多任务损失函数进行联合训练。为了减少区域提议的选择代价,可以插入一个区域提议网络与FastR-CNN共享所有卷积层,进一步建立更快速区域卷积神经网络(FasterR-CNN),产生几乎零代价的提议预测对象(或称为目标、物体)边界及有关分数[61]。为了获得实时性能极快的对象检测速度,可以把输入图像划分成许多网格,并通过单个网络构造的整体检测管道,直接从整幅图像预测对象的边框和类概率建立YOLO模型,只需看一遍图像就能知道对象的位置和类别[62]。为了更准确地定位对象,还可以在多尺度特征图的每个位置上,使用不同长宽比的缺省框建立单次检测器(SSD)来取代YOLO[63]。此外,采用空间变换模块有助于卷积神经网络学到对平移、缩放、旋转和其他扭曲更鲁棒的不变性[64]。最后,可以把FasterR-CNN扩展成掩膜区域卷积神经网络(MaskR-CNN),在图像中有效检测对象的同时,还能够对每个对象实例生成一个高质量的分割掩膜[65]。
从优化的角度看,许多技术可以用来训练卷积神经网络,比如丢失输出[66]和块归一化(batchnormalization)[67]。丢失输出是一种减小过拟合的正则化技术,而丢失连接是丢失输出的推广。块归一化(或批量归一化)则是按迷你块大小对某些层的输入进行归一化处理的方法。此外,残差网络(ResidualNetwork,ResNet)采用跨越2~3层的连接策略也是一种重要的优化技术,可以用来克服极深网络的训练困难。借助残差学习能够快速有效地成功训练超过层甚至层的深层卷积神经网络,它在ILSVRCCOCO的多项任务评测中发挥了关键作用[68],全部取得了第一名的突出成绩。最后,为了优化模型的结构,还可以采用火焰模块(firemodule)建立卷积神经网络的挤压模型SqueezeNet[69],也可以结合深度压缩(deep
转载请注明:http://www.aideyishus.com/lkgx/4911.html