您的位置:主页 > 星际注册娱乐 >

利用深度学习进行时序数据的异常检测

日期:2018-08-18 21:50
网络的输入节点接收一个数字数组(可能是一个称之为张量的多维数组)表示输入数据。例如,一张图片的每个像素可能通过一个标量来表示,然后提供给一个节点。这些输入数据通过系统或参数来传递,通过这些系数的乘法运算将放大或减弱这些输入,这依赖于它学到的重要性,即该像素是否会影响到网络关于整个输入的决策。在一个所谓的致密或完全连接层,每个节点的输出会传递到后续层的的所有节点。这后续会通过所有隐藏致密层,直到输出层为止,即该输入达成的决策的地方。在这个输出层,该网络关于输入的决策是针对预期决策的评估(比如,这个图片中的像素表示的是只猫还是只狗?)。通过比对网络的猜测和包含在测试集中的实际答案评估出误差,然后使用这些误差更新网络的系数,从而改变网络为图片中不同像素赋予的重要性的程度。目标是减少所形成的输出与预期输出之间的错误,正确地标识出来是狗还是猫。该激活函数决定一个信号是否应该发送到连接的节点以及发送的范围。频繁用到的激活仅是一个基本的阶梯函数,如果它的输入低于一些阈值则为0,高于这些阈值则为1。如此,具有阶梯函数激活函数的节点要么向连接的节点发送0,要么发送1。优化算法决定网络如何学习,更精确地说是检测到误差后如何修改权重。通常使用的优化算法是随机梯度下降。最后,成本函数是与预期输出相比的误差的度量,是在对给定训练样本做决策时对神经网络执行情况的估量。随着GPU对矩阵运算的提速,以及大型分布式计算框架的到来,计算能力得到了大幅的提升,这就为快速训练神经网络创造了条件,从而能在许多超参数组合上迅速迭代以寻找合适的架构。此类神经网络可以用于分类和递归。例如,如果使用前馈网络针对输出层上的若干神经元进行分类,则和针对若干类别是一样的。从概念上讲,输出神经元第一次决定的类别是网络预测出来的。更精确地说,每个输出神经元返回一个该记录匹配该类的可能性,然后把可能性最高的类别选做模型的输出分类。卷积神经网络与前馈神经网络类似,至少在网络上传送数据的方式是一样的。它们从形式上粗略模仿了虚拟的大脑皮质。卷积神经在一个底层图像上移动几个像放大镜之类的滤波器。这些滤波器专注于图像子集(碎片或贴片)的特征识别,然后在像场上的一系列贴片中重复这个过程。每个滤波器寻找可视化数据中的不同模式;例如,有的可能寻找的是水平线,有的可能寻找的是对角线,还有的可能寻找的是垂直线。这些线是已知的特征,滤波器在图像上经过,他们构造特征图谱定位每种线每次在图像中出现的不同方位。图像中不同的对象(小猫、波音747、转动中的榨汁机)形成不同的特征图谱,这些图谱最终可用于图像分类。在图像和视频识别领域已证明卷积网络非常有用,因为声音可以以声谱图的形式可视化表示出来,所以卷积网络同样可以广泛应用于语音识别和机器转录的任务上。卷积与前馈网络在图像处理方面的对比。两种网络类型都可以分析图像,但它们的分析方式是不同的。因为卷积神经网络是一步步通过图像的重叠区域训练学着识别每个区域的特征的,而前馈神经网络是在整个图像上训练的。前馈神经网络在特征总是处于特定位置或方向的图像上进行训练,如果特征出现在一个不常见的位置可能就识别不到了,而得到充分训练的卷积神经网络是可以做到的。和前馈神经网络不同,递归神经网络的隐藏层节点维护一个内部状态(一片内存),该网络有新的输入时会更新它。这些节点即可以基于当前输入做决策,也可以根据之前的输入做决策。递归神经网络可以使用内部状态去处理以任意序列输入的相关数据,比如时间序列。对于包含时间维度的数据集来说(比如网页或服务器活动的日志、从硬件或医疗设备而来的传感器数据;财务事务;或者通话记录),递归神经网络是最合适的。跟踪跨许多时间步长数据内的依赖关系和相互关系需要你了解当前状态和之前的一些状态。尽管使用接收事件窗口的典型前馈神经网络可能也能做到,但后续该窗口会随时间发生变动,这一方法会把我们局限到由该窗口捕获的依赖上,解决方案会不灵活。应用到文本中,异常检查可能要面对语法错误,因为我们所写的内容是有语法结构的。同样的,网络行为也有结构。它遵循可被学习的可预测模式。受过正常网络行为训练的递归神经网络会将网络入侵感知出来,就像把无标点的句子作为异常一样。当在生产环境执行网络异常检测时,日志文件需要被序列化为同一格式,模型在其上接受训练,然后基于神经网络的输出,你会得到报告,看当前活动是否在正常预期的网络行为之内。为获得可重复的结果,设置随机种子去初始化神经网络的权重。典型情况下,会随机初始化系数,为了在调整其他超参数时获取一致的结果,我们需要设置一个种子,使我们能够一遍一遍调整和校验时可以使用同样的随机权重。使用随机梯度下降时,误差梯度(即系统变化与网络误差变化的关系)被计算出来,然后权重沿此梯度移动力图将误差调整至最小。随机梯度下降为我们指定了减少误差的方向,而学习率决定在这个方向上的步长有多大。如果学习率过高,可能误差最小化就过了头;如果它太低,那么训练将永无休止。这是一个你可能需要去调整的超参数。
星际注册娱乐 返回头部