• 回答数

    3

  • 浏览数

    100

聪明的达人安
首页 > 学术期刊 > 神经网络算法毕业论文

3个回答 默认排序
  • 默认排序
  • 按时间排序

winwing168

已采纳

论文:论文地址: 论文题目:《Session-based Recommendation with Graph Neural Networks》SR-GNN github: 基于会话的推荐一般是将序列会话建模,将整个session进行编码,变成一个隐向量,然后利用这个隐向量进行下一个点击预测。但是这种方法没有考虑到item直接复杂的转换(transitions)关系,也就是item之间在点击的session中除了时间顺序外还有复杂的有向图内的节点指向关系,所以之前的方法不足以很好的对点击序列进行建模。 现有基于会话的推荐,方法主要集中于循环神经网络和马尔可夫链,论文提出了现有方法的两个缺点: 1)当一个session中用户的行为数量十分有限时,这些方法难以获取准确的用户行为表示。如当使用RNN模型时,用户行为的表示即最后一个单元的输出,论文认为只有这样并非十分准确。 2)根据先前的工作发现,物品之间的转移模式在会话推荐中是十分重要的特征,但RNN和马尔可夫过程只对相邻的两个物品的 单向转移关系 进行建模,而忽略了会话中其他的物品。 为了克服上述缺陷,本文提出了用图神经网络对方法对用户对session进行建模:下面具体介绍怎么进行图序列推荐 V = {v1,v2...vm}为全部的item,S = { }为一个session里面按时间顺序的点击物品,论文的目标是预测用户下一个要点击的物品vs,n+1,模型的任务是输出所有item的预测概率,并选择top-k进行推荐。 我们为每一个Session构建一个子图,并获得它对应的出度和入度矩阵。 假设一个点击序列是v1->v2->v4->v3,那么它得到的子图如下图中红色部分所示:另一个例子,一个点击序列是v1->v2->v3->v2->v4,那么它得到的子图如下:同时,我们会为每一个子图构建一个出度和入度矩阵,并对出度和入度矩阵的每一行进行归一化,如我们序列v1->v2->v3->v2->v4对应的矩阵如下:这个矩阵里面的值是怎么计算的呢?下面讲一下: 看左边的出度矩阵,第一行为 0 1 0 0 ,代表着v1->v2,因为v1,只有一个指向的item,所以为1;看第二行,0 0 1/2 1/2,因为v2有指向v3和v4的边,所以进行归一化后每一个值都变成了1/2。入度矩阵的计算方法也是一样的,就不再说了。 本文采用的是GRU单元进行序列建模,将图信息嵌入到神经网络中,让GRU充分学习到item之间的关系,传统的GRU只能学到相邻的两个物品之间的关系,加入图信息后就能学到整个session子图的信息。 计算公式如下:为了刚好的理解这个计算过程,我们还是使用之前那个例子:v1->v2->v3->v2->v4来一步步分析输入到输出的过程。 (1) 是t时刻,会话s中第i个点击对应的输入, 是n✖️2n的矩阵,也就是会话子图的完整矩阵,而 是其中一行,即物品vi所对应的那行,大小为1✖️2n,n代表序列中不同物品的数量。 如果按照例子来看,如果i取2,那么 为 [0 0 1/2 1/2 1/2 0 1/2 0] 进一步的,可以把 :拆解为[ , ] (2) 可以理解为序列中第i个物品,在训练过程中对应的嵌入向量,这个向量随着模型的训练不断变化,可以理解为隐藏层的状态,是一个d维向量。    (3)  H是d*2d的权重向量,也可以看作是一个分块的矩阵,可以理解为H=[Hin|Hout],每一块都是d*d的向量。 那么我们来看看计算过程: 1)[ ..., ] ,结果是d * n的矩阵,转置之后是n*d的矩阵,计作 2) : H相当于[   ],即拆开之后相乘再拼接,因此结果是一个1 * 2d的向量。 上面就是完整的第i个点击的输入的计算过程,可以看到,在进入GRU计算之前,通过跟As,i矩阵相乘,把图信息嵌入到了神经网络中取,加深了神经网络学习到的item之间的交互信息。 此外,就是GRU的计算过程了,跟原始的GRU不一样的地方在于输入从xt变成了嵌入了图信息的as,i。 通样也有更新门和重置门,计算方法跟原始GRU一模一样。 这里的 其实就是相当于原始gru中的 ,只不过在SR-GNN里面,进行一轮运算的时候i是没有变化,相当于每个物品单独进去GRU进行计算,得到自己的向量,也就是说在GRU的计算过程中, 是不断变化的,看一下源码更易于理解: hidden就是公式里面的 ,在gru的每一个step计算中都会进行更新,这里我有个疑问,如果所有item的hidden都更新的话,那么应该是整个序列中所有的item并行进入GRU中进行计算,每一个step都得到自己的vector,当每个item的vector更新后,下一个step就重新根据新的 计算 ,接着计算下一个step。 计算过程大概就是下面这样:这里有四个GRU并行计算,没次更新自己的hidden状态,输入则考虑所有的hidden和图信息。 从上面的图看来,每一个item都要进行T个step得到自己的item-vec,所以经过T个step后,我们就得到了序列中所有item的向量,即:图中用蓝色框框画出来的向量,有了这些向量后,我们怎么得到预测结果呢?这就引入了下一个问题。 观察上面的模型结构,我们看到attention,没错,我们认为一个session中的这些item-vec并不都对预测结果产生影响,有些item对结果影响很大,有些影响很小,所以我们进行了加权求和。同时,论文认为session对最后一个item-vec,s1=vn是重要的,所以单独拿出来:公式(6)就是简单的attention操作,其实从公式上来看就是计算每个vi跟最后一个向量vn的权值,然后进行加权求和。 在最后的输出层,使用sh和每个物品的embedding进行内积计算,这里vi应该是item的embedding层出来的向量,而不是后面一直更新的hidden:最后通过一个softmax得到最终每个物品的点击概率: 损失函数为交叉熵损失函数:从数据上来看,SR-GNN超过了经典的GRU4REC,这也说明了图信息的嵌入能带来更好的推荐效果。 本论文很巧妙的将图信息嵌入的神经网络中,更高地让GRU学习到每个item之间的关系,不再局限于相邻的物品之间进行学习。近年来,图神经网络的思想和方法屡屡被用在推荐系统中,学好图神经网络应该是推荐系统的下一个热潮。

205 评论

小呆呆321

原文: Scalable Object Detection using Deep Neural Networks——学术范 最近,深度卷积神经网络在许多图像识别基准上取得了最先进的性能,包括ImageNet大规模视觉识别挑战(ILSVRC-2012)。在定位子任务中获胜的模型是一个网络,它预测了图像中每个对象类别的单个边界框和置信度得分。这样的模型捕获了围绕对象的整幅图像上下文,但如果不天真地复制每个实例的输出数量,就无法处理图像中同一对象的多个实例。在这篇论文中提出了一个显著性启发的神经网络检测模型,它预测了一组与类无关的边界框,每个框有一个分数,对应于它包含任何感兴趣的对象的可能性。该模型自然地为每个类处理数量可变的实例,并允许在网络的最高级别上进行跨类泛化。 目标检测是计算机视觉的基本任务之一。一个解决这个问题的通用范例是训练在子图像上操作的对象检测器,并在所有的场所和尺度上以详尽的方式应用这些检测器。这一范例被成功地应用于经过区别训练的可变形零件模型(DPM)中,以实现检测任务的最新结果。对所有可能位置和尺度的穷举搜索带来了计算上的挑战。随着类数量的增加,这个挑战变得更加困难,因为大多数方法都训练每个类单独的检测器。为了解决这个问题,人们提出了多种方法,从检测器级联到使用分割提出少量的对象假设。 关于对象检测的文献非常多,在本节中,我们将重点讨论利用类不可知思想和解决可伸缩性的方法。 许多提出的检测方法都是基于基于部件的模型,最近由于有区别学习和精心设计的特征,已经取得了令人印象深刻的性能。然而,这些方法依赖于在多个尺度上详尽地应用零件模板,这是非常昂贵的。此外,它们在类的数量上是可伸缩的,这对像ImageNet这样的现代数据集来说是一个挑战。 为了解决前一个问题,Lampert等人使用分支绑定策略来避免计算所有可能的对象位置。为了解决后一个问题,Song et al.使用了一个低维部件基,在所有对象类中共享。基于哈希算法的零件检测也取得了良好的结果。 另一种不同的工作,与我们的工作更接近,是基于对象可以本地化的想法,而不必知道它们的类。其中一些方法建立在自底向上无阶级分割[9]的基础上。通过这种方式得到的片段可以使用自上而下的反馈进行评分。基于同样的动机,Alexe等人使用一种廉价的分类器对对象假设是否为对象进行评分,并以这种方式减少了后续检测步骤的位置数量。这些方法可以被认为是多层模型,分割作为第一层,分割分类作为后续层。尽管它们编码了已证明的感知原理,但我们将表明,有更深入的模型,充分学习可以导致更好的结果。 最后,我们利用了DeepLearning的最新进展,最引人注目的是Krizhevsky等人的工作。我们将他们的边界盒回归检测方法扩展到以可扩展的方式处理多个对象的情况。然而,基于dnn的回归已经被Szegedy等人应用到对象掩模中。最后一种方法实现了最先进的检测性能,但由于单个掩模回归的成本,不能扩展到多个类。 我们的目标是通过预测一组表示潜在对象的边界盒来实现一种与类无关的可扩展对象检测。更准确地说,我们使用了深度神经网络(DNN),它输出固定数量的包围盒。此外,它为每个盒子输出一个分数,表示这个盒子包含一个对象的网络信任度。 为了形式化上述思想,我们将i-thobject框及其相关的置信度编码为最后一网层的节点值: Bounding box: 我们将每个框的左上角和右下角坐标编码为四个节点值,可以写成vectorli∈R4。这些坐标是归一化的w. r. t.图像尺寸,以实现图像绝对尺寸的不变性。每个归一化坐标是由最后一层的线性变换产生的。 Confidence: 置信度:包含一个对象的盒子的置信度得分被编码为单个节点valueci∈[0,1]。这个值是通过最后一个隐藏层的线性变换产生的,后面跟着一个sigmoid。 我们可以组合边界盒位置sli,i∈{1,…K}为一个线性层。同样,我们可以将所有置信区间ci,i∈{1,…K}作为一个s型层的输出。这两个输出层都连接到最后一个隐藏层 在推理时,我们的算法生成kbound盒。在我们的实验中,我们使用ek = 100和K= 200。如果需要,我们可以使用置信分数和非最大抑制在推理时获得较少数量的高置信框。这些盒子应该代表对象。因此,它们可以通过后续的分类器进行分类,实现目标检测。由于盒子的数量非常少,我们可以提供强大的分类器。在我们的实验中,我们使用另一个dnn进行分类。 我们训练一个DNN来预测每个训练图像的边界框及其置信度得分,以便得分最高的框与图像的groundtruth对象框很好地匹配。假设对于一个特定的训练例子,对象被标记为boundingboxesgj,j∈{1,…,M}。在实践中,pre- dictionary的数量远远大于groundtruthboxm的数量。因此,我们试图只优化与地面真实最匹配的预测框子集。我们优化他们的位置,以提高他们的匹配度,最大化他们的信心。与此同时,我们将剩余预测的置信度最小化,这被认为不能很好地定位真实对象。为了达到上述目的,我们为每个训练实例制定一个分配问题。Wexij∈{0,1}表示赋值:xij= 1,如果第i个预测被赋值给第j个真对象。这项任务的目标可以表示为 其中,我们使用标准化边界框坐标之间的el2距离来量化边界框之间的不同。此外,我们希望根据分配x优化盒子的可信度。最大化指定预测的置信度可以表示为  最终的损失目标结合了匹配损失和信心损失 受式1的约束。α平衡了不同损失条款的贡献。 对于每个训练例子,我们通过解决一个最佳的赋值x*的预测到真实的盒子 约束执行赋值解决方案。这是二部匹配的一种变体,是一种多项式复杂度匹配。在我们的应用程序中,匹配是非常便宜的——每幅图像中标记的对象的数量少于一打,而且在大多数情况下只有很少的对象被标记。然后,通过反向传播优化网络参数。例如,反向传播算法的一阶导数计算w、r、t、l和c 尽管上述定义的损失在原则上是足够的,但三次修改使其有可能更快地达到更好的准确性。第一个修改是对地面真实位置进行聚类,并找到这样的聚类/质心,我们可以使用这些聚类/质心作为每个预测位置的先验。因此,鼓励学习算法为每个预测位置学习一个残差到一个先验。 第二个修改涉及到在匹配过程中使用这些先验:不是将N个groundtruth位置与K个预测进行匹配,而是在K个先验和groundtruth之间找到最佳匹配。一旦匹配完成,就会像之前一样计算目标的置信度。此外,位置预测损失也不变:对于任何一对匹配的(目标,预测)位置,其损失定义为groundtruth和对应于匹配先验的坐标之间的差值。我们把使用先验匹配称为先验匹配,并假设它促进了预测的多样化。  需要注意的是,尽管我们以一种与类无关的方式定义了我们的方法,但我们可以将它应用于预测特定类的对象盒。要做到这一点,我们只需要在类的边框上训练我们的模型。此外,我们可以预测每个类的kbox。不幸的是,这个模型的参数数量会随着类的数量线性增长。此外,在一个典型的设置中,给定类的对象数量相对较少,这些参数中的大多数会看到很少有相应梯度贡献的训练示例。因此,我们认为我们的两步过程——首先本地化,然后识别——是一个更好的选择,因为它允许使用少量参数利用同一图像中多个对象类型的数据 我们使用的本地化和分类模型的网络架构与[10]使用的网络架构相同。我们使用Adagrad来控制学习速率衰减,128的小批量,以及使用多个相同的网络副本进行并行分布式训练,从而实现更快的收敛。如前所述,我们在定位损失中使用先验——这些是使用训练集上的均值来计算的。我们还使用α = 0.3来平衡局部化和置信度损失。定位器可以输出用于推断的种植区以外的坐标。坐标被映射和截断到最后的图像区域。另外,使用非最大抑制对盒进行修剪,Jaccard相似度阈值为0.5。然后,我们的第二个模型将每个边界框分类为感兴趣的对象或“背景”。为了训练我们的定位器网络,我们从训练集中生成了大约3000万幅图像,并对训练集中的每幅图像应用以下步骤。最后,样品被打乱。为了训练我们的本地化网络,我们通过对训练集中的每一幅图像应用以下步骤,从训练集中生成了大约3000万幅图像。对于每幅图像,我们生成相同数量的平方样本,使样本总数大约为1000万。对于每幅图像,样本被桶状填充,这样,对于0 - 5%、5 - 15%、15 - 50%、50 - 100%范围内的每个比例,都有相同数量的样本,其中被包围框覆盖的比例在给定范围内。训练集和我们大多数超参数的选择是基于过去使用非公开数据集的经验。在下面的实验中,我们没有探索任何非标准数据生成或正则化选项。在所有的实验中,所有的超参数都是通过对训练集。 Pascal Visual Object Classes (VOC)挑战是最常用的对象检测算法基准。它主要由复杂的场景图像组成,其中包含了20种不同的对象类别的边界框。在我们的评估中,我们关注的是2007版VOC,为此发布了一个测试集。我们通过培训VOC 2012展示了结果,其中包含了大约。11000张图片。我们训练了一个100框的定位器和一个基于深度网络的分类器。 我们在一个由1000万作物组成的数据集上训练分类器,该数据集重叠的对象至少为0.5 jaccard重叠相似度。这些作物被标记为20个VOC对象类中的一个。•2000万负作物与任何物体盒最多有0.2个Jaccard相似度。这些作物被贴上特殊的“背景”类标签。体系结构和超参数的选择遵循。 在第一轮中,定位器模型应用于图像中最大-最小中心方形作物。作物的大小调整到网络输入大小is220×220。单次通过这个网络,我们就可以得到上百个候选日期框。在对重叠阈值为0.5的非最大抑制后,保留评分最高的前10个检测项,并通过21路分类器模型分别通过网络进行分类。最终的检测分数是给定盒子的定位分数乘以分类器在作物周围的最大方形区域上评估的分数的乘积。这些分数通过评估,并用于计算精确查全曲线。 首先,我们分析了本地化器在隔离状态下的性能。我们给出了被检测对象的数量,正如Pascal检测标准所定义的那样,与生成的包围框的数量相对比。在图1中,我们展示了使用VOC2012进行训练所获得的结果。此外,我们通过使用图像的最大中心面积(max-center square crop)作为输入以及使用两个尺度(second scale)来给出结果:最大中心面积(max-center crop)的第二个尺度(select3×3windows的大小为图像大小的60%)正如我们所看到的,当使用10个边界框的预算时,我们可以用第一个模型本地化45.3%的对象,用第二个模型本地化48%的对象。这显示出比其他报告的结果更好的性能,例如对象度算法达到42%[1]。此外,这个图表显示了在不同分辨率下观察图像的重要性。虽然我们的算法通过使用最大中心作物获得了大量的对象,但当使用更高分辨率的图像作物时,我们获得了额外的提升。进一步,我们用21-way分类器对生成的包围盒进行分类,如上所述。表1列出了VOC 2007的平均精度(APs)。达到的平均AP是0.29,与先进水平相当。注意,我们的运行时间复杂度非常低——我们只使用top10框。示例检测和全精度召回曲线分别如图2和图3所示。值得注意的是,可视化检测是通过仅使用最大中心方形图像裁剪,即使用全图像获得的。然而,我们设法获得了相对较小的对象,例如第二行和第二列的船,以及第三行和第三列的羊。 在本工作中,我们提出了一种新的方法来定位图像中的对象,该方法可以预测多个边界框的时间。该方法使用深度卷积神经网络作为基本特征提取和学习模型。它制定了一个能够利用可变数量的groundtruth位置的多箱定位成本。在“一个类一个箱”方法的情况下,对1000个盒子进行非max-suppression,使用与给定图像中感兴趣的DeepMulti-Box方法相同的准则,并学习在未见图像中预测这些位置。 我们在VOC2007和ILSVRC-2012这两个具有挑战性的基准上给出了结果,在这两个基准上,所提出的方法具有竞争力。此外,该方法能够很好地预测后续分类器将探测到的位置。我们的结果表明,deepmultibox的方法是可扩展的,甚至可以在两个数据集之间泛化,就能够预测感兴趣的定位,甚至对于它没有训练的类别。此外,它能够捕获同一类物体的多种情况,这是旨在更好地理解图像的算法的一个重要特征。 在未来,我们希望能够将定位和识别路径折叠到一个单一的网络中,这样我们就能够在一个通过网络的一次性前馈中提取位置和类标签信息。即使在其当前状态下,双通道过程(本地化网络之后是分类网络)也会产生5-10个网络评估,每个评估的速度大约为1个CPU-sec(现代机器)。重要的是,这个数字并不与要识别的类的数量成线性关系,这使得所提出的方法与类似dpm的方法非常有竞争力。

195 评论

戆戆的囡囡

1绪论1.1研究背景与研究目的意义中国互联网络信息中心(CNNIC,2018)发布了截至2018年12月的第43次中国互联网发展统计报告。根据该报告,截至2018年12月,中国互联网用户数量为8.29亿,并且每年保持在5000多万增量。而且这种趋势将在未来几年继续保持。5G时代的来临将会加快促进互联网与其他产业融合,网络规模必然会进一步增大。传统的网络管理系统以分布式网络应用系统为基础,采用软件和硬件相结合的方式。SNMP协议是目前网络管理领域运用最为广泛的网络管理协议,它将从各类网络设备中获取数据方式进行了统一化,几乎所有的网络设备生产厂商都支持此协议。然而传统的基于SNMP的网络管理软件大多基于C/S架构,存在着扩展性和灵活性差,升级维护困难等缺点,对网为网络的管理带来了一定程度的不便。因此,基于三层的网管系统己经成为发展趋势,随着Web技术迅猛发展,诞生了以Web浏览器和服务器为核心,基于B/S ( Browser/Server)架构的“Web分布式网络管理系统”,它具有不依赖特定的客户端应用程序,跨平台,方便易用,支持分布式管理,并且可动态扩展和更新等优点。本文将重点研究基于BP故障诊断模型,实现了一种以接口故障为研究对象的智能网络管理系统模型,并以此为基础,设计与实现基于web的智能网络管理系统,不仅可以通过对网络数据实时监控,而且基于BP网络故障诊断模型可以诊断通信网中的接口故障,在一定程度上实现网络故障管理的自动化。该系统在保证网络设备提供稳定可靠的网络服务同时,也可以降低企业在维护网络设备上的成本。1.2国内外研究现状网络设备管理是指对各种网络设备(如核心层、汇接层、接入层路由与交换设备、服务器和计算机)进行各种操作和相关配置,管理服务器(Manager)用来处理网络信息,配合管理服务器对网络信息处理并管理的实体被称为代理服务器(Agent),被管对象是指用于提供网络服务或使用网络服务等设备的全部资源信息,各种不同的被管对象构成了管理信息库。在实际的网络管理过程当中,管理服务器和代理服务器以及代理服务器和被管对象三种实体之间都是通过规范的网络管理协议来进行信息的交互(王鹤 2015)。相比国外的网络管理系统及产品,国内相应的网络管理系统和产品起步比较晚,但是随着互联网技术的发展网络管理软件发展势头迅猛,诞生了很多优秀的网络管理软件,这些软件已经广泛运用在我国网络管理领域。1.2.1国外研究现状目前国外大型网络服务商都有与其产品相对应的网络管理系统。从最初步的C/S架构逐步过渡到现在的B/S架构。比较著名的:Cabletron系统公司的SPECTRUM,Cisco公司的CiscoWorks,HP公司的OpenView,Tivoli系统公司的TH NetView。这些网络管理产品均与自家产品相结合,实现了网络管理的全部功能,但是相对专业化的系统依旧采用C/S架构。NetView这款管理软件在网络管理领域最为流行。NetView可以通过分布式的方式实时监控网络运行数据,自动获取网络拓扑中的变化生成网络拓扑。另外,该系统具有强大的历史数据备份功能,方便管理员对历史数据统计管理。OpenView具有良好的兼容性,该软件集成了各个网络管理软件的优势,支持更多协议标准,异种网络管理能力十分强大。CiscoWorks是Cisco产品。该软件支持远程控制网络设备,管理员通过远程控制终端管理网络设备,提供了自动发现、网络数据可视化、远程配置设备和故障管理等功能。使用同一家产品可以更好的服务,因此CiscoWorks结合Cisco平台其他产品针对Cisco设备可以提供更加细致的服务。Cabletron的SPECTRUM是一个具有灵活性和扩展性的网络管理平台,它采用面向对象和人工智能的方法,可以管理多种对象实体,利用归纳模型检查不同的网络对象和事件,找到它们的共同点并归纳本质。同时,它也支持自动发现设备,并能分布式管理网络和设备数据。1.2.2国内研究现状随着国内计算机发展迅猛,网络设备规模不断扩大,拓扑结构复杂性也随之日益增加,为应对这些问题,一大批优秀的网络管理软件应运而生。像南京联创OSS综合网络管理系统、迈普公司Masterplan等多个网络管理系统。华为公司的iManager U2000网络管理系统,北京智和通信自主研发的SugarNMS开源网络管理平台,均得到较为广泛应用。Masterplan主要特点是能够对网络应用实现良好的故障诊断和性能管理,适用于网络内服务器、网络设备以及设备上关键应用的监测管理。SugarNMS具有一键自动发现、可视化拓扑管理、网络资源管理、故障管理、日志管理、支付交付等功能,并提供C/S和B/S两种使用方式。iManager U2000定位于电信网络的网元管理层和网络管理层,采用开放、标准、统一的北向集成,很大程度上缩短OSS集成时间,系统运行以业务为中心,缩短故障处理时间,从而减少企业故障处理成本。近些年来,随着人工智能技术的崛起,越来越多的企业开始将人工智能技术应用在网络管理上面,替代传统的集中式网络管理方式。为了减小企业维护网络的成本,提高网管人员工作效率,智能化、自动化的网络管理系统成为许多学者研究的热点。1.3神经网络在网络管理中的适用性分析网络管理的功能就是对网络资源进行管控、监测通信网络的运行状态以及排查网络故障。管控网络资源,本质上就是管理员为了满足业务需求下发相关设备配置命令改变网络设备状态,以保证稳定的服务;监测网络运行状态一般是指周期的或者实时的获取设备运行状态进行可视化,以方便管理员进行分析当前设备是否正常运行。排查网络故障是管理员通过分析网络设备运行数据与以往数据进行比较或者根据自身经验进行分析,确定故障源头、故障类别、产生原因、解决方法。故障排除是针对前一阶段发现的网络故障进行特征分析,按照诊断流程得出结果,执行特定的指令动作来恢复网络设备正常运行(洪国栋,2016)。神经网络具有并行性和分布式存储、自学习和自适应能力、非线性映射等基本特点。当下最为流行的神经网络模型就是BP(Back-Propagation)神经网络,是一种按照误差逆向传播算法训练多层前馈神经网络,属于监督式学习神经网络的一种。该模型分为输入层、隐含层以及输出层,网络模型在外界输入样本的刺激不断改变连接权值,将输出误差以某种形式通过隐含层向输入层逐层反转,使得网络输出不断逼近期望输出,其本质就是连接权值的动态调整。BP神经网络拥有突出的泛化能力,善于处理分类问题。BP网络是目前常用的误差处理方式,在众多领域得到了广泛的应用,它的处理单元具有数据量大、结构简单等特点,并且神经网络以对大脑的生理研究成果为基础,模拟大脑某些机制与机理组成十分繁杂的非线性动力学系统,其在处理网络设备运行中的数据时以及在比较模糊信号问题的时候,能够自主学习并得出需要的结果。能够将模型中输入输出矢量进行分类、连接、来适应复杂的传输存储处理。因此,本文会基于现有网络管理技术结合BP神经网络去解决网络故障问题。1.4本文主要研究目标1.4.1本文研究目标针对传统网络管理中故障方案的问题与不足,本文探究基于BP神经网络的方法来构建基于通信网接口故障诊断模型。通过构建的通信网接口故障诊断模型可以有效的诊断接口故障并判别出故障类型。推动现有网络管理系统更趋近于智能化。以此为基础,分析、设计、实现基于三层架构的智能网络管理系统1.4.2技术路线智能网络研究首先要确定该系统的开发技术路线,课题研究的主要过程首先是在查阅相关科研资料的基础上,搭建实验环境。在保证网络正常通信的前提下采集各个端口的流入流出流量,记录设备的运行状态并对设备进信息进行管理。同时布置实验环境相应故障,包括:改变端口状态、更改端口ip地址、子网掩码,采集通讯网络接口故障发生时网络拓扑中产生的异常数据。查阅BP神经网络在故障在诊断方面的相关论文,基于网络通讯设备接口的常见故障以及相关故障文档构建BP神经网络故障模型,并判断故障模型的有效性。逐步地实现系统的全部功能。最后进行系统测试,得出结论,应用于实际。1.5本文组织结构本文主要由六个章节构成,各章节主要内容如下:第一章绪论。本章首先简要介绍了网络管理系统当前的发展及应用现状从而进一步分析出建立智能网络管理系统的重要意义。阐述了网络管理系统国内外研究现状。最后论述了本文研究目的与组织结构。第二章相关概念及相关技术。本章对SNMP的相关技术进行详细介绍,SNMP组织模型 、SNMP管理模型、SNMP信息模型、SNMP通讯模型。然后对前端框架Vue和绘图插件Echarts技术进行介绍,其次介绍了常见的故障分析技术,专家系统、神经网络等,最后对神经网络基本概念和分类进行简要描述。第三章基于BP神经网络故障推理模型。介绍了BP神经网络的基本概念、网络结构、设计步骤、训练过程,以接口故障为例详细介绍了BP神经网络故障模型的构建过程。第四章智能网络管理系统分析与系统设计。首先进行了需求分析,其次对体系结构设计、系统总体模块结构设计进行说明,对系统各个功能模块分析设计结合活动图进行详细说明,最后对数据库设计进行简要说明。第五章智能网络管理系统的实现。对整体开发流程进行了说明,对用户管理模块、配置管理模块、设备监控模块、故障诊断模块实现流程进行描述并展示实现结果。第六章系统测试与结论。并对系统的部分功能和性能进行了测试,并加以分析。第七章总结与展望。总结本文取得的研究成果和存在的问题,并提出下一步改进系统的设想与对未来的展望。2相关概念及相关技术2.1网络管理概述网络管理就是通过合适手段和方法,确保通信网络可以根据设计目标稳定,高效运行。不仅需要准确定位网络故障,还需要通过分析数据来预先预测故障,并通过优化设置来降低故障的发生率。网络管理系统的五大基本功能,分别为:配置管理、性能管理、故障管理、计费管理和安全管理:1)配置管理:配置管理是最重要和最基础的部分。它可以设置网络通讯设备的相关参数,从而管理被管设备,依据需求周期的或实时的获取设备信息和运行状态,检查和维护设备状态列表,生成数据表格,为管理员提供参考和接口以更改设备配置。2)性能管理:性能管理是评估系统网络的运行状态和稳定性,主要工作内容包括从被管理对象获取与网络性能相关数据,对这些数据进行统计和分析,建立模型以预测变化趋势、评估故障风险,通过配置管理模块修改网络参数,以确保网络性能最优利用网络资源保证通信网络平稳运行。3)故障管理:故障管理的主要功能就是及时辨别出网络中出现的故障,找出故障原因,分析并处理故障。故障管理一般分为四个部分:(1)探测故障。通过被管设备主动向管理站发送故障信息或者管理站主动轮询被管设备两种方式发现故障源。(2)发出告警。管理站发现故障信息之后,会以短信、信号灯等方式提示管理员。(3)解决故障。对故障信息进行分析,明确其故障原因和类型,找到对应方法得以解决。(4)保存历史故障数据。对历史故障数据进行维护备份,为以后的故障提供一定依据,使得处理网络故障更为高效。4)计费管理:计费管理主要功能是为客户提供一个合理的收费依据,通过将客户的网络资源的使用情况进行统计,例如将客户消费流量计算成本从而向客户计费。5)安全管理:目的就是保证网络能够平稳安全的运行,可以避免或者抵御来自外界的恶意入侵,防止重要数据泄露,例如用户的个人隐私泄露问题等。根据网络管理系统的体系结构和ISO定义的基本功能,基于Web的网络管理系统基本模型如图基于Web的网络管理系统基本模型所示,整个模型包括六个组成部分:Web浏览器,Web服务器,管理服务集,管理信息库,网络管理协议,被管资源。 2.2 SNMP协议简单网络管理协议SNMP(Simple Network Management Protocol),既可以作为一种协议,也可以作为一套标准。事实上SNMP己经成为网络管理领域的工业标准,从提出至今共有八个版本,在实践中得到广泛应用的有三个版本,分别是SNMPv1, SNMPv2c和SNMPv3(唐明兵2017)。最初的SNMPv1主要是为了满足基于TCP/IP的网络管理而设计的,但是随着网络管理行业的迅猛发展,第一版本的SNMP协议已经不适应网络行业的发展,身份验证、批量数据传输问题等暴露导致SNMPv1难以支持日益庞大的网络设备。第二版本就演变成了一个运行于多种网络协议之上的网络管理协议,较第一版本有了长足的进步,不仅提供了更多操作类型,支持更多的数据类型而且提供了更加丰富的错误代码,能够更加细致的区分错误,另外支持的分布式管理在一定程度上大大减轻了服务器的压力。但是SNMPv2c依旧是明文传输密钥,其安全性有待提高。直到1998年正式推出SNMPv3,SNMPv3的进步主要体现在安全性能上,他引入USM和VACM技术,USM添加了用户名和组的概念,可以设置认证和加密功能,对NMS和Agent之间传输的报文进行加密,提升其安全性防止窃听。VACM确定用户是否允许特定的访问MIB对象以及访问方式。2.2.1 SNMP管理模型与信息模型SNMP系统包括网络管理系统NMS(Network Management System)、代理进程Agent、被管对象Management object和管理信息库MIB(Management Informoation Base)四部分组成.管理模型图如图所示:1)NMS称为网络管理系统,作为网络管理过程当中的核心,NMS通过SNMP协议向网络设备发送报文,并由Agent去接收NMS发来的管理报文从而对设备进行统一管控。NMS可以主动向被管对象发送管理请求,也可以被动接受被管对象主动发出的Trap报文。2)Agent相当于网络管理过程中的中间件,是一种软件,用于处理被管理设备的运行数据并响应来自NMS的请求,并把结果返回给NMS。Agent接收到NMS请求后,通过查询MIB库完成对应操作,并把数据结果返回给NMS。Agent也可以作为网络管理过程中的中间件不仅可以使得信息从NMS响应到具体硬件设备上,当设备发生故障时,通过配置Trap开启相应端口,被管设备也可以通过Agent主动将事件发送到NMS,使得NMS及时发现故障。3)Management object指被管理对象。一个设备可能处在多个被管理对象之中,设备中的某个硬件以及硬件、软件上配置的参数集合都可以作为被管理对象。4)MIB是一个概念性数据库,可以理解为Agent维护的管理对象数据库,里面存放了被管设备的相关变量信息。MIB库定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。通过读取MIB变量的值, Agent可以查询到被管设备的当前运行状态以及硬件信息等,进而达到监控网络设备的目的。Agent可以利用修改对应设备MIB中的变量值,设置被管设备状态参数来完成设备配置。SNMP的管理信息库是树形结构,其结构类型与DNS相似,具有根节点且不具有名字。在MIB功能中,每个设备都是作为一个oid树的某分支末端被管理。每个OID(object identifier,对象标识符)对应于oid树中的一个管理对象且具有唯一性。有了树形结构的特性,可以高效迅速地读取其中MIB中存储的管理信息及遍历树中节点,读取顺序从上至下。目前运用最为广泛的管理信息库是MIB-Ⅱ,它在MIB-Ⅰ的基础上做了扩充和改进。MIB-Ⅱ结构示意图如2.3图如所示:(1)system组:作为MIB中的基本组,可以通过它来获取设备基本信息和设备系统信息等。(2)interfac组:定了有关接口的信息,例如接口状态、错误数据包等,在故障管理和性能管理当中时常用到。(3)address translation组:用于地址映射。(4)ip组:包含了有关ip的信息,例如网络编号,ip数据包数量等信息。(5)icmp组:包含了和icmp协议有关信息,例如icmp消息总数、icmp差错报文输入和输出数量。(6)tcp组:包含于tcp协议相关信息,例如tcp报文数量、重传时间、拥塞设置等。应用于网络拥塞和流量控制。(7)udp组:与udp协议相关,可以查询到udp报文数量,同时也保存了udp用户ip地址。(8)egp组:包含EGP协议相关信息,例如EGP协议下邻居表信息、自治系统数。(9)cmot组:为CMOT协议保留(10)transmission组:为传输信息保留(11)snmp组:存储了SNMP运行与实现的信息,例如收发SNMP消息数据量。2.2.2 SNMP通讯模型SNMP规定了5种协议基本数据单元PDU,用于管理进程与代理进程之间交换。(1)get-request操作:管理进程请求数据。(2)get-next-request操作:在当前操作MIB变量的基础上从代理进程处读取下一个参数的值。(3)set-request操作:用于对网络设备进行设置操作。(4)get-response操作:在上面三种操作成功返回后,对管理进程进行数据返回。这个操作是由代理进程返回给管理进程。(5)trap操作:SNMP代理以异步的方式主动向SNMP管理站发送Trap数据包。一般用于故障告警和特定事件发生。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。根据TCP/IP模型SNMP是基于UDP的应用层协议,而UDP又是基于IP协议的。因此可以得到完整的SNMP报文示意图如下:(1)版本号表示SNMP版本,其中版本字段的大小是版本号减1,如果SNMPv2则显示的字段值是1。(2)团体名(community)本质上是一个字符串,作为明文密钥在管理进程和代理进程之间用于加密传输的消息,一般默认设置成“public”。 (3)请求标识符(request ID)用于消息识别。由管理进程发送消息时自带一个整数值,当代理进程返回消息时带上该标识符。管理进程可以通过该标识符识别出是哪一个代理进程返回的数据从而找到对应请求的报文。(4)差错状态(error status)表示出现错误时由代理进程返回时填入差错状态符0~5中的某一数字,数字对应相关错误信息。差错状态描述符如下表:(5)差错索引(error index)表示在通信过程当中出现上表2.2的差错时,代理进程在应答请求时设置一个整数,整数大小对应差错变量在变量列表中偏移大小。(6)变量名-值对以key-value的方式存储变量名称和对应值。(7)trap报文是代理进程主动向管理进程发送的报文,不必等待管理进程下一次轮询。SNMPv2的trap报文格式较SNMPv1的trap报文格式更趋近于普通的SNMP响应报文,更加统一化。以SNMPv2为例的trap报文格式如下:trap类型已定义的特定trap共有7种,后面的则是由供养商自己定制。Trap类型如下表所示:2.2.3 SNMP组织模型SNMP代理组织分成分散式和集中式模型。在分散模型中,每一个服务器对应一个SNMP代理,可以理解为一一对应的关系,管理站分别与每个被管服务器上的代理进行通信。集中模型当中,在管理服务器上只创建一个SNMP代理。管理站只与管理管理服务器上的SNMP代理进行通信, SNMP代理接收来自某一固定区域的所有数据。如图2.6所示:2.3 Vue为实现前后端分离开发的理念,Vue应运而生。作为构建用户界面框架的Vue.js简单易上手使得前端开发人员不必再编写复杂的DOM操作通过this来回寻找相关节点,很大程度上提高了开发的效率。通过MVVM框架,可以自动完成视图同步数据更新,在对实例new Vue(data:data)进行声明后data中数据将与之相应的视图绑定,一旦data中的数据发生变更,视图中对应数据也会发生相应改变。Vue.js基于MVVM框架实现了视图与数据一致性,MVVM框架可以分为三个部分:Model、ViewModel、View。MVVM框架模式:Vue.js的理念是“一切皆为组件”,可以说组件是Vue.js的最强大功能。组件可以扩展HTML元素,将HTML、CSS、JavaScript封装成可重用的代码组件,可以应用在不同的场景,大大提高效率。它与传统的JavaScript相比,采用虚拟DOM渲染页面。当有数据发生变更时,生成虚拟DOM结构与实际页面结构对比,重新渲染差离部分,进一步提供了页面性能。2.4 EchartsEcharts(Enterprise Charts),它是由百度公司研发的纯JavaScript图表库,可以流畅的运行在PC和移动设备上。ECharts兼容当前主流浏览器,底层依赖轻量级Canvas库ZRender,Echarts提供直观、生动、交互性强、高度自定义化的可视化图标。ECharts包含了以下特性:1)丰富的可视化类型:既有柱状图、折线图、饼图等常规图,也有可用于地理数据可视化的热力图、线图等,还有多维数据可视化的平行坐标。2)支持多种数据格式共存:在4.0+版本中内置的dataset属性支持直接传入包括二维表中。3)多维数据的支持:可以传入多维度数据。4)移动端优化:特别针对移动端可视化进行了一定程度优化,可以使用手指在坐标系中进行缩放、平移。5)动态类型切换:支持不同类型图形随意切换,既可以用柱形图也可以用折线图展示统一数据,可以从不同角度展现数据。6)时间轴:对数据进行可视化的同时,可以分为周期或者定时进行展示,所有利用时间轴可以很好的动态观察数据的变化。2.5目前常见的故障诊断方法2.5.1基于专家系统的故障诊断方法专家系统是目前最常使用的诊断方法。通俗来讲,专家系统就是模拟人类专家去解决现实中某一特定领域的复杂问题。专家系统接收用户界面数据,将数据传递到推理引擎进行推理,做出决策并执行。专家系统作为人工智能的前身,从上世纪60年代开始到现在专家系统的应用已经产生了巨大的经济效益和社会效益,灵活可靠、极高的专业水平和良好的有效机制使得专家系统已经成为最受欢迎、最活跃的领域之一。2.5.2基于模糊理论的故障诊断方法在实际的工业生产过程当中,设备的“故障”状态与“正常”状态之间并没有严格的界限,它们之间存在一定的模糊过渡状态,并且在特征获取、故障判定过程中都中存在一定的模糊性。 因此,该方法不需要建立精确的数学分析模型,本质上是一个模式识别问题。 根据建议的症状参数,得出系统状态。 通常选择“择近原则”和“最大隶属原则”作为基本诊断原理(尤海鑫,2012)。2.5.3基于免疫算法的故障诊断方法通过模拟自然生物免疫系统的功能,即快速识别外来生物和外来生物,最后通过自我排斥将异物排出体外。生物免疫系统还建立了一套算法来测试各种条件,主要是在线检测,通过不合格的自我和外部组织消除系统来实现故障识别的能力。免疫算法的故障诊断方法属于并行处理能力,可以进行很多复杂的操作和处理。同时可以与遗传算法等其他智能优化算法结合使用,以增强自适应能力和自学习能力。从公开的文献中,学者们并不热衷于这种原理的方法。一般来说,在故障诊断领域,目前人工免疫理论的研究尚处于萌芽阶段。2.5.4基于神经网络的故障诊断方法神经网络是由大量简单的神经节点组成的复杂网络,以网络拓扑分布的方式存储信息,利用网络拓扑分布和权重实现对实际问题的非线性映射调整,并运用使用全局并行处理的方式,实现从输入空间到输出空间的非线性映射。该方法属于典型的模型诊断模式,不需要了解内部诊断过程,而是使用隐式方法完全表达知识。在获取知识时,它将自动生成由已知知识和连接节点的权重构成的网络的拓扑结构,并将这些问题完全连接到互连的网络中,有利于知识的自动发现和获取。并行关联推理和验证提供了便利的途径;神经网络通过神经元之间的交互来实现推理机制。

233 评论

相关问答

  • 国外神经网络研究现状论文选题

    你不翻译了???

    奕彩彩绘 4人参与回答 2023-12-07
  • 人工神经网络的论文知网

    文献已发,请查收!

    兜里五块糖 5人参与回答 2023-12-12
  • 国外神经网络研究现状论文

    BP网络的误差逆传播算法因有中间隐含层和相应的学习规则,使得它具有很强的非线性映射能力,而且网络的中间层数、各层神经元个数及网络的学习系数等参数可以根据实际情况

    秋月羽羽 3人参与回答 2023-12-07
  • 又快又水的sci期刊神经网络

    appliedintelligence多久proof sci文章proof一般7天完成合适,因为sci论文接受后是需要审核的,外审、终审之后才能到校稿环节也就是

    茵为有你 4人参与回答 2023-12-08
  • 卷积神经网络毕业论文

    原文: Scalable Object Detection using Deep Neural Networks——学术范 最近,深度卷积神经网络在许多图

    dongdongth 4人参与回答 2023-12-10