基于遥感数据深度学习的近海污染物识别与跟踪方法_3

文档序号:9865606阅读:来源:国知局
得到全局的信息了。运样,就可W减少连接的数目,也就是减少神经网络需要 训练的权值参数的个数了。如附图5的右边:假如局部感受野是10*10,隐层每个感受野只需 要和运10*10的局部图像相连接,所百万个隐层神经元就只有一亿个连接,即108个参 数。比原来减少了四个0 (数量级),运样训练时间可减少。
[004引隐含层的每一个神经元都连接10*10个图像区域,也就是说每一个神经元存在10* 10 = 100个连接权值参数。每个神经元用的是同一个卷积核去卷积图像。权值共享的意思就 是不论隐层的神经元个数是多少,两层间的连接只有100个参数。
[0049] 如果需要提取不同的特征,则通过加多几种滤波器。假设加到100种滤波器,每种 滤波器的参数不一样,表示它提出输入图像的不同特征,例如不同的边缘。运样每种滤波器 去卷积图像就得到对图像的不同特征的放映,可称为Feature MapelOO种卷积核就有100个 Feature Map。此100个Feature Map就组成了一层神经元。100种卷积核X每种卷积核共享 100个参数= 100*100 = 10Κ,也就是1万个参数,如附图6的右边。
[0050] 隐层的参数个数和隐层的神经元个数无关,只和滤波器的大小和滤波器种类的数 量有关。隐层的神经元个数和原图像,也就是输入的大小(神经元个数)、滤波器的大小和滤 波器在图像中的滑动步长有关。例如,图像是1000*1000像素,而滤波器大小是10*10,假设 滤波器没有重叠,也就是步长为10,运样隐层的神经元个数就是(1000*1000)/(10*10)= 100*100个神经元,图像越大,神经元个数和需要训练的权值参数个数的差额就越大。
[0051] 神经网络用于模式识别的主流是有指导学习网络。对于有指导的模式识别,由于 任一样本的类别是已知的,样本在空间的分布不再是依据其自然分布倾向来划分,而是要 根据同类样本在空间的分布及不同类样本之间的分离程度找一种适当的空间划分方法,或 者找到一个分类边界,使得不同类样本分别位于不同的区域内。运就需要一个长时间且复 杂的学习过程,不断调整用W划分样本空间的分类边界的位置,使尽可能少的样本被划分 到非同类区域中。
[0052] 卷积网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间 的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷 积网络加 W训练,网络就具有输入输出对之间的映射能力。卷积网络执行的是有导师训练, 所W其样本集是由形如:(输入向量,理想输出向量)的向量对构成的。所有运些向量对,都 应该是来源于网络即将模拟的系统的实际"运行"结果。它们可W是从实际运行系统中采集 来的。在开始训练前,所有的权都应该用一些不同的小随机数进行初始化。"小随机数"用来 保证网络不会因权值过大而进入饱和状态,从而导致训练失败;"不同"用来保证网络可W 正常地学习。实际上,如果用相同的数去初始化权矩阵,则网络无能力学习。
[0053] 训练算法与传统的BP算法差不多。主要包括4步,运4步被分为两个阶段:
[0054] 第一阶段,向前传播阶段:
[0055] a)从样本集中取一个样本(Χ,Υρ),将X输入网络;
[0056] b)计算相应的实际输出Op。
[0057] 在此阶段,信息从输入层经过逐级的变换,传送到输出层。运个过程也是网络在完 成训练后正常运行时执行的过程。在此过程中,网络执行的是计算(实际上就是输入与每层 的权值矩阵相点乘,得到最后的输出结果):
[005引 0p = Fn( ... (F2(Fi (XpW(i) )W(2))... )W(n))
[0059] 第二阶段,向后传播阶段
[0060] a)算实际输出Op与相应的理想输出Υρ的差;
[0061] b)按极小化误差的方法反向传播调整权矩阵。
[0062] S、GPU加速的深度学习框架
[0063] 多GPU模型并行+数据并行框架,目标是期望能充分利用深度卷积神经网络模型的 可并行特点,结合SGD(Stochastic Gradient Descent,随机梯度下降)训练的数据并行特 性,加速模型训练过程;突破显存大小限制,使得训练超过单GPU显存的模型成为可能,并预 期通过训练更复杂的网络来获得更好的模型效果。
[0064] 附图7掲示了一个具有5个卷积层和3个全连接层的深度卷积神经网络,该模型可 应用于图像分类。
[0065] 上述目标完成后,系统可W更快地训练附图7中目标深度卷积神经网络模型。模型 拆分到不同GPU上可减少对单GPU显存占用,适用于训练更深层次、更多参数的卷积神经网 络。
[0066] 模型并行是:适当拆分模型到不同的计算单元上利用任务可并行性达到整个模型 在计算过程中并行化效果。
[0067]如附图8所示,从单GPU训练到多GPU模型并行训练的不同点在于:在使用单GPU训 练的场景下,模型不进行拆分,GPU显存上存储整个模型;模型并行的场景下,将模型拆分到 多个GPU上存储,因此在训练过程中每个GPU上实际只负责训练模型的一部分,通过执行引 擎的调度在一个WorkerGroup内完成对整个模型的训练。
[006引多GPU并行系统从功能上划分为用于读取和分发数据的Training Data Dispatcher和用于做模型并行训练的GPU Worker,如附图9所示。训练数据从磁盘文件读取 至化PU主存再拷贝到GPU显存,故此设计在各Worker计算每batch数据时,由化aining Data Dispatcher从文件中读取并分发下一batch数据,W达到用计算时间掩盖I/O时间的设计目 标。
[0069] 基于mini-batch的训练,现有技术方案在训练深度卷积神经网络时,每次从数据 文件中读入和处理1个batch数据,在GPU计算某一batch时由CPU预读取和预处理下一 batch。
[0070] 但是随着训练集图片像素数增大,读取和处理时间随之增加,由于采用多GPU技术 加速了单个batch计算时间,数据处理的性能问题随之而来,需要减少数据处理的用时,W 使最终加速效果取决于计算用时。
[0071] 如附图10所示,总体看来,在深度卷积神经网络训练过程中始终是在执行一条Ξ 阶段并行的流水线:计算本次batch数据一一处理下次batch数据一一读入再下次batch数 据。
[0072] 数据并行W划分Worker Group为基本组织形式,模型并行W在Worker Group内划 分Worker为基本组织形式,并行训练的调度资源来源于CPU线程,计算资源来源于GPU卡。由 于GPU卡通常意义上被看成是一种加速卡或协处理器卡,必须在基于CPU的主机上下文中被 调用来做计算,因此遵循1个CPU线程绑定1张 GPU卡能够发挥多GPU共同参与计算时的并行 性效能。
[0073] 下表是GPU模型并行+数据并行CPU线程、GPU与Worker Group、Worker绑定关系。
[0074] 表1Worker Group与Worker绑定关系
[0075]
[0076] 在实际运行环境中,安装多GPU服务器的硬件体系结构如附图11所示,W下是一个 8GPU节点服务器的硬件配置,每两个GPU Slot连接在一个GHJ专用PCI槽位上再通过PCIe Switch将GPU Slot 0,1,2,3连接在一颗CPU上,GPU Slot 4,5,6,7连接在另一颗CPU上,两 颗CPU通过I0H(I吨ut 0u1:put Hub)连接。
[0077] 模型并行的来源是Deep C順s网络只在特定层(如输入层、全连接层)与其他层有 全面的连接,而其他较为
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1