什么是一维卷积神经网络?

2025 年 2 月 3 日 | 阅读 12 分钟

引言

卷积神经网络 (CNN) 是一种深度学习形式,专门为具有空间关系结构数据(如图像或时间序列)而开发。它们尤其因其学习特征空间层次结构的能力而闻名,借助反向传播训练,通过利用卷积层、池化层和全连接层等多种元素。尽管 CNN 的思想最初应用于图像识别,但该方法在各种领域和行业中都取得了显著成功,例如计算机视觉和自然语言处理,以及金融预测和预测,这使其成为人工智能和机器学习的重要组成部分。

What is 1 Dimensional Convolutional Neural Network?

卷积神经网络的治疗类型

CNN 可以分为不同的类型,以处理不同类型的数据和应用。主要类型包括

  1. 2 维 CNN(2D CNN):主要用于处理图片或视频;这些网络在二维网格形式的数据上运行。
  2. 3 维 CNN(3D CNN):这些用于点云数据,如医学和视频对象,它们以三维格式捕获空间属性。
  3. 1 维 CNN(1D CNN):适用于序列数据,如时间序列、文本或信号处理,1D CNN 的主要结构是一维数组输入。

以下内容介绍卷积神经网络的一种变体

一维卷积神经网络

一维卷积神经网络或 1D CNN 专为顺序数据构建,这意味着数据中的信息以线性格式组织。尽管 2D CNN 非常适合图像相关数据,但 1D CNN 特别适合时间序列、文本和其他顺序实例。它们通过将输入序列传递给卷积滤波器并利用它来识别模式和特征来操作,使其适用于自然语言处理、金融分析和信号处理等。它们可以用作各种领域的工具,因为 RNN 能够自动从原始顺序数据中学习和提取特征。

1D 卷积神经网络或 1D CNN 的基本结构 一维卷积神经网络,称为 1D CNN,是专门为分析序列而设计的,因为它根据卷积、池化和分层特征学习的原理而设计。

1D CNN 的架构

这是对其典型架构的详细解释

  1. 输入层
    应该理解,1D CNN 的输入是一个一维数组,用于捕获序列。这可以是序列形式的数据,例如传感器读数的时间序列、NLP 数据的单词序列或任何序列形式的数据。
  2. 卷积层
    众所周知,1D CNN 至少从一个卷积层开始。在卷积层中,每个卷积层都使用一组滤波器(或核)。这些滤波器沿输入水平移动,并计算滤波器与输入局部区域的点积,生成一个特征图,该特征图包含数据中的模式。反过来,这定义了每个层产生的输出通道或特征图的数量;这取决于滤波器的大小和数量。
  3. 激活函数
    在每个卷积操作之后,总是使用 ReLU(修正线性单元)等激活函数,并逐元素应用于特征图。这使得网络能够通过引入非线性来有效学习数据集中变量之间的相互作用和依赖关系,这有助于捕获数据中复杂的模式。
  4. 池化层
    “池化”名称在卷积之后出现,因为它在卷积之后简化每个特征图,通过减小其维度,因为它意识到某些数据可能是不必要的。池化操作的例子包括最大池化(产生给定补丁中的最大值)和平均池化(产生补丁中的平均值)。近似对网络有利,因为它使网络上学习到的表示对输入数据中的轻微位移或失真不敏感,从而加快计算过程并最大限度地减少过度训练的机会。
  5. 全连接层
    在一个或多个卷积和池化层之后,从输入序列中减少原始输入序列,将连续层中获得的高级特征平坦化为向量,并将它们馈送到一个或多个全连接(密集)层。这些层包含与程序正在应用的特定任务相关的计算工作,例如,用于输出概率分布的 softmax 激活的分类或用于输出数值的回归。在此架构中,全连接层中的每个神经元都连接到前一层中的每个神经元,这使得学习神经网络中特征之间的关系并提高其识别感兴趣模式的准确性成为可能。
  6. 输出层
    在 1D CNN 中,最后一层是输出层,它给出我们想要的分类结果。根据任务,此层可能具有不同的架构;例如,输出层中只有一个神经元,使用 sigmoid 激活函数进行二分类,或者一个或多个神经元使用 softmax 激活函数进行多分类。

1D CNN 的结构由层组成,这些层有助于将顺序数据分解为不同抽象级别的表示,通过池化使解决方案对噪声更具抵抗力且更有效,并以全连接层结束以进行最终预测。这种结构化方法允许 1D CNN 学习不同类型和结构的顺序数据中的各种模式,这使得该方面非常通用,并广泛应用于 NLP、信号处理和时间序列等多个领域。随着研究的进展,1D CNN 的渐进式架构被用于解决缺陷并优化处理顺序数据的方法。

一维卷积神经网络的应用

由于能够分析输入的时间序列,一维卷积神经网络已在各个领域得到应用。它们自动学习和提取特征的能力使其在以下领域特别有价值:它们自动学习和提取特征的能力使其在以下领域特别有价值

1. 信号处理

1D CNN 在信号类型问题中表现出色,因为大多数问题都使用点序列,例如音频信号或时间序列。主要应用包括

  1. 音频和语音识别: 1D CNN 可以对音频输入的原始波形进行分析,以查找音素、单词或独特声音(换句话说,音乐)等特征。这使得它们在语音控制环境(例如语音识别设备、语音识别程序以及音乐流派分类)中很有用。
  2. 地震数据分析:在地质物理学中,1D CNN 可以处理地震波数据,以检测潜在地震的迹象或对下层地层中的结构层进行分类。
  3. 生物医学信号处理: 1D CNN 可以接收任何生物医学信号,例如 EEG 或 EMG 信号,并有助于报告神经系统疾病或肌肉活动。

2. 自然语言处理 (NLP)

因此,1D CNN 更适合 NLP 任务,其中输入数据通常是单词或字符序列,例如。它们可以从文本中提取高级特征,从而产生几个重要的应用

  1. 情感分析: 1D CNN 可以根据上下文词和短语的特征识别给定文本的情感,例如积极、消极或中性。
  2. 文本分类:这些网络用于将文本分类到预定的类别中,例如邮件过滤(将给定邮件分类为垃圾邮件)、写作风格识别和主题分类。
  3. 语言建模: 1D CNN 可用于对输入句子的下一个单词进行分类,这在自动补全和文本生成中非常有用。
  4. 命名实体识别 (NER):通过 1D CNN 可以扫描和识别文本中的专有名词,包括人名、组织名和地点。

3. 财务预测

在金融领域,1D CNN 用于根据过去的未来值或特定财务标准的时间序列数据进行预测。应用包括

  1. 股票价格预测:通过分析过去的股票市场数据,1D CNN 可以以优化的方式预测未来股票价格,从而为交易员提供帮助。
  2. 经济指标预测:它们可以通过考虑 GDP 增长或通货膨胀率等各种统计数据来预测一个国家的经济表现。
  3. 算法交易: 1D CNN 可用于构建交易模型,根据预期股价波动进行买卖,从而在避免大部分损失的同时获得更多利润。

4. 医疗保健

就其组织而言,1D CNN 在医疗保健应用中引起了极大的关注,用于分析各种顺序医疗数据。主要应用包括

  1. 心电图 (ECG) 分析: 1D CNN 可以将给定受试者分为不同的疾病类别,例如识别 ECG 信号中的心律失常,从而早期诊断心脏疾病。
  2. 基因组序列分析:这些网络可以预测可能导致任何疾病的病变或突变、基因表达或任何其他遗传标签。
  3. 患者监测: 1D CNN 可以从可穿戴设备收集的心率或血糖水平等其他健康监测连续数据中获取数据,并通过 1D CNN 处理这些数据,以早期识别疾病症状并通知医生。

5. 工业和物联网应用

在工业环境和物联网 (IoT) 中,1D CNN 用于监控和分析传感器数据以实现各种目的

  1. 预测性维护: 1D CNN 可用于分析机械传感器数据,并根据收集的数据,在设备发生潜在故障之前识别出来,从而减少维修和维护所用的时间和资源。
  2. 质量控制:这些网络还可以通过跟踪生产线上的顺序数据来发现制造过程中的问题。
  3. 智能家居系统:智能家居可以利用来自不同传感器的数据输出,并通过 1D CNN 处理相同的数据,以控制能源消耗、维护安全并提高生活水平。

6. 机器人技术

1D CNN 也用于机器人技术中的各种基于序列的任务:1D CNN 也用于机器人技术中的各种基于序列的任务

  1. 运动分析: 1D CNN 可用作分析运动或动作序列的工具,这将有助于提高机器人系统中运动计算的准确性和执行速度。
  2. 传感器融合:这些网络可以整合从多个传感器接收的数据,从而为机器人提供周围环境的完整图像,从而提高其决策能力。

一维 CNN 的优点

一维卷积神经网络,简称 1D CNN,具有使其非常适合分析顺序数据的几个特点。以下是主要优点:以下是主要优点

  1. 效率: 1D CNN 在计算上是高效的,因为它们在一维数据数组上操作。与 2D CNN 等模型相比,这种效率在训练和推理时间方面带来了优势,这使得它们特别适合计算能力可能受限的实时应用。
  2. 模式识别: 1D CNN 在识别流数据中的模式方面效率很高。通过在输入序列上应用卷积滤波器,它可以对输入序列执行局部和全局特征操作,包括趋势、周期性和事件异常。此功能对于需要遵循时间关系进行分析的业务领域很重要。
  3. 特征提取: 1D CNN 的另一个主要优点是它能够直接从图像中学习输入的特征。它削弱了对数据进行几何变换的要求,这对于一个不忽视数据核心元素的模型来说是值得称赞的。这尤其适用于需要领域专业知识才能手动定义模型中涉及的特征的场景。
  4. 鲁棒性:首先,重要的是要注意 1D CNN 不依赖于输入数据的质量,并且可以处理噪声信号数据。1D CNN 中的池化层在平均特征图时会忽略小的波动,从而降低它们的敏感性。这成为确保网络学习足够的表示能力以很好地推广到未见数据的主要焦点,使其适合实际使用。
  5. 可伸缩性: 1D CNN 比 2D CNN 更具可伸缩性,并且在长序列数据上运行良好。这些网络可以通过改变层的数量、滤波器的大小和网络的步幅长度来适应新的序列长度和更复杂的序列。由于这种灵活性,它们可以作为各种顺序数据(包括短纯文本序列和长移动时间序列)的有效工具。
  6. 处理可变长度输入: 1D CNN 可以使用一些策略处理不同长度的输入序列,包括总和池化,它集成跨序列的信息,无论其大小如何。这种灵活性在输入数据大小可能不同(例如在文本分析中或在不同时间帧中采样数据时)的应用中是有益的。
  7. 并行处理:这种结构描述了 1D CNN 中不同滤波器之间数据处理的独立性。这种并行性提高了计算速度,并提高了训练速度,尤其是在结合了 GPU 等查询加速技术时。
  8. 减少过拟合:局部连接架构,例如 1D CNN 中的池化层和 dropout 方法,通过引入权重或正则化来帮助避免或最小化过拟合。这是通过池化层对特征图进行下采样和 dropout 层实现的,其中在训练阶段,大部分神经元被停用,以便模型不会过度依赖它们。
  9. 迁移学习:尽管迁移学习在 1D CNN 中的使用可能不那么普遍,但也可以用这种网络来实现。在某些处理类似顺序数据的情况下,可以从这种类型的模型进行迁移学习或在目标任务上进行微调,这要快得多且效率更高,有时可以在目标任务上获得更好的性能。
  10. 应用的灵活性: 1D CNN 在用于不同应用时具有很强的可伸缩性。它用于各种应用,包括医疗保健(例如,ECG 报告分析)、金融(例如,股票价格预测)、NLP 集成(例如,文本分类)和工业物联网(例如,预测性维护)。上述事实鼓励了这些测试的接受,因为它们在各个应用领域具有灵活性。

挑战和局限性

一维卷积神经网络的主要问题之一是它们并非总能高效处理大量数据。

因此,一维卷积神经网络 (1D CNN) 在限制 1D CNN 性能和适用性的挑战和局限性方面既有优点也有缺点。这些问题是显而易见的,并且作为 1D CNN 在实际应用中的潜在用户,必须了解这些问题。

  1. 数据依赖性:至于 1D CNN,它们对输入数据及其数量高度敏感。这意味着用于训练模型的数据质量至关重要,并且数据中存在大量噪声或缺失元素将对模型造成损害。1D CNN 的另一个问题是它们通常是数据饥渴型的,在某些实际应用中,可能难以获取实现高精度所需的大量标记数据。
  2. 特征工程:尽管 1D CNN 实际上可以在很大程度上学习特征,但滤波器大小、步幅和层架构的选择通常取决于读者和必要的微调。但是,在某些情况下,在利用数据之前可能仍然需要传统的特征工程方法来工程数据。
  3. 超参数调优:另一个限制是,微调超参数(如层数、滤波器维度、步幅大小和学习率)可能是一个繁琐且耗时的过程。超参数调优通常需要大量的测试和形成性评估才能确定最佳超参数设置,这在计算上成本很高。
  4. 计算资源:训练深度 1D CNN 在计算上可能要求很高,尤其是在处理长序列或大型数据集时。通常需要更高水平的计算才能在 GPU 或 TPU 上以相对较快的速度训练这些模型。此要求也可能具有挑战性,具体取决于个人的计算资源或他们对提供此类资源的组织的访问权限。