作者简介: 张 印, 1990年生, 桂林电子科技大学光电工程学院博士研究生 e-mail: 1024881921@qq.com
新型冠状病毒的出现给全球经济、 公共安全等方面带来严重损失。 如今新型冠状病毒仍然在全球肆虐, 加强病毒的检测和诊断是一项急需解决的工作, 快速且准确地诊断新冠病毒对疫情防控尤为重要。 随着技术的发展, 深度学习在检测识别方面有了许多突破性进展, 吸引着研究者的广泛关注。 然而深度学习需要大量数据进行模型训练, 而新冠病毒的拉曼光谱采集过程受到器件和环境等诸多问题的限制, 导致获取大批量的数据非常困难。 有限的训练数据会阻碍深度学习模型的训练, 导致深度学习模型训练受阻, 精度有限, 以至于深度学习模型在真正的检测中表现不佳。 为解决这一问题, 该研究引入条件生成对抗网络, 自动提取拉曼光谱数据特征, 通过学习生成新的光谱来完成新冠病毒的拉曼光谱数据扩充工作。 这些方法能有效增加训练集数量从而提高模型准确性。 利用数据增强后的拉曼光谱数据和深度神经网络以及传统的机器学习方法逻辑回归、 决策树、 随机森林、 支持向量机、 KNN算法, 完成新冠病毒的诊断。 实验结果表明, 深度神经网络对是否感染新型冠状病毒的预测准确率达到98%, 高于传统机器学习算法, 证明了深度学习模型在新冠病毒拉曼光谱检测中的优越性。 该研究还对比了增强前后的数据集在不同模型中的表现, 证明了数据增强的作用。 与传统的检测方法相比, 该方法具有无损、 快速、 准确等特点, 为生物医学检测新冠病毒提供了一种新的思路。 该方法可以为快速准确检测新冠病毒提供辅助, 所采用的方法不仅可以应用于新冠病毒检测, 还可以推广到其他疾病的诊断中, 具有一定的实际应用价值。
The emergence of the novel coronavirus has caused significant losses in the global economy and public safety. The need for efficient detection and diagnosis has become urgent as the virus continues to inflict damage worldwide. Accurate and fast diagnosis of the novel coronavirus is critical for epidemic prevention and control. With the development of technology, deep learning has made many breakthroughs in detection and recognition, attracting widespread attention from researchers. However, deep learning requires a large amount of data for model training, and the collection of Raman spectra data for the novel coronavirus is limited by devices and environmental factors, making it difficult to obtain large amounts of data. The limited training data can hinder the training of deep learning models and limit their accuracy, resulting in poor performance in actual detection. To address this problem, this study introduces the CGAN adversarial network to automatically extract features from Raman spectra data and generate new spectra to expand the dataset for the novel coronavirus. These methods can effectively increase the training set's size and improve the model's accuracy. Using the enhanced Raman spectra dataset and deep neural networks, as well as traditional machine learning methods, including logistic regression, decision trees, random forests, support vector machines, and k-nearest neighbors algorithm, the diagnosis of COVID-19 is performed. The experimental results show that the deep neural network has a prediction accuracy of 98% for whether a patient is infected with the novel coronavirus, which is higher than traditional machine learning algorithms, demonstrating the superiority of deep learning models in Raman spectra detection of the novel coronavirus. We also compared the performance of the datasets before and after augmentation in different models, proving the effectiveness of data augmentation. Compared with traditional detection methods, this method is non-invasive, fast, and accurate, providing a new approach for biomedical detection of the novel coronavirus. The method proposed in this study can assist in rapidly and accurately detecting the novel coronavirus. It can be applied not only to the diagnosis of the novel coronavirus but also to the diagnosis of other diseases, having practical application value.
新冠病毒于2019年首次被发现, 是一种容易引起人类呼吸道感染病毒[1]。 由于其极强的传染性, 迅速传播到世界多个国家, 对世界经济与社会安全造成了重大的威胁。 因此, 如何快速有效检测人体是否感染新冠病毒成为了应对此次疫情的关键步骤[2]。 然而, 目前的检测方法耗时长、 操作复杂、 对人体有一定伤害, 开发新的安全有效的检测方式有很强的现实意义。
拉曼光谱反映了分子内部振动和旋转能级, 可以高灵敏度检测生物分子的成分。 拉曼光谱中的特征峰称为“ 指纹” , 代表样品的生化成分[3]。 拉曼光谱的样品制备过程十分简单, 并具有无损、 快速、 准确的特点, 可用于化学分析[4]、 医学[5]和工业[6]等多个领域, 是物质分类的有效工具。 拉曼光谱也常常被用来诊断各种疾病, 包括登革热、 丙型肝炎病毒、 癌症、 艾滋病毒、 阿尔茨海默病等疾病。 因此, 拉曼光谱检测新型冠状病毒的感染成为一种有潜力的方法, 可为抗击疫情提供重要支持。 邵帅斌等[7]将乳粉掺杂物的拉曼光谱数据预处理, 使模型更有效的提取出拉曼光谱的特征, 验证了神经网络可极大简化拉曼光谱分类识别的计算过程。 左佳倩等[8]将200余种精神类药品拉曼光谱作为测试对象, 通过搭建神经网络自动特征提取并利用Softmax分类器将物质进行定性分析, 检测率达到85%, 取得良好效果。 谈爱玲等[9]使用激光拉曼光谱结合深度学习研究珍珠粉掺伪快速鉴别和纯度分析, 对样本进行拉曼光谱采集并使用对抗网络进行数据增强, CNN网络对小比例掺杂样本的真伪鉴别正确率达到100%。 黄忠民等[10]以大肠杆菌和布鲁氏菌作为实验对象, 得到拉曼光谱图, 通过算法模型实现分类, 达到了90.28%的准确率。
深度神经网络(DNN)拥有强大的非线性拟合能力和特征提取能力[11], 可以任意精度逼近任何非线性连续函数, 通过学习自动提取出数据间的“ 合理规则” , 提取数据中的规律。 本文将DNN模型应用于新冠病毒拉曼光谱分析, 实验中采集健康人体血清以及新冠患者血清的拉曼光谱数据, 根据数据特征, 提出一种新冠病毒DNN分类模型。 结果表明, 相比于传统的拉曼光谱分类算法, 如K近邻[12]和逻辑回归(logistic regression)[13]等, DNN模型具有更高的分类准确率。
本实验使用的是尹刚等提供的数据[14], 共收集了177份血清样本, 其中包含63例COVID-19确诊患者、 59例疑似病例和55名健康个体。 采集血液后, 进行离心处理并从中分离出血清。 使用波长为785 nm, 功率为100 mW的单模二极管激光器(实光)用于拉曼激发。 检测到样品上的激光功率约为70 mW。 并在600~1 800 mm的范围内记录光谱, 每个样品收集拉曼光谱15次, 每个样品收集多个光谱, 确保准确表示样品的成分。
条件生成对抗网络(CGAN)利用了条件生成器和条件判别器之间的互动, 来生成和判别更真实的数据[15]。 因此可以有效地利用原始数据的特征和分布来生成更多的数据样本。 相较于原始GAN, CGAN可以在生成过程中, 使用额外的条件信息来更精细的控制生成器输出, 通过在生成器和判别器中引入条件信息y, 使得生成器可以将其用作先验信息来指导输出, 而判别器则将其用于对生成器的输出进行评估, 达到更好的生成效果。
CGAN的目标函数可以表示为
$\text{mi}{{\text{n}}_{G}}\ \text{ma}{{\text{x}}_{D}}V\left( D,G \right)={{E}_{x\tilde{\ }\text{pdata}(x|y)}}\ [\text{log}D(x|y)]+{{E}_{z\tilde{\ }{{p}_{z}}\left( z \right),y}}\left[ \text{log}\left( 1-D\left( G\left( z,y \right)\left| y \right. \right) \right) \right]$(1)
式(1)中, Ex~pdata(x|y)是条件分布, 表示给定条件y下的真实数据分布,
由于光谱数据具有复杂的分布和特征, 使用CGAN可以生成更多的具有高度真实性和多样性的光谱数据, 有助于提高模型的性能和泛化能力。 CGAN从原始数据中学习特征信息并生成新的数据, 可以保留原始数据中的特征信息, 从而使生成的数据更加真实, 符合实际场景。 此外CGAN还可以基于条件变量生成数据, 这意味着可以通过控制条件变量的值来控制生成数据的属性, 如光谱数据的峰值位置、 峰值强度等。 通过在条件变量中引入噪声, 可以在生成过程中引入一定的随机性, 从而生成多样化的数据, 这对于数据增强是非常有益的。 CGAN还可以通过增加或减少条件变量和隐藏层的数量来扩展模型, 因此可以适应不同规模的数据集, 并实现更好的数据增强效果, 生成更加真实的数据。
DNN分类器是一种基于深度学习算法的分类模型, 通过多层神经网络来逐层计算学习输入数据的特征和标签之间的关系, 从而实现分类任务。 每层神经元的输出作为下一层的输入, 通过反向传播算法, 即根据损失函数计算出每个神经元的误差, 并将误差从输出层反向传播到输入层, 以调整每个神经元的权重和偏置, 从而最小化损失函数并提高模型分类准确率。 DNN分类器的可以自动学习输入数据的特征, 避免了手动设计特征的繁琐过程, 同时具有很强的表达能力和拟合能力, 在工业应用上取得了广泛应用和优异性能。
DNN一般由1个输入层、 多个隐藏层和1个输出层组成。 模型输入与权重值相乘后通过激活函数, 使其具有非线性表达能力。 神经网络中的每个神经元都与前一层的所有神经元相连, 并且每个连接都有一个权重。 每个隐藏层都可以视为从输入到输出的映射函数, 即网络的线性关系表达式为
$y=\overset{m}{\mathop{\underset{i=1}{\mathop \sum }\,}}\,{{w}_{i}}{{x}_{i}}+b$(2)
$a_{j}^{k}=\sigma \left( Z_{j}^{k} \right)=\overset{m}{\mathop{\underset{i=1}{\mathop \sum }\,}}\,w_{ji}^{k}a_{i}^{k-1}+b_{j}^{k}$(3)
将表达式代入运算, 假设第k-1层有n个神经元, 则对于第k层的第j个神经元的输出为
$a_{j}^{k}=\sigma \left( Z_{j}^{k} \right)=\overset{m}{\mathop{\underset{i=1}{\mathop \sum }\,}}\,w_{ji}^{k}a_{i}^{k-1}+b_{j}^{k}$(4)
式(4)中, σ 为激活函数, w为权重, b为偏置。 随着网络计算, 后面的神经元获得的值会越来越大, 因此网络结构中需要用激活函数进行约束。 DNN网络结构如图2所示。
DNN中的激活函数还可以增强网络的表达能力, 一般为非线性。 常见的激活函数有Sigmoid函数、 ReLU函数、 LeakyReLU函数、 Tanh函数, 函数的表达式如式(5)— 式(8)
$f{{\left( x \right)}_{\text{singmoid}}}=\frac{1}{\ \ \ 1+{{\text{e}}^{-x}}\ \ \ }$(5)
$f{{\left( x \right)}_{\text{Tanh}}}=\frac{{{\text{e}}^{x}}-{{\text{e}}^{-x}}}{\ \ \ \ {{\text{e}}^{x}}+{{\text{e}}^{-x}}\ \ \ }$(8)
激活函数的图像如图3。
在DNN的训练需要定义一个损失函数来度量预测值与真实值之间的差异, 衡量模型在训练集上的性能。 损失函数越小, 表明模型性能越好。 常见的损失函数有: 均方误差、 二分类交叉熵、 多分类交叉熵等, 本文选择二分类交叉熵作为神经网络的损失函数, 此函数适用于二元分类问题。
在神经网络的训练过程中, 网络的层数选择、 学习率等超参数的选择对模型的性能有着重要的影响。 不同的数据集和任务需要选择不同的超参数, 传统的方法是通过试错或根据经验进行确认超参数的值, 但这种方式需要大量尝试且容易陷入局部最优解。 针对超参数的设计问题, 本文使用贝叶斯优化, 得到最佳的超参数设定。
贝叶斯优化思路是将超参数组合看成由各个待优化的点组成的集合, 假定待优化点和损失函数存在函数关系, 即建立起对应的关系。 它利用高斯过程模型来建立超参数和目标函数之间的映射关系, 并在每次迭代中选择最优的超参数组合来更新模型。 这样, 就可以在不断尝试的过程中逐步缩小超参数的搜索空间, 直到找到最优解为止。 贝叶斯优化过程如图4。
预处理: 将输入超参数空间转化为概率分布函数。
初始化: 根据初始条件, 建立高斯过程的先验概率分布。
选点: 通过采样函数, 找到最优点的候选集合。
更新: 将新的采样结果加入高斯过程中, 更新高斯过程的后验概率分布。
终止条件: 如果达到了指定的最大迭代次数或其他终止条件, 结束优化过程。 本文选取的终止条件为迭代次数大于20次或超参数选择没有提升性能。
输出结果: 输出最优超参数及其对应的损失函数值。
通过贝叶斯优化, 在较少的尝试次数下找到最优解, 有效减少试错成本。 经过贝叶斯优化后得到最优DNN网络模型, 输入层神经元个数为64, 隐藏层个数为2, 失活神经元所占比例为0.5, 学习率为0.01。 激活函数选用Relu, 训练50轮, 在反向传播更新参数中选取Adam优化器来优化模型权重, 损失函数指定使用交叉熵函数, 选择准确率作为评价指标。
为了验证DNN模型的优越分类能力, 本文还使用了其他五种算法, 包括逻辑回归、 决策树、 随机森林、 SVM和KNN, 来检测和分类新型冠状病毒的拉曼光谱, 将实验结果与DNN模型的结果进行比较。
如图5所示, 逻辑回归、 决策树、 随机森林、 SVM和KNN模型在新型冠状病毒拉曼光谱的检测上分别得到91.4%、 82%、 92.8%、 93.5%、 93.2%的准确率, 而DNN算法的准确率为97.6%, 实现了最佳的检测性能。 相比之下, 其他五种机器学习算法在检测拉曼光谱之前需要进行预处理操作, 如归一化、 平滑和降维, 神经网络模型省去了复杂的预处理过程, 节省了时间和人力。
如图6所示, 仅经过几轮迭代, DNN模型的精度就迅速达到了较高水平, 在相对较短的训练时间内实现了稳定的收敛。 这表明深度学习算法比传统的机器学习算法耗时更少。
CGAN通过博弈式训练生成器和判别器, 最终生成器能够生成高质量的样本。 CGAN的生成器可以表示为一个映射函数G(z, y), 其中z是从潜在空间中随机采样的噪声向量, y是条件信息, 可以看作类别标签。 针对拉曼光谱数据设计的生成网络结构见表1。
![]() | 表1 生成网络参数 Table 1 Parameters of generate network |
判别器可以表示为一个分类器D(x, y), 其中x是输入的数据样本, y是条件信息。 针对拉曼光谱数据设计的判别网络结构见表2。
![]() | 表2 判别网络参数 Table 2 Parameters of discriminator network |
为了增加数据多样性, 采用两种数据增强方式。 首先利用CGAN生成高斯噪声, 并将其与原始数据进行相加。 通过训练一个高斯噪声生成器, 对每个原始样本进行采样, 得到新的样本, 并且可以控制噪声的大小和分布。 然后使用CGAN生成随机的线性叠加, 来生成新的样本。 训练一个生成器, 将其输入为两个原始样本, 然后生成一个随机的线性叠加, 即y=w1x1+w2x2, 其中w是随机生成的权重, x是原始的拉曼光谱数据。 在CGAN的训练过程中, 使用拉曼光谱数据集作为真实数据, 以生成的随机叠加作为假数据, 训练生成器和判别器。 经过上述操作, 将总样本扩充到1 000, 生成数据非常接近原始数据, 如图7所示。
增强后的拉曼光谱数据集包含更多的样本和更多的数据变化。 训练的DNN模型可以更好地泛化到新数据上, 且具有更好的鲁棒性。 为了验证CGAN模型数据增强的有效性, 使用不同的算法分别分析了原始拉曼光谱数据和增强后的数据, 并对结果进行了比较, 结果如图8所示。
在对完成扩充的数据进行检测时候时, 逻辑回归、 决策树、 随机森林、 SVM、 KNN和DNN模型的检测准确率分别上升了1.8%、 7.5%、 2.6%、 1.2%、 0.9%, 模型检测效果都表现出一定提升, 其中决策树模型的准确性提高了7.5个百分点, 说了了数据增强的有效性。
如图9所示, 在训练过程中还观察到使用数据增强后的拉曼光谱数据集进行训练时, DNN的损失函数下降速度更快, 稳定后达到更小的值, 这也说明CGAN模型数据增强方法可以有效提升模型性能。
使用新冠病毒光谱结合DNN分类模型在对COVID-19患者、 疑似病例和健康患者血清进行检测。 为提高数据样本大小, 使用CGAN模型对原始血清拉曼光谱进行数据增强。 通过贝叶斯优化DNN网络中的超参数, 得到最优化模型, 在检测中表现出很高的分类准确率, 达到了98.7%。 相较于传统的机器学习分类算法, DNN模型具有更高的分类准确率, 并且不需要进行复杂的预处理操作, 这节省了时间和人力成本。 这为新冠病毒的快速、 有效检测提供了新方法。 同时, 拉曼光谱技术和深度学习模型的结合也为其他疾病的诊断和治疗提供了新的思路。 未来的研究可以进一步探索深度学习在其他医学领域中的应用, 并持续优化和改进该模型的性能, 以便更好地服务于人类的健康。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|