Convolutional neural networks for vibrational spectroscopic data analysis

用于振动光谱数据分析的卷积神经网络

Convolutional neural networks for vibrational spectroscopic data analysis

Abstract

在这项工作中,我们证明了卷积神经网络(CNNs)可以有效地用于分类振动光谱数据和识别重要的光谱区域。cnn是目前在图像分类和语音识别领域的最新技术,可以学习数据的可解释表示。这些特性使cnn成为减少预处理需要和突出重要光谱区域的一个很好的候选者,这两个区域都是振动光谱数据分析的关键步骤。

振动光谱数据的化学计量分析通常依赖于预处理方法,包括基线校正、散射校正和噪声去除,这些方法在建立模型之前应用于光谱。预处理是一个关键的步骤,因为即使是在简单的问题中,使用“合理的”预处理方法也可能会降低最终模型的性能。

我们开发了一种新的基于CNN的方法,并提供了一个附带的公开软件。它基于一个简单的CNN架构,带有一个单一的卷积层(一个所谓的浅层CNN)。当应用于未预处理的测试数据时,我们的方法在精度方面优于化学计量学中使用的标准分类算法(例如PLS)(86%的平均精度,而PLS获得的62%),甚至在预处理的测试数据上也取得了更好的性能(平均96%而PLS所实现的这一比例为89%)。为了可解释性的目的,我们的方法包括了一个寻找重要的光谱区域的程序,从而促进了对结果的定性解释。

1. Introduction

振动光谱学涉及红外(IR)和拉曼光谱学的特定光学技术。振动光谱数据的分类模型将输入对象(光谱)映射到所需的输出(类分配)。在这种情况下设计分类模型是一项具有挑战性的任务,在制药应用领域,如药物、聚合物、法医、环境和食品科学以及医学[1e6]。目前的常用化学计量技术包括人工神经网络、支持向量机和线性判别分类器[7]。这些技术一般应用于预处理后的数据。在这方面的主要困难之一是确定关于使用哪种光谱预处理方法和最佳设置的共识。

数据预处理用于提高后续多元分析的鲁棒性和准确性,并通过纠正与光谱数据采集相关的问题来提高数据的可解释性。预处理方法通常取决于研究的目标和使用[8]的技术(拉曼或IR)。针对振动光谱数据的大量预处理方法和软件已经被开发出来(见参考文献。[2,9,10]).这些方法的选择通常是基于一些任意的标准,如“它在以前的数据集上工作得很好”。最近的研究表明,即使是对于相对简单的问题,大多数“合理的”预处理方法,以及它们各自的参数设置,实际上可能会降低最终模型[7]的性能。一般来说,相同的预处理技术可能适合于一个数据集,但在应用于使用不同的机器、设置或样本矩阵生成的另一个数据集时不起作用。

虽然化学计量学研究社区到目前为止主要集中在选择一个好的预处理方法[11],机器学习社区认为学习的相关问题表示的数据识别和解开数据[12]潜在解释因素隐藏的数据。特别是卷积神经网络(CNNs)的灵感是由动物视觉皮层的生物过程激发的,其中细胞对视野的小亚区域很敏感。

CNNs是多层感知器(MLP)的变体(见图1),这是一种前馈人工神经网络(ANN)模型,它将输入数据映射到一组适当的输出上。分类神经网络过去曾被应用于振动光谱数据(概述见参考文献的调查。[13]).然而,这些计算模型有两个主要问题。首先,它们容易发生过拟合,导致新数据的性能不佳。其次,不可能解释分类器:训练后的神经网络被视为一个“黑盒子”。

机器学习的最新进展使我们能够使用cnn来解决这两个问题,cnn被设计用来考虑输入数据的空间信息:它们通过加强相邻层[14]神经元之间的局部连接模式来利用空间-局部相关性。与传统的神经网络相比,中枢神经网络的参数更少,而嵌入式正则化技术对过拟合具有更强的鲁棒性。这些网络的每个卷积层的输出与输入频谱的小区域直接相关。因此,CNN可以在分类器训练后识别输入数据的重要区域。

[15,16]cnn是二维数据(图像)分类的最新技术,最近也被应用于高光谱遥感场景[17]的三维数据分类。用于图像分类的cnn使用池化和全连接层。这里我们关注一维数据(振动光谱数据),不使用池化,而是利用卷积层的内核和步幅提供的平滑。与池化不同,步幅使它更容易使用最终的模型来识别重要的光谱区域。此外,我们采用了一个新的正则化术语,为其目标,用于平滑输入信号(在我们的情况下,这是一个振动频谱)。通过这种方式,CNN模型能够更容易地适应不同的光谱输入,并推广到训练数据之外。据我们所知,利用cnn进行分类和识别振动光谱数据的重要区域尚未得到研究。

我们证明了一种基于浅层CNN(见图2)的简单方法比偏最小二乘回归-线性判别分析(PLS-LDA)和kNN获得了明显更好的分类精度,既不应用任何预处理,也不对输入光谱应用最佳的预处理方法。此外,我们还发现CNN比PLS-LDA更少依赖于预处理(该软件可在https://bitbucket.org/TeslaH2O/cnn_chemometrics).上公开提供

结果的解释在化学计量学中和分类一样重要,这就是为什么PLS-LDA是化学计量学中使用的标准方法的原因。在out方法中,重要的光谱区域的检测是通过对卷积层的输出应用特征选择来实现的:卷积提供的光谱的新表示突出了被认为相关的光谱区域。

总之,这项工作的主要新颖之处在于:
采用非标准的CNN:浅架构(只有1个隐藏卷积层),没有池化;
为CNN设计自定义损失函数,其中包括一个新的正则化术语,以加强附近特征之间的相似性;
通过寻找重要光谱区域的程序来增强CNN。

实验分析结果表明,该方法为振动光谱数据的分类和解释提供了有力的工具。

2. Methods

在本节中,我们将首先简要描述人工神经网络的一般原理。接下来,我们将描述已实现的修改,使神经网络适合于振动光谱数据的数据分析。最后,我们将使用我们的CNN方法提供关于光谱特征选择的细节。

人工神经网络是由一组相互连接的人工神经元组成的。神经元是人工神经网络的基本单位,它们的特征是一个所谓的“激活函数”,将神经元的输入转换为输出。人工神经元是按层组织的,在每一层中,所有的神经元都具有相同的激活功能。MLP是一个没有连接的前馈神经网络在同一层的单元之间(前馈意味着也没有从一个神经元到前一层的连接)。
在这里插入图片描述
可以将图层分为3组:输入层、隐藏层和输出层。输入层是第一层,一般具有线性激活函数。输出层是最后一层,它通常有一个线性或软极大激活函数,分别用于回归或分类。一个MLP通常具有一个或多个具有相同非线性激活函数的隐藏层(见图1)。每一层的每一个单元都使用加权连接连接到下一层的每个单元(全连接)。这些权重通常在训练阶段以有监督的方式随机初始化和学习。为此,利用反向传播和梯度下降方法[18]的不同变化来寻找包含网络预测误差的目标函数的局部最小值。

使用全连接的层意味着必须训练相当数量的权重,这个数量取决于每一层的单位的数量。当只有几个样本可以训练所有的权值时,网络很容易进行过拟合。这是ann在化学计量数据分析中不常用的主要原因之一,尽管它们非常适合处理高度非线性的问题(例如,可能由于数据预处理不当而发生)。

我们试图通过使用MLP的变体来克服这个限制,具有非全连接层(即需要训练的权重更少),并向目标引入一个正则化项功能。正则化通过强制执行小的权重,增加了神经网络的普遍适用性,超出了它所训练的数据。这些通常是可取的,因为在某种意义上,较小的权重意味着较低的复杂度,因此它们提供了一个更容易的数据[19]的解释。

我们使用了一个卷积层(因此被称为CNN),在这个层中,输入首先使用一个核进行卷积(见图2)。通常,可以在每个卷积层上使用一个或多个内核来捕获输入数据的不同属性,但代价是增加要学习的权值的数量。
在这里插入图片描述
卷积是通过移动一个带有N个元素的核k¼PN i wi和一个从第一个步进到最后一个输入元素来完成的(见图3)。因此,使用相邻特征的贡献在整个频谱上生成一个新的输入表示:为此目的,每个内核都重复地应用于输入本身。每次应用后,卷积的结果作为一个整流线性函数的输入,4ðxÞ¼maxð0;xÞ通常用作卷积层的激活函数。因此,每个核通过整流的线性函数产生一个不同的输入表示,这些输入相互独立地连接到下一层。
在这里插入图片描述
与全连通层不同,在卷积层上,唯一需要学习的权值是核值,这种约简有利于网络的泛化性能。输出层使用softmax激活函数,这是分类任务的常见选择,因为它将预测转换为非负值,并将其归一化,以得到类上的概率分布:
在这里插入图片描述
其中x是一个输入向量,n是输出层的单位数(即类的数量),Wk是具有k2½1的第k个节点的权重;n.

作为目标,我们考虑以下函数,包括使用正则化项:
在这里插入图片描述
这里byn≡jðw,xnÞ是网络的输出,jð,Þ是激活函数,xn是第n个样本,w是权值,yn是目标标签,Shiftð,Þ是一个将数组的元素向左移动一个位置的操作。除了标准的L2范数外,我们还使用了“接近L2范数”,它通过惩罚接近权值之间的巨大差异,帮助网络保持相邻的输入变量(即振动光谱数据的波数)相关。对于振动光谱数据,我们不期望有这些变化,因为在某个波数下的光谱值依赖于相邻的波数值。

我们使用一个一维核,因为每个样本(即光谱)都表示为一个一维数阵列(向量)。我们还使用了一个完全连接的输出层(在卷积层之后),其单位数等于类的数量。在这个输出层上使用softmax激活函数,可以获得响应于输入样本的网络的类预测。随机梯度下降(SGD)[20]更新规则被用来训练我们的神经网络,因为它是训练神经网络的标准技术。

需要初始化卷积层内核和输出层的权重(即值)。我们选择“Glorot”初始化[21],因为它可以通过跟踪用于随机化[22]的种子来复制初始化。

因此,我们的模型的参数及其值的范围是:
卷积层的内核数:#内核2f1;2;4g
卷积层内核的大小:N2½2;卷积的91步幅:s2½1;正则化项中的39个参数: l1;12¼10n,其中SGD更新规则中的n2½3;3动量:动量20:1½2;9学习速率: lr¼10n,n2½8;1

为了找到参数值的最佳组合,我们在训练阶段使用了随机网格搜索交叉验证框架(RGS-CV)[23]来选择具有最高精度的配置。然后利用全列车数据对模型进行重构,并将其应用于测试数据,以获得分类精度。
我们称所得到的方法为CNNVS,用于振动光谱数据分类的卷积神经网络。

2.1. Finding important spectral regions

生成一个高质量的分类模型和识别潜在的重要的光谱区域都是振动光谱数据分析的重要方面。偏最小二乘回归-线性判别分析(PLS-LDA)等方法可以通过在潜在变量空间中表示它们来寻找重要的输入特征。虽然PLS-LDA可能提供不可靠的指示,特别是对于具有大量不相关数据变化[24]的数据,这方面有助于它们在化学计量数据分析中比更强大的方法更流行,如具有非线性核的支持向量机(SVM),其特征相关性不能轻易地从模型[25]中进行量化。

将特征选择过程集成到CNNVS中,以识别重要的光谱区域,如下所示。训练后的CNN的卷积层的每个输出节点对应于应用于频谱的特定区域的特定核。因此,可以将特征选择算法应用于这些输出,以找到重要的特征;然后将这些特征反转换到频谱的相应区域。

在我们的分析中,我们使用了稳定性特征选择[26]。稳定性特征选择的工作原理如下:特征选择应用于不同的随机选择的数据子集(即训练后的CNNVS的卷积层的输出)。这种特征选择是通过重新训练CNNVS的最后一层来完成的,它可以看作是一个逻辑回归网络,通过输入卷积层的输出来响应不同的光谱子集,并作为类预测的输出。每次再训练后,选择具有正系数的特征。然后,通过考虑每个特征的次数被选择的分数来合并子集上的结果,从而为每个特征产生一个分数。

稳定性特征选择的选择是由于该方法在特征数量远远大于样本数量的问题上的有效性,这是大多数振动光谱数据集的情况。我们将识别重要光谱区域的方法称为CNNVSfs,卷积神经网络,用于振动光谱数据分类的特征选择。

2.2. Interpretation of kernel elements

如第2节所述,可以在一个卷积层上使用多个内核。使用不同的内核的目的是捕捉光谱的不同性质。它们的数量的限制主要与过拟合有关,因此我们使用模型选择方法RGS-CV(在第2节的末尾描述)来丢弃对所考虑的数据集有太多内核的模型。
对学习到的核的分析可能对解释找出光谱上的伪影,并推测每个核与已知的预处理方法相关的行为是重要的。

3. Evaluation study

为了比较评估我们的方法的性能,我们收集了一些公开的可获得的振动光谱数据集进行分类。我们将CNNVS与PLS-LDA进行了比较,这是一种常用于化学计量学数据分析的方法,因为它提供了具有可接受的预测精度的可解释模型。我们还考虑了Logistic回归,它可以看作是一个非常简单的神经网络,其中输入通过激活函数直接传递到输出层:4ðtÞ¼1þ1et [27]。因此,比较CNNVS和Logistic回归允许我们研究使用卷积隐藏层的有效性。最后,我们使用了kNN,一种不需要训练的简单方法。

我们进行了两个系列的实验:

  1. 将不同的分类方法直接应用于原始数据(即不进行预处理);
  2. 在应用分类方法之前的数据预处理。为此,我们根据参考文献中描述的一般程序对数据进行了预处理。[7,11].对于每种分类方法,我们使用内部交叉验证来寻找要应用于数据的最佳预处理方法(或各种方法的组合),如第3.3节所述。

4. Results

表3包含了在测试集上的分类方法的准确性:对于每种方法,都选择了使用交叉验证获得最高准确性的模型。补充材料中包含了用于每个数据集的模型的描述。
报告的结果是对预处理数据(pre)和原始数据(原始)的应用。

6. Conclusion

我们设计了一种简单的基于cnn的振动光谱数据分类方法,称为CNNVS,并展示了如何可以很容易地增强它,以选择重要的光谱区域。与PLS-LDA和Logistic回归相比,将CNNVS应用于未经过预处理的数据和经过预处理的数据,获得了更高的精度性能。结果表明,与标准的振动光谱数据分类方法相比,CNNVS的PLS-LDA方法对预处理的依赖性较小,在预处理数据上具有良好的性能。需要更多的振动光谱分类数据集来看看这些强有力的结果是否在不同的环境下也是适用的。

一般来说,振动光谱数据的样本相对较少,且特征较多。一种增加数据大小以提高模型的精度性能的技术是数据增强,这相当于添加扰动样本。该技术被广泛应用于CNN的图像分析中。然而,在振动光谱数据上,它并没有产生有益的影响。初步实验表明,这可能是由于在这种情况下难以建模噪声,如不同数据所需的预处理策略的不同组合所示。

CNN学习到的核进行了一种平滑和导数滤波。这将意味着这样的过滤器不需要作为单独的预处理步骤,从而简化了最优预处理方法的选择。看看CNNVS是否确实能够通过这样一个更简单的预处理选择来实现类似的精度,这将是一件很有趣的事情。

本研究考虑了振动光谱数据的分类。将研究扩展到振动光谱数据的成分分析将是很有趣的,这可以使用回归来进行。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 卷积神经网络 (Convolutional Neural Networks, CNN) 是一种常用于文本分类的深度学习模型。它通过卷积和池化层来提取文本中的特征,并使用全连接层来进行分类。 CNN 的一个优点是能够处理变长的输入,并且不需要对文本进行预处理。 ### 回答2: 卷积神经网络是一种深度学习方法,用于对文本进行分类。在训练过程中,这种网络可以自动学习输入数据的特征表示。卷积神经网络中的卷积层可以识别输入中的局部模式,这些局部模式组合起来形成更高级别的特征,最终帮助分类器确定类别。对于文本分类问题,卷积神经网络的输入是文本的词嵌入向量,可以从先验知识中自动学习特征。 在一些文本分类任务中,卷积神经网络已经取得了很好的表现。文本分类任务通常被分为两种类型:二元分类和多分类。二元分类任务是指将数据分为两类,例如垃圾邮件和非垃圾邮件。多类分类任务是指将数据分为多类,例如新闻分类。在这两种任务中,卷积神经网络都能够进行有效的分类。 对于二元分类任务,卷积神经网络可以使用一个输出节点,并使用 sigmoid 激活函数将输入映射到 0 到 1 之间的概率。对于多分类任务,卷积神经网络可以使用多个输出节点,每个节点对应一个类别,并使用 softmax 激活函数将输入映射到 0 到 1 之间,并且所有输出节点的和为 1。 要训练卷积神经网络进行文本分类,需要对模型进行三个主要的训练步骤。首先,需要构建词嵌入矩阵,该矩阵将文本中的每个词都映射到一个向量。然后,需要将文本数据转换为卷积神经网络所需的格式。最后,需要对模型进行训练,并根据测试数据进行评估。 总之,卷积神经网络已经被证明是一种强大的工具,可以用于文本分类等任务。在处理文本数据时,卷积神经网络可以自动学习输入数据的特征表示,并使用这些特征来确定文本的类别。 ### 回答3: 卷积神经网络(CNN)是一种深度学习模型,它在图像识别、计算机视觉和自然语言处理中表现出色。最近几年,CNN 在句子分类中也获得了很大的成功。 CNN 句子分类模型的输入是一个序列,输出是类别标签。与传统的 RNN 模型不同之处在于,CNN 可以使每个神经元只能捕获一个固定大小的区域的特征,从而加快模型的训练和降低了模型的复杂度。 CNN 句子分类模型的基本架构包括词嵌入层、卷积层、池化层和全连接层。词嵌入层将输入的文本转化为向量表示。卷积层通过滑动窗口对输入的序列进行卷积操作,提取出局部特征。池化层在每个滑动窗口上提取出一个最大值或平均值,进一步降低维度。最后,全连接层将提取出的特征传递到输出层进行分类。 CNN 句子分类模型的优点在于它可以处理不定长的文本序列,并在仅有少量特征的情况下表现出色。但是,CNN 模型的缺点在于不善于处理长期依赖关系,例如情感分析中的Irony识别。为了解决这个问题,可以引入 RNN 或 Transformer 等模型。 总的来说,CNN 模型为句子分类问题提供了一个简单有效的解决方案。在实践中,需要根据具体的任务选择合适的模型结构和参数设置,才能取得最佳效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值