LSTM-Autoencoder深度学习模型在电动机异常检测中的应用

news2024/11/15 9:50:42

LSTM-Autoencoder深度学习模型在电动机异常检测中的应用

LSTM-Autoencoder Deep Learning Model for Anomaly Detection in Electric Motor

Citation: Lachekhab, F.; Benzaoui, M.; Tadjer, S.A.; Bensmaine, A.; Hamma, H. LSTM-Autoencoder Deep Learning Model for Anomaly Detection in Electric Motor. Energies 2024, 17, 2340. https://doi.org/10.3390/en17102340

DOI: 10.3390/en17102340

摘要

异常检测是识别数据中不寻常或未预见模式或事件的过程。异常可能由多个因素引起,如硬件故障、恶意活动或数据基本分布的变化。异常检测的一个关键因素是平衡敏感性和特异性之间的权衡。平衡这些权衡需要对异常检测算法进行仔细调优,并考虑特定领域和应用。近年来,深度学习技术,如LSTM(长短期记忆算法),作为检测异常的自编码器,受到了越来越多的关注。本研究的主要目标是开发一种使用LSTM-autoencoder深度学习模型的电气设备异常检测解决方案。研究重点是检测电动机在轴向(X)、径向(Y)和切向(Z)三个轴上的振动变化,这些变化可能表明潜在的故障或失败。所提出的模型结合了两种架构;在自编码器中添加了LSTM层,以利用LSTM处理大量时间数据的能力。为了证明LSTM的效率,我们将使用Python编程语言和TensorFlow机器学习框架创建一个常规自编码器模型,并将其性能与我们的主要LSTM自编码器模型进行比较。两个模型将在同一个数据库上进行训练,并在三个主要点上进行评估:训练时间、损失函数和MSE异常。根据获得的结果,LSTM-autoencoder在损失值和MSE异常方面明显优于常规自编码器。另一方面,常规自编码器在训练时间上表现更好。因此,尽管由于添加的LSTM层复杂性,LSTM-autoencoder的速度较慢,但它仍表现出优越的性能。

关键词:长短期记忆算法;深度学习模型;自编码器模型;异常检测;电气设备

1. 引言

自18世纪第一次工业革命以来,工业维护技术已经发展,以应对工业环境中设备可靠性和性能的挑战。最初,主要的方法是反应性维护,也称为“故障维护”。这涉及等待设备故障发生,然后采取纠正措施解决问题。虽然这种方法在短期内简单且成本效益高,但通常会导致显著的生产损失、安全隐患和更高的维修成本。

随着工业变得更加复杂,停机成本增加,预测性维护作为一种更为主动的策略出现,涉及基于预定计划的例行检查和维护任务。此方法旨在通过解决已知的磨损问题来防止意外故障。虽然预防性维护在一定程度上减少了计划外的停机,但它并不总是高效,并且经常导致不必要的维护活动和相关成本。

近年来,随着技术的进步和人工智能技术在工业领域的逐步应用,预测性维护(PdM)获得了越来越多的关注。此方法利用来自传感器、监控系统和预测算法的实时数据来评估设备状况,识别潜在故障,并相应地安排维护活动。通过采用这种方法,组织可以优化维护计划、降低成本、最大化设备正常运行时间,并提升整体运营效率。

此外,人工智能、人工神经网络(ANNs)和深度学习(DL)方法正被整合到工业维护实践中。这些技术使得更先进的数据处理、异常检测和预测建模成为可能,从而实现更准确的预测和优化的维护策略。最常见的深度学习技术之一是长短期记忆(LSTM)架构,它是一种可以建模和预测序列数据的递归神经网络(RNN)算法。RNN可以作为回归模型用于异常检测。标准RNN的主要问题是由于在训练阶段应用反向传播(BPTT)算法时,梯度消失/爆炸问题导致无法学习长期模式。因此,标准RNN在现实应用中很少使用,通常基于两种改进的RNN变体:长短期记忆(LSTM)和门控循环单元(GRU)。

Barso介绍了异常检测方法的最新进展,如卷积神经网络(CNN)、生成模型、变分自编码器(VAE)和基于时间逻辑的学习。

预测性维护是一种非常先进的维护技术,它需要大量的数据来正确运行,并在故障发生之前预测未来的故障。为了正确处理所需的大量数据并提取模式以进行高效训练和预测未来故障,LSTM-autoencoder模型的实施可能是至关重要的。

LSTM-autoencoder能够捕捉长期依赖关系和建模上下文信息,使其在处理具有时间动态的序列数据任务中尤为有用。因此,LSTM非常适合处理、训练和学习我们的数据库,这些数据库包含大量的序列振动数据。

我们的模型结合了两种架构;在自编码器中添加了LSTM层,以利用LSTM处理大量时间数据输入的能力。

为了证明模型的效率,我们首先介绍了一个常规自编码器,并使用Python在相同的数据上训练了两个模型。在可视化两个模型的结果和能力后,我们比较并审查了它们在三个点上的性能:训练时间、损失函数和MSE异常。

2. 相关工作

基于人工智能(AI)技术的预测性维护(PdM)方法,如深度学习(DL)和机器学习(ML),近年来在工业中被广泛使用,以管理工业过程的健康状态。由于这些深度学习算法的发展和日益普及,现在可以收集来自各种设备的大量操作和过程条件数据,并利用这些数据进行自动故障检测、诊断,最重要的是预测,以提高组件的利用率并减少和预测停机时间 [8]。

文献[9]中指出了人工智能在制造业中的当前形势。通过系统地审查不同的期刊和科学资料,以更好地理解成功过渡到由人工智能支持的工业4.0所需的要求和步骤,以及在此过程中可能遇到的挑战。

Zhang在文献[10]中提供了对正在进行和即将开展的人工智能研究的最新分析。他指出人工智能是一个多学科领域,具有在多个领域的各种应用,并总结了该领域的下一步进展不仅可以使计算机具备更好的逻辑思维能力,还可以赋予其情感能力。未来机器智能可能会超越人类智能。

人工智能的一个关键驱动因素是机器学习(ML),它专注于开发可以从数据中学习并随着时间的推移提高性能的算法。无需更多的显式编程,机器学习算法可以整理数据、从中学习、获得洞见,并基于分析的信息生成预测 [11]。机器学习关注于使用数据来训练模型,然后使用模型来预测任何输入数据 [12]。

机器学习的显著优势是其处理复杂和大规模数据集的能力。通过处理大量数据,机器学习算法可以揭示复杂的模式和关系,这些模式和关系可能对人类并不明显。这使得机器学习可以在语音识别、图像处理、自然语言处理、推荐系统、欺诈检测、自动驾驶等多个领域得到应用。

计算机科学,包括人工智能和分布式计算领域,在以工程为主的领域中日益突出,突显了多学科方法在满足工业4.0需求中的必要性。然而,该领域的分类存在若干限制和障碍 [8]。

文章提到维护的历史概述。文中提出了与工业4.0相关的“新型”维护,即预测性维护(PdM)。他们得出结论认为,PdM作为所有维护形式中最先进的,是公司努力发展的目标,并能为其带来竞争优势。

机器学习算法已广泛应用于计算机科学及其他领域,包括生产系统、工具和机器的预测性维护,这是数据驱动方法的潜在应用之一。机器学习算法可以利用工业创建的大量数据解决许多问题。在关于机器学习技术在预测性维护中的最新进展的研究中,最常用的机器学习算法包括[13]中提到的:逻辑回归(LR)、支持向量机(SVM)、强化学习(RL)和决策树(DT)。预测性维护的持续增长被强调 [14]。文献[15]调查了与汽车工业相关的机器学习论文,提到机器学习在预测性维护中的适用性,并得出结论认为深度学习技术的实施将增加,但需要大量标记数据。文献[16]是一篇旨在通过回顾前沿深度学习架构及其与预测性维护的集成,来简化选择适当深度学习模型的任务的文章,以满足工业公司(异常检测、根本原因分析和剩余有效寿命估算)的需求。文章对工业应用进行了分类,并解释了如何弥补任何缺口。随后概述了开放的困难和进一步研究的潜在方向。文献[17]总结了机器学习和深度学习的基础知识,以生成对当前智能系统系统框架的更广泛理解。作者抽象定义了关键词和概念,描述了如何使用机器学习和深度学习开发自动化分析模型,并讨论了在电子市场和网络商业环境中应用这些智能系统的困难。

机器学习技术可以细分为监督学习、无监督学习、半监督学习和强化学习。文献[18]回顾了监督学习研究的现状,重点讨论了三种常见的弱监督形式:不完整监督、不精确监督和不准确监督。研究确定,当有大量带有真实标签的训练实例时,监督学习技术取得了显著成功。然而,在实际应用中,获取监督信息会产生成本,使得执行弱监督学习的能力通常是有益的 [19]。文献[20]将半监督学习描述为一个领域。该调查提供了对这一重要机器学习领域的最新分析,涵盖了从2000年代初到最近的技术发展。此外,他们还介绍了一种新的半监督分类技术的分类法,该分类法区分了方法的主要目标和未标记数据。

文献[21]概述了基于人工神经网络(ANN)的无监督学习的训练和学习,解释了在ANN无监督学习环境中选择和调整多个隐藏节点的过程。此外,还描述了无监督学习的现状、优点和困难。文献[22]介绍了深度强化学习模型、算法和技术。特别关注深度强化学习的泛化特征和实际应用,其中之一是卷积神经网络(CNN)算法。文献[23]提供了对一维卷积神经网络(1D CNN)基本设计思想和技术应用的全面分析,特别强调了该领域的最新进展。最后,文章突出了它们的独特品质,展示了其前沿性能。文献[23]提出了一种数据驱动的方法,将递归神经网络(RNNs)与可理解的解释相结合,用于预测死亡概率。这种方法不仅提供了预期的死亡风险,还能够识别和解释与预测相关的历史贡献。研究确定,如果ICU中的患者临床观察能实时持续监测,可能会从早期干预中受益。

文献[24]和该领域的专业人士介绍了RNN及其若干新进展。解释了基础知识和近期进展,并介绍了研究挑战,提到其他RNN架构,特别是LSTM。

3. 长短期记忆算法(LSTM)

递归神经网络(RNN)架构的一个典型特征是循环连接,这赋予了RNN基于过去状态和当前输入数据更新当前状态的能力。这些由标准递归单元组成的网络在众多挑战中取得了令人惊叹的成功。不幸的是,当相关输入数据之间的间隔较大时,上述RNN无法连接相关信息 [25]。

为了处理“长期依赖性”,Hochreiter 和 Schmidhuber [26] 提出了长短期记忆(LSTM)模型。

长短期记忆(LSTM)是一种递归神经网络(RNN),特别适用于处理序列数据,如时间序列异常检测,这使其在预测性维护(PdM)方法中实现起来十分方便。

特别是,LSTM在处理设备性能数据的复杂和动态特性方面表现出色,这些数据通常包含多个变量和依赖关系。通过捕捉数据中的长期依赖性,LSTM可以提供更准确的未来设备故障预测,从而使组织能够在故障发生之前采取预防措施 [6]。

LSTM已成为深度学习(DL)的研究重点。为了研究其学习能力,文献[25]考察了LSTM单元及其变体。作者还将LSTM网络分为两种主要类型:LSTM主导网络和集成LSTM网络,并讨论了它们的不同应用。最后,概述了LSTM网络的研究方向。文献[27]回顾了RNN的训练过程,并解释了LSTM神经网络如何通过学习长期依赖性来处理RNN的主要弱点。在文献[28]中,提出了一种RNN-LSTM情感分析模型。其目标是构建能够从自然语言文档中提取主观信息(如情感和意见)的系统,以提供可以应用于特定任务的结构化知识。LSTM模型的性能非常出色,成功率达到96%。LSTM网络能够在没有先验模式持续时间知识的情况下学习更高层次的时间模式,并且可能是一种建模典型时间序列行为的实用方法,可用于检测异常 [29]。

一个特定类型的神经网络是自编码器算法。文献[30]中提到了自编码器的架构、目标和不同应用。

为区分垃圾评论和真实评论,文献[31]建议了一种结合LSTM网络和自编码器(LSTM-autoencoder)的无监督学习模型。该模型经过训练,以仅通过文本细节识别真实评论趋势。实验结果表明,该模型能够以合理的准确性区分真实评论和垃圾评论。

在工程应用中,LSTM-autoencoder模型被用于训练和测试,以提高异常检测过程的准确性 [32]。这一策略使得能够识别振动数据中的模式和趋势,这些模式和趋势可能在使用更传统技术时并不明显。使用相关系数模型和LSTM-autoencoder在垂直旋转系统中发现异常的准确率为97%。

文献[33]中提出了一种基于LSTM网络的多变量时间序列数据预测方法,以及一种结合LSTM自编码器网络和一类SVM算法用于销售异常检测的方法。获得的结果表明,与之前提出的基于LSTM的方法相比,基于LSTM自编码器的方法在异常识别方面表现更好。

图1中展示的LSTM架构由几个单元组成,每个单元包含三个主要组件:输入门、遗忘门和输出门。这些门协同工作,以控制信息进入和离开记忆单元的流动 [6]。
图1 LSTM gates′ diagram
图1 LSTM 门结构示意图
Figure 1. LSTM gates′ diagram [5].

3.1 输入门

输入门确定哪些信息对当前时间步是相关的,并应存储在记忆单元中。它接收当前输入和先前的隐藏状态作为输入,并对每个组件应用激活函数(通常是sigmoid函数)。Sigmoid函数在神经网络中常用作二分类问题的激活函数 [34]。

第一个层的计算可以表示为以下方程:
i 1 = σ ( W i 1 ⋅ ( H t − 1 , x t ) + bias i 1 ) i1 = \sigma(W_{i1} \cdot (H_{t-1}, x_t) + \text{bias}_{i1}) i1=σ(Wi1(Ht1,xt)+biasi1)
其中 W i 1 W_{i1} Wi1 是第一层的权重矩阵, i 1 i1 i1 H t − 1 H_{t-1} Ht1 是先前的隐藏状态, x t x_t xt 是当前输入, bias i 1 \text{bias}_{i1} biasi1 是一个向量,用于提高模型的准确性。

第二层表示候选值的计算,通过将先前的隐藏状态和当前输入传递到双曲正切函数中来调节网络,如下所示:
i 2 = tanh ⁡ ( W i 2 ⋅ ( H t − 1 , x t ) + bias i 2 ) i2 = \tanh(W_{i2} \cdot (H_{t-1}, x_t) + \text{bias}_{i2}) i2=tanh(Wi2(Ht1,xt)+biasi2)
这两个层的输出相乘,得到需要存储在记忆单元中的信息:
i input = i 1 ⋅ i 2 i_{\text{input}} = i1 \cdot i2 iinput=i1i2

3.2 遗忘门

遗忘门确定记忆单元中哪些信息应该被遗忘或丢弃,基于当前输入和先前的隐藏状态。它的主要作用是防止网络记住无关或过时的信息,这可能导致过拟合或性能不佳。

为了实现这一点,LSTM的遗忘门计算一个遗忘向量,这是一个介于0和1之间的值集合,用于确定应该保留或遗忘先前长期记忆中的每个元素。遗忘向量是通过将当前输入和先前的短期记忆的拼接通过sigmoid激活函数创建的。这个sigmoid函数将输入映射到0到1之间的范围,类似于输入门,值接近0表示对应的先前长期记忆元素应该被遗忘,值接近1表示该元素应该被保留。

遗忘向量的值范围从0到1,可以通过以下方程数学表示:
f = σ ( W forget ⋅ ( H t − 1 , x t ) + bias forget ) f = \sigma(W_{\text{forget}} \cdot (H_{t-1}, x_t) + \text{bias}_{\text{forget}}) f=σ(Wforget(Ht1,xt)+biasforget)
一旦计算出遗忘向量,它会与先前的长期记忆逐元素相乘,得到新的长期记忆,如下所示:
C t = f ⊙ C t − 1 C_t = f \odot C_{t-1} Ct=fCt1
其中 C t C_t Ct 是新的长期记忆, f f f是遗忘向量, ⊙ \odot 表示逐元素乘法, C t − 1 C_{t-1} Ct1 是先前的长期记忆。

新的长期记忆随后使用输入门中的当前输入信息进行更新,输入门决定了当前输入的哪些部分应添加到长期记忆中:
C t = f ⊙ C t − 1 + i input C_t = f \odot C_{t-1} + i_{\text{input}} Ct=fCt1+iinput
这一过程有效地抹去了与当前输入不再相关的先前长期记忆中的信息。通过这样做,网络可以学会关注输入数据的最重要特征,从而做出更好的预测或决策。

3.3 输出门

LSTM单元中的输出门是一个关键组件,决定了长期记忆和当前输入的哪些部分被传递到下一个单元或用作网络的最终输出。它负责调节信息流,并选择性地将相关信息传递给后续时间步或作为输出 [35]。

输出门的输入包括当前输入、先前的隐藏状态和当前的长期记忆,这些信息都经过了各自的门(输入门和遗忘门)的处理,如前所述。

首先,将当前输入和先前的隐藏状态传递到具有适当权重的sigmoid激活函数中,这将决定当前长期记忆中应包含多少比例的内容到新的短期记忆中。

O 1 = σ ( W O 1 ⋅ ( H t − 1 , x t ) + bias O 1 ) O1 = \sigma(W_{O1} \cdot (H_{t-1}, x_t) + \text{bias}_{O1}) O1=σ(WO1(Ht1,xt)+biasO1)

接着,对遗忘门计算出的、由输入门更新的新的长期记忆应用tanh激活函数。这将对新的长期记忆的值进行归一化处理。

O 2 = tanh ⁡ ( W O 2 ⋅ C t + bias O 2 ) O2 = \tanh(W_{O2} \cdot C_t + \text{bias}_{O2}) O2=tanh(WO2Ct+biasO2)

归一化后的新的长期记忆与sigmoid门的输出逐元素相乘,得到新的短期记忆:

H t ⋅ O t = O 1 ⊙ O 2 H_t \cdot O_t = O1 \odot O2 HtOt=O1O2

由这些门产生的隐藏状态/短期记忆和单元状态/长期记忆随后被传递到下一个时间步,以便重复处理或用作网络的最终输出。

4. 系统和数据库描述

在介绍我们的模型之前,我们需要澄清所用数据和系统的来源及其特性。我们的数据库由来自SpectraQuest的Machinery Fault Simulator(MFS)对齐-平衡-振动(ABVT)系统的传感器收集的时间序列数据组成。

SpectraQuest(美国弗吉尼亚州里士满)是一家专门提供机械故障诊断、状态监测和振动分析解决方案的公司。他们提供一系列产品和服务,旨在帮助工业界确保其机械设备的可靠性、性能和安全性。

SpectraQuest的MFS ABVT是一种专用设备,旨在模拟机械中各种故障条件和性能场景(见表1)。它通常用于故障诊断和状态监测领域的研究、测试和培训。

为了收集数据,使用了四个传感器:

  • 三个工业IMI传感器,型号601A01,加速度计,分别用于径向、轴向和切向方向:灵敏度(±20%)为每g 100 mV(每m/s² 10.2 mV)。频率范围(±3 dB)为16-600000 CPM(0.27–10.000 Hz)。测量范围为±50 g(±490 m/s²)。
  • 一个IMI传感器三轴加速度计,型号604B31,返回径向、轴向和切向方向的数据:灵敏度(±20%)为每g 100 mV(每m/s² 10.2 mV)。频率范围(±3 dB)为30-300000 CPM(0.5–5.000 Hz)。测量范围为±50 g(±490 m/s²)。
    MFS ABVT的使用特性如下表所示(见表 1):

表1 MFS ABVT 的规格 [36]

规格
电机1/4 CV DC
系统重量22 Kg
频率范围700–3600 rpm
转子15.24 cm
轴径16 mm
轴长520 mm
轴承间距30 mm
球数8
球直径0.7145 cm
外罩直径2.8519 cm
FTF0.3750 CPM/rpm

我们的数据库包含两种模拟状态:

  • 正常工作状态:此状态代表机械的正常工作条件,其中所有组件正常运作,没有故障或异常。
  • 不平衡状态:此状态通过添加6 g到35 g的重量来模拟机械旋转组件的不平衡。不平衡可能由于质量分布不均导致振动和性能问题。

在数据集中,有49个正常序列没有任何故障。每个正常序列对应一个固定的转速范围,从737 rpm到3686 rpm,每个序列之间的增量大约为60 rpm。

对于不平衡序列,使用与正常操作情况下相同的49个转速频率,但仅用于负载低于30 g的情况。然而,对于负载等于或超过30 g的情况,由于产生的振动使得系统无法实现超过3300 rpm的转速。这一限制减少了可用的不同转速频率和测量数据的数量。总之,我们在程序中使用了从SpectraQuest的机械故障模拟器获得的模拟数据库。

在异常检测中,目标是识别数据中显著偏离正常模式的模式。使用LSTM网络进行异常检测对于时间序列数据特别有效,因为时间序列数据中的模式可能随时间变化,并且可能难以使用传统方法检测 [37]。

使用LSTM进行异常检测的第一步是用正常数据训练LSTM网络,以学习时间序列中的模式和关系。这个训练过程涉及将历史数据输入到LSTM网络中,并优化网络的参数,以最小化预测值与实际值之间的差异。一旦网络在正常数据上完成训练,就可以用来检测新数据中的异常。

当LSTM遇到一个显著偏离学习到的模式的时间序列数据点时,它可以标记该数据为异常,并提醒用户潜在的问题。例如,在预测性维护的背景下,基于工业设备传感器数据训练的LSTM网络可以识别出可能的设备故障模式,使维护团队能够采取主动措施以防止停机。

自编码器是一种可以学习编码和解码不同类型数据的神经网络。自编码器常用于无监督学习任务,其目标是在较低维空间中学习输入数据的压缩表示,然后使用这一表示尽可能准确地重建原始数据 [30]。

自编码器由两个主要部分组成:编码器和解码器。编码器将输入数据映射到一个较低维的潜在空间,而解码器则从编码数据中重建原始输入数据。

通过训练网络以最小化输入数据与重建数据之间的差异,自编码器可以学习捕捉输入数据的最重要特征,并忽略任何无关或噪声信息。

自编码器有广泛的应用,包括数据压缩、图像和语音识别以及异常检测 [30]。

在异常检测中,自编码器可以通过学习编码系统的正常行为来识别时间数据中的模式。其思想是用正常(或非异常)实例的数据集训练自编码器,然后用它重建新的实例。当遇到异常实例时,其重建误差往往比正常实例更高,因为它不符合学习到的模式。因此,重建误差可以作为异常检测的度量指标,具有高重建误差的实例可以被标记以供进一步调查。

自编码器相较于传统的异常检测方法有几个优势;它们能够学习数据中的复杂模式,并且不需要显式的特征工程。它们还能够适应数据中的新模式和变化,使其适用于动态系统。

4.1. 数据拆分

为了有效地训练我们的模型,需要将数据拆分为训练集和测试集:

  • 训练集 是模型学习输入特征和目标变量之间的基本模式和关系的数据部分。训练集通常大于测试集,以提供足够的数据供模型学习。
  • 测试集 是用于评估训练模型性能的数据子集。它作为模型在训练阶段未接触过的未见数据集。测试集用于评估模型对新数据的泛化能力。通过对测试集进行预测,可以评估模型的性能指标,如准确率、精确率、召回率或均方误差。测试集有助于确定训练模型的有效性和可靠性。

训练集和测试集的形状根据使用的数据量而变化。通常,数据量越大,我们可以用于训练集的百分比就越大。在本研究中,使用了1200万个数据值,这使我们能够进行95%对5%的训练-测试拆分。

4.2. 数据预处理

预处理是将原始数据转换为能够最大化模型性能和可靠性的格式的必要步骤。

下采样 是一种常用于数据集过大的情况下的预处理技术。其目的是减少处理的数据量,以创建一个更平衡的数据集,从而提高深度学习模型的性能和公平性。在本研究中,使用了“downSampler”函数。这是一种下采样技术的实现,通过计算数据的连续子集的均值来减少数据集的大小。训练数据和测试数据都进行了下采样,采样率为1000,这将两个数据集的大小减少到通过将1000个样本的连续子集聚合成单行。

LSTM模型主要设计用于处理三维数据格式,因此,为了充分发挥所提出模型(时间序列异常检测)的潜力,数据预处理的最后一步是将二维数据重塑为三维数据。

5. LSTM-自编码器

在LSTM自编码器模型架构中,输入数据X经过多个LSTM层。第一个LSTM层(L1)处理输入数据,返回序列以保留时间信息。第二个LSTM层(L2)进一步处理第一个层的输出,但不返回序列。相反,它将信息压缩为固定长度的向量。第L3层创建一个层,该层重复输入序列的压缩表示,允许后续LSTM层对其进行处理并生成与原始输入相同长度的重建序列。第三个LSTM层(L4)接收这个压缩表示,并重建出与原始输入相同长度的序列。

最后,第四个LSTM层(L5)细化重建的序列。输出层使用TimeDistributed包装器对每个时间步进行独立的密集转换,旨在重建原始输入数据。最终得到的模型是一个LSTM自编码器,能够学习压缩和重建输入数据,同时捕捉时间依赖性和模式。

在定义了创建模型的函数后,我们配置了LSTM自编码器模型的训练过程,包括优化器、损失函数、指标和早期停止回调,并提供了模型架构的摘要(表2)。

表2. LSTM 自编码器模型汇总

层(类型)输出形状参数量
Input_1(输入层)[(None, 1, 3)]0
Lstm(None, 1, 64)17,408
Lstm_1(None, 64)33,024
Repeat_vector(None, 1, 64)0
Lstm_2(None, 1, 32)12,416
Lstm_3(None, 1, 64)24,832
Time_distributed(None, 1, 3)195
总参数量87,875
可训练参数量87,875
不可训练参数量0

自编码器使用Adam优化器进行编译,Adam是一个高效的神经网络优化算法,并且使用均方误差(MSE)作为损失函数来测量模型预测值与真实值之间的差异,因为它计算了预测值与目标值之间的平均平方差。还指定了准确率指标来评估模型的性能。

MSE(均方误差)函数定义如下:

MSE = 1 n ∑ i = 1 n ( y i − y i ^ ) 2 (10) \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y_i})^2 \tag{10} MSE=n1i=1n(yiyi^)2(10)

其中, n n n 是样本数量, y y y 是目标值, y ^ \hat{y} y^ 是预测值。

提供的架构执行了使用Adam优化器和MSE损失函数训练LSTM自编码器模型所需的设置和配置。早期停止设置为20个epochs的耐心期,最后显示了模型摘要。LSTM-AE每个epoch的训练时间如图2所示。通过分析图表结果,我们注意到模型很快收敛到相对优化的解决方案。这表明模型在初期epochs内有效地学习了训练数据的基本模式和特征。
Figure 2. LSTM-AE training time per epoch.
图 2. LSTM-AE 每个历元的训练时间。
Figure 2. LSTM-AE training time per epoch.

从第40个epoch左右开始,训练时间的停滞表明进一步的训练并不会显著提高模型的性能,这就是为什么我们的模型保存了第65个epoch作为最佳epoch,并在第100个epoch时停止训练。模型损失表示LSTM自编码器模型生成的重建序列(输出)与原始输入序列(目标)之间的差异。

损失值使用MSE作为损失函数计算,模型损失随训练epochs变化的图示如图3所示。这提供了模型在训练过程中损失变化的见解。
Figure 3. LSTM-AE model loss.
图 3. LSTM-AE 模型损失。
Figure 3. LSTM-AE model loss.

训练准确率和验证准确率的图示提供了模型在训练过程中的性能的宝贵见解。通过比较两条曲线,我们可以评估模型的学习和泛化能力。在图4中,两条曲线都在上升并趋于收敛,表明模型学习良好并且能够泛化到未见数据。两条曲线之间的较大差距可能表明过拟合,但在我们的情况中并未出现这种情况。

我们还可以观察到曲线的整体趋势,准确率随时间增加,表明学习成功。通过比较准确率和损失图,我们可以观察到模型的准确率在提高,而损失在减少。这表明模型在有效优化其预测并从训练数据中学习。

图4显示了LSTM-AE模型的准确率。通过准确率和损失图表,我们可以观察到模型的准确率提高,而损失减少。这表明模型在有效优化其预测并从训练数据中学习。
Figure 4. LSTM-AE model accuracy.
图 4. LSTM-AE 模型的准确率。
Figure 4. LSTM-AE model accuracy.

我们通过绘制模型在不平衡的轴向、径向和切向振动的均方误差(MSE)来结束LSTM-AE的可视化。图5的结果表明模型的MSE非常小,这意味着我们的模型学习有效,其性能是可以接受的。MSE的随机峰值表明存在异常,这将接下来被检测。
Figure 5. LSTM-AE MSE.
图 5.LSTM-AE MSE。
Figure 5. LSTM-AE MSE.

6. LSTM-AE异常检测

在解释和可视化LSTM-AE模型之后,我们将回顾其在检测异常方面的表现。图6展示了6 g MSE不平衡情况。我们应用了95%的阈值。
Figure 6. LSTM-AE 6 g imbalance anomalies.
图 6. LSTM-AE 6 g 6g 6g 不平衡异常。
Figure 6. LSTM-AE 6 g 6g 6g imbalance anomalies.

使用95百分位数作为阈值提供了一种平衡的方法。更高的百分位数创建了更为保守的阈值,减少了假阳性但可能遗漏一些异常。较低的百分位数提高了对异常的敏感性,但可能会导致更多的假阳性。阈值的选择取决于具体的应用及所需的敏感性和精确度水平。

通过将阈值设置为95百分位数,我们可以捕捉到大多数正常数据,同时允许少量异常数据。

7. 标准自编码器

我们的自编码器模型是使用标准自编码器函数创建的,以X_train作为输入。自编码器使用Adam优化器进行编译,Adam是一个高效的神经网络优化算法,并且使用均方误差(MSE)作为损失函数来测量模型预测值与真实值之间的差异,因为它计算了预测值与目标值之间的平均平方差。还指定了准确率指标来评估模型的性能。

自编码器模型的摘要显示了架构和参数数量(表3)。该模型由四层组成:

表3. 自编码器(AutoEncoder, AE)模型摘要

层(类型)输出形状参数数量
Input_1(输入层)[(None, 1, 3)]0
Dense(None, 1, 128)512
Dense_1(None, 1, 128)16,512
Dropout(None, 1, 128)0
Dense_2(None, 1, 3)387
总参数17,411
可训练参数17,411
不可训练参数0

接着,我们绘制了训练时间的图表,这可以帮助我们识别训练时间中的显著变化或趋势,并提供关于训练过程效率的见解。
Figure 7. AE training time per epoch.
图 7. 自编码器(AE)每个历元的训练时间。
Figure 7. AE training time per epoch.

图7显示,训练时间在最初的几个epoch显著下降,从2.19秒降到0.91秒,并且从第9个epoch开始到最后一个epoch,训练时间波动在1.41秒到0.7秒之间。这意味着我们的模型在前几个epoch内达到了最佳能力,继续训练不会带来显著的改进。

我们可以看到,训练损失在最初的几个epoch内下降并达到稳定状态,与验证损失重叠。这表明模型已经学习到了数据的潜在模式,并且能够在训练和验证数据集上做出准确的预测。模型能够快速适应数据并减少损失,表明其在早期就达到了最大潜力,继续训练可能只会带来微小的改进。

我们通过可视化每种振动(轴向、径向和切向)在预测输出与原始测试数据之间的均方误差(MSE)来总结结果,见图9。

Figure 9. Autoencoder MSE.
图 9. 自编码器(AE)的MSE。
Figure 9. Autoencoder MSE.

图9中的MSE图表评估了自编码器模型对每个特征的重建效果。MSE值非常小(从10⁻⁵到10⁻⁷),这表明预测值与原始值接近,意味着更好的重建准确性和整体性能。

最后,6 g不平衡数据的异常检测步骤在图10中给出。
Figure 10. AE 6 g imbalance anomalies
图 10. 自编码器(AE)的 6 g 6g 6g不平衡异常
Figure 10. AE 6 g 6g 6g imbalance anomalies

8. LSTM-AE与常规AE比较

在介绍了两个模型后,我们现在将通过以下三个方面比较它们的性能。

8.1 训练时间

在同一数据上绘制两个模型的训练时间后,我们注意到LSTM-AE的训练过程相较于常规AE花费了显著的时间(6分钟对40秒)。这可以通过LSTM-AE更复杂的架构来解释。LSTM-AE每个epoch所需的时间较长,因为训练LSTM层涉及额外的计算,包括信息的前向和反向传播以及LSTM单元状态的更新。因此,与具有更简单架构和较少计算操作的常规AE相比,整体训练过程需要更长的时间。

8.2 损失函数

两个模型的MSE损失函数都随着时间显著下降并达到平台期,表明两个模型成功地学习了数据模式并达到了最佳性能。然而,LSTM-AE的MSE损失值显著低于常规AE(0.4对0.0003),见图3和图8,这证明了LSTM-AE在处理大规模、复杂数据以及检测时间特征和依赖性方面的优越性。
Figure 8. Autoencoder model loss.
图 8.自编码器(AE)模型的损失。
Figure 8. Autoencoder model loss.

LSTM层使得模型能够学习并利用输入特征之间的时间关系。这使得LSTM-AE能够更好地重建输入数据并最小化重建误差,如MSE损失函数所量化的。相比之下,常规AE无法显式建模和捕捉时间依赖性。它将输入数据视为独立且同分布的样本,忽略了任何潜在的序列信息。因此,常规AE可能难以有效重建数据中的时间相关模式,导致较高的MSE损失值。通过利用记忆单元和递归连接,LSTM-AE能够更好地保留时间信息,并以更高的保真度重建输入数据,从而产生较低的MSE损失值。这突显了在处理序列或时间依赖数据时使用LSTM架构的优势。

8.3 MSE异常

尽管两个模型在不同轴的加权不平衡上均表现出令人印象深刻的低均方误差值,但LSTM-AE的MSE显著低于常规AE(10⁻⁷对10⁻¹⁶),见图5和图9。这意味着,虽然两个模型的表现都很好,但由于LSTM-AE的复杂性和处理大量数据及时间依赖性的能力,其表现优于常规AE,这在前面讨论的损失结果中得到了确认。LSTM-AE中MSE的显著较小值还表明,机器中存在和检测到的异常相较于常规AE模型中的异常要少且不重要,这进一步验证了我们的结果和发现。

9. 结论

人工智能在异常检测领域发挥了重要作用。本文提出的工作重点是结合两种架构:在自编码器中加入LSTM层,以利用LSTM处理大量时间数据的能力。在开发了LSTM-AE模型后,将其性能与电动机的常规AE模型进行比较。为了证明模型的有效性,首先介绍了常规自编码器,并使用相同的Python代码在相同的数据上训练了两个模型。通过可视化两种模型的结果和能力,对它们在训练时间、损失函数和MSE异常这三方面的表现进行了比较。分析结果清晰地表明,LSTM自编码器相比于常规自编码器具有显著较小的损失值(0.0003对0.4)和MSE异常(10⁻¹⁶对10⁻⁷),而常规自编码器在训练时间上优于LSTM(40秒对6分钟)。尽管LSTM自编码器由于添加了LSTM层导致训练时间较长,但其性能优越。

最终,选择哪种模型取决于应用的具体要求,需要权衡训练时间与性能之间的权衡。最合适的深度学习模型或方法可能会根据系统特性、具体要求、数据特征和预测维护(PdM)应用的目标有所不同。

未来的研究可以探讨实时监控集成和反馈机制,以及将LSTM自编码器与其他方法如生成模型、变分自编码器(VAE)和基于时间逻辑的学习进行比较。

参考文献

  1. Coandă, P.; Avram, M.; Constantin, V. A state of the art of predictive maintenance techniques. In Proceedings of the 9th International Conference on Advanced Concepts in Mechanical Engineering, Ias, Romania, 4–5 June 2020. [CrossRef]

  2. Wentz, V.H.; Maciel, J.N.; Gimenez Ledesma, J.J.; Ando Junior, O.H. Solar Irradiance Forecasting to Short-Term PV Power: Accuracy Comparison of ANN and LSTM Models. Energies 2022, 15, 2457. [CrossRef]

  3. Dong, S.; Wang, P.; Abbas, K. A survey on deep learning and its applications. Comput. Sci. Rev. 2021, 40, 100379. [CrossRef]

  4. Böhm, L.; Kolb, S.; Plankenbühler, T.; Miederer, J.; Markthaler, S.; Karl, J. Short-Term Natural Gas and Carbon Price Forecasting Using Artificial Neural Networks. Energies 2023, 16, 6643. [CrossRef]

  5. Son, N.; Yang, S.; Na, J. Hybrid Forecasting Model for Short-Term Wind Power Prediction Using Modified Long Short-Term Memory. Energies 2019, 12, 3901. [CrossRef]

  6. Basora, L.; Olive, X.; Dubot, T. Recent Advances in Anomaly Detection Methods Applied to Aviation. Aerospace 2019, 6, 117. [CrossRef]

  7. Son, N.; Jung, M. Analysis of Meteorological Factor Multivariate Models for Medium- and Long-Term Photovoltaic Solar Power Forecasting Using Long Short-Term Memory. Appl. Sci. 2021, 11, 316. [CrossRef]

  8. Peres, R.S.; Jia, X.; Lee, J.; Sun, K.; Colombo, A.W.; Barata, J. Industrial Artificial Intelligence in Industry 4.0-Systematic Review. Chall. Outlook IEEE Access 2020, 8, 220121–220139. [CrossRef]

  9. Zonta, T.; Da Costa, C.A.; da Rosa Righi, R.; de Lima, M.J.; da Trindade, E.S.; Li, G. Predictive maintenance in the industry 4.0: A systematic literature review. Comput. Ind. Eng. 2020, 150, 106889. [CrossRef]

  10. Zhang, C.; Lu, Y. Study on artificial intelligence: The state of the art and future prospects. J. Ind. Inf. Integr. 2021, 23, 100224. [CrossRef]

  11. Wan, J.; Tang, S.; Li, D.; Wang, S.; Liu, C.; Abbas, H.; Vasilakos, A.V. A Manufacturing Big Data Solution for Active Preventive Maintenance. IEEE Trans. Ind. Inform. 2017, 13, 2039–2047. [CrossRef]

  12. Poór, P.; Basl, J.; Zenisek, D. Predictive Maintenance 4.0 as next evolution step in industrial maintenance development. In Proceedings of the 2019 International Research Conference on Smart Computing and Systems Engineering (SCSE), Colombo, Sri Lanka, 28 March 2019; pp. 245–253. [CrossRef]

  13. Rzepka, F.; Hematty, P.; Schmitz, M.; Kowal, J. Neural Network Architecture for Determining the Aging of Stationary Storage Systems in Smart Grids. Energies 2023, 16, 6103. [CrossRef]

  14. Çınar, Z.M.; Abdussalam Nuhu, A.; Zeeshan, Q.; Korhan, O.; Asmael, M.; Safaei, B. Machine Learning in Predictive Maintenance towards Sustainable Smart Manufacturing in Industry 4.0. Sustainability 2020, 12, 8211. [CrossRef]

  15. Theissler, A.; Pérez-Velázquez, J.; Kettelgerdes, M.; Elger, G. Predictive maintenance enabled by machine learning: Use cases and challenges in the automotive industry. Reliab. Eng. Syst. Saf. 2021, 215, 107864. [CrossRef]

  16. Serradilla, O.; Zugasti, E.; Rodriguez, J.; Zurutuza, U. Deep learning models for predictive maintenance: A survey, comparison, challenges and prospects. Appl. Intell. 2022, 52, 10934–10964. [CrossRef]

  17. Janiesch, C.; Zschech, P.; Heinrich, K. Machine learning and deep learning. Electron. Mark. 2021, 31, 685–695. [CrossRef]

  18. Zhou, Z.H. A brief introduction to weakly supervised learning. Natl. Sci. Rev. 2018, 5, 44–53. [CrossRef]

  19. Na Pattalung, T.; Ingviya, T.; Chaichulee, S. Feature explanations in recurrent neural networks for predicting risk of mortality in intensive care patients. J. Pers. Med. 2021, 11, 934. [CrossRef] [PubMed]

  20. Van Engelen, J.E.; Hoos, H.H. A survey on semi-supervised learning. Mach. Learn. 2020, 109, 373–440. [CrossRef]

  21. Dike, H.U.; Zhou, Y.; Deveerasetty, K.K.; Wu, Q. Unsupervised learning based on artificial neural network: A review. In Proceedings of the 2018 IEEE International Conference on Cyborg and Bionic Systems (CBS), Shenzhen, China, 25–27 October 2018; pp. 322–327. [CrossRef]

  22. François-Lavet, V.; Henderson, P.; Islam, R.; Bellemare, M.G.; Pineau, J. An introduction to deep reinforcement learning. Found. Trends Mach. Learn. 2018, 11, 219–354. [CrossRef]

  23. Kiranyaz, S.; Avci, O.; Abdeljaber, O.; Ince, T.; Gabbouj, M.; Inman, D.J. 1D convolutional neural networks and applications: A survey. Mech. Syst. Signal Process. 2021, 151, 107398. [CrossRef]

  24. Salehinejad, H.; Sankar, S.; Barfett, J.; Colak, E.; Valaee, S. Recent advances in recurrent neural networks. arXiv 2017, arXiv:1801.01078. [CrossRef]

  25. Yu, Y.; Si, X.; Hu, C.; Zhang, J. A review of recurrent neural networks: LSTM cells and network architectures. Neural Comput. 2019, 31, 1235–1270. [CrossRef] [PubMed]

  26. Hochreiter, S.; Schmidhuber, J. Long short-term memory. Neural Comput. 1997, 9, 1735–1780. [CrossRef] [PubMed]

  27. Okut, H. Deep learning for subtyping and prediction of diseases: Long-short term memory. In Deep Learning Applications; IntechOpen: London, UK, 2021. [CrossRef]

  28. Berrajaa, A. Natural Language Processing for the Analysis Sentiment using a LSTM Model. Int. J. Adv. Comput. Sci. Appl. 2022, 13, 777–785. [CrossRef]

  29. Lindemann, B.; Maschler, B.; Sahlab, N.; Weyrich, M. A survey on anomaly detection for technical systems using LSTM networks. Comput. Ind. 2021, 131, 103498. [CrossRef]

  30. Bank, D.; Koenigstein, N.; Giryes, R. Autoencoders. In Machine Learning for Data Science Handbook; Springer: Cham, Switzerland, 2020. [CrossRef]

  31. Saumya, S.; Singh, J.P. Spam review detection using LSTM autoencoder: An unsupervised approach. Electron. Commer. Res. 2022, 22, 113–133. [CrossRef]

  32. Do, J.S.; Kareem, A.B.; Hur, J.W. LSTM-Autoencoder for Vibration Anomaly Detection in Vertical Carousel Storage and Retrieval System (VCSRS). Sensors 2023, 23, 1009. [CrossRef]

  33. Nguyen, H.D.; Tran, K.P.; Thomassey, S.; Hamad, M. Forecasting and Anomaly Detection approaches using LSTM and LSTM Autoencoder techniques with the applications in supply chain management. Int. J. Inf. Manag. 2021, 57, 102282. [CrossRef]

  34. Smagulova, K.; James, A.P. A survey on LSTM memristive neural network architectures and applications. Eur. Phys. J. Spec. Top. 2019, 228, 2313–2324. [CrossRef]

  35. Pulver, A.; Lyu, S. LSTM with working memory. In Proceedings of the 2017 International Joint Conference on Neural Networks (IJCNN), Anchorage, AK, USA, 14–19 May 2017; pp. 845–851. [CrossRef]

  36. Sublime, J.; Cabanes, G.; Matei, B. Study on the Influence of Diversity and Quality in Entropy Based Collaborative Clustering. Entropy 2019, 21, 951. [CrossRef]

  37. Malhotra, P.; Vig, L.; Shroff, G.; Agarwal, P. Long Short-Term Memory Networks for Anomaly Detection in Time Series. In Proceedings of the 23rd European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, Bruges, Belgium, 22–24 April 2015; p. 89. Available online: http://www.i6doc.com/en/ (accessed on 19 January 2017).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Stable Diffusion绘画 | LightFlow工作流插件:一键导入,高效生图

LightFlow 是腾讯开源的工作流插件,通过它可以非常轻松地导入和导出工作流文件,从而快速地加载整个工作流。 下载后,放置在:SD安装目录\extensions,重载UI 即可使用,插件位置在生成图片区域下方&#xff1…

2024年8月31日CSDN自动提示的用法

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

视频结构化从入门到精通———检索比对类应用

检索比对类应用 1 认识“检索比对” 1.检索和比对的区别 检索和比对是信息处理和数据分析中常见的两种操作,虽然二者在一定程度上都有涉及到信息的提取和分析,但其侧重点和应用场景有所不同。检索主要关注从大规模数据集中定位相关信息,而比…

腾讯云TRTC无UI集成——分享屏幕主流、辅流(Vue2+JS+TRTC无UI集成)

先阐述一下问题,在项目中用到腾讯云的TRTC,A端发布A1、A2两个视频源,在B端订阅A1、A2使用两个view进行播放渲染 问题主流视频源和辅流视频源渲染在同一view上,控制台报错 // 播放远端视频 TRTCService.js; setRemoteVideo(view)…

智慧工地可视化整体解决方案(Word完整版)

第 一 章 系统总体设计 1.1 总体架构 1.1.1 系统拓扑 1.1.2 系统组成 1.2 设计概述 1.3 平台系统功能 1.3.1 总部数据看板 1.3.2 项目部数据看板 1.3.3 视频联网系统 1.3.4 实名制考勤系统 1.3.5 安全生产系统 1.3.6 塔吊安全监控子系统 1.3.7 施工升降机安全监控管系统 1.3.8 …

Codeforces Round 969 (Div. 2 ABCDE题) 视频讲解

A. Dora’s Set Problem Statement Dora has a set s s s containing integers. In the beginning, she will put all integers in [ l , r ] [l, r] [l,r] into the set s s s. That is, an integer x x x is initially contained in the set if and only if l ≤ x ≤…

Java程序天生就是多线程程序Java程序天生就是多线程程序吗?

一个Java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上Java程序天生就是多线程程序,因为执行main()方法的是一个名称为main的线程。而一个Java程序的运行就算是没有用户自己开启的线程&…

AIGC提示词(2):塑造未来内容创作的核心力量

引言 🌟 在这个数字化的时代,人工智能生成内容(AIGC)正变得越来越普遍。从自动写作到图像生成,AI正以前所未有的速度和多样性创造内容。然而,要实现高质量和相关性强的内容生成,关键在于有效地…

Python变量类型

参考: Python 变量类型 | 菜鸟教程 (runoob.com) 变量赋值 Python 中的变量赋值不需要类型声明(重点注意这一点)。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值&#xff…

golang zap日志模块封装sentry

我们自己写个log日志包,把zap和sentry封装到一起。 下面直接贴上主要部分代码(两个模块初始化部分的代码请自行查阅官方文档): logger.go package logimport ("github.com/getsentry/sentry-go""go.uber.org/zap…

使用Redis如何实现集群会话同步?

使用Redis如何实现集群会话同步? 1、为什么选择Redis?2、如何实现?1. 环境准备2. 配置Web服务器3. 测试与验证4. 监控与优化 💖The Begin💖点点关注,收藏不迷路💖 在分布式Web应用中&#xff0c…

探索全能型AI与专业型AI的未来趋势

目录 前言1. 全能型AI与专业型AI的对比1.1 经济市场与用户吸引力1.2 精度与效果 2. AI模型的全面评估与比较2.1 精度2.2 速度2.3 鲁棒性 3. 专精化与可扩展性的权衡3.1 专精化的优势与挑战3.2 全能型AI的可扩展性 结语 前言 在人工智能领域,随着技术的迅猛发展&…

解决:pip install flash-attn安装失败案例【cuda】【torch】【flash-attn】

问题描述 在一个容器中部署项目环境中,遇到的flash-attn库总是安装失败,报错信息大致是:FileNotFoundError: [Errno 2] No such file or directory: :/usr/local/cuda/bin/nvcc,以及后来可能会提示’torch’未安装,却…

Android中服务(service)的基本用法

文章目录 Android中服务(service)的基本用法服务是什么定义一个服务启动和停止服务 Android中服务(service)的基本用法 服务是什么 服务(Service)是Android中实现程序后台运行的解决方案,它非…

智能停车场管理小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,车位信息管理,车位预订管理,系统管理 微信端账号功能包括:系统首页,地图,我的 开发系统:Windows 架构模式…

Golang | Leetcode Golang题解之第386题字典序排数

题目&#xff1a; 题解&#xff1a; func lexicalOrder(n int) []int {ans : make([]int, n)num : 1for i : range ans {ans[i] numif num*10 < n {num * 10} else {for num%10 9 || num1 > n {num / 10}num}}return ans }

如何处理时间序列异常值?理解、检测和替换时间序列中的异常值

异常值的类型 (欢迎来到雲闪世界) 异常值是与正常行为有显著偏差的观察结果。 时间序列可能会因某些异常和非重复事件而出现异常值。这些异常值会影响时间序列分析&#xff0c;并误导从业者得出错误的结论或有缺陷的预测。因此&#xff0c;识别和处理异常值是确保时间序列建模…

域名是什么

在这个数字世界中&#xff0c;域名无疑是连接用户与网站的关键纽带。域名&#xff0c;是由一串字符组成的地址&#xff0c;用于在互联网上唯一标识和定位一个特定的资源。本文将深入探讨域名的概念、作用以及对互联网发展的重要性。 一、域名的定义与结构 域名可以看作是互联网…

用矩阵乘法的底层原理来理解“特征融合”

大家好啊&#xff0c;我是董董灿。 在很多 AI 模型中&#xff0c;都会出现内积运算。无论是卷积/全连接还是 Transformer 架构中的矩阵乘法&#xff08;或线性映射&#xff09;&#xff0c;其核心运算逻辑都是内积运算。 因此&#xff0c;很多时候&#xff0c;我们也把内积运…

Java 输入与输出之 NIO.2【AIO】【内存映射文件】【自动资源管理】探索之【四】

一&#xff0c;自动资源管理 Java 7 增加了一个新特性&#xff0c;该特性提供了另外一种管理资源的方式&#xff0c;这种方式能自动关闭文件等系统资源。这个特性又被称为自动资源管理(Automatic Resource Management, ARM)&#xff0c; 该特性以 try 语句的扩展版为基础。自动…