陈承武,王天舒*,胡孔法,包贝华,严 辉,杨曦晨
1. 南京中医药大学人工智能与信息技术学院,江苏 南京 210029 2. 南京中医药大学药学院,江苏 南京 210029 3. 南京师范大学计算机与电子信息学院/人工智能学院,江苏 南京 210023
蒲黄(cattail pollen)系香蒲科香蒲属,为东方香蒲(typha orientalis presl)或同属植物的干燥花粉。蒲黄是一味著名的中药,具有止血、 化瘀及通淋等多种功效。制炭是将净选或切制后的药材经高温处理,使药材外部炭化、 内部保留固有性能的一种中药炮制方法。生蒲黄经过炭化制成的蒲黄炭(carbonized typhae pollen,CTP)具有明显的抗出血作用,被广泛应用于临床抗血栓,治疗创面和出血。然而炒炭程度对其止血作用具有重要影响。蒲黄炒炭过程极难掌握,炭化过程中容易出现“不及”或“太过”现象,从而产生轻度炭化、 标准炭化与重度炭化三种不同的蒲黄炭药品。这三种蒲黄炭化程度不同,凝血效果优劣不等。当前判别蒲黄炭的方法多为凭借人工经验进行肉眼观测。然而人工判别的方法,判别效率低,受主观影响大,判别结果不稳定。因此,亟需提出一种高效、 客观且准确的蒲黄炭判别方法。
近红外光谱是介于可见光和中红外之间,波长范围为700~2 500 nm的电磁辐射波。通过扫描样品的近红外光谱,可以得到样品中有机分子含氢基团的特征信息。近红外光谱分析技术具有快速、 无损与无污染等优点,被广泛应用于食品[1-2]、 木材[3]与药物分析[4]等领域。Xie等[1]使用傅里叶变换红外光谱与随机森林方法准确分类不同地区的香菇。刘亚超等[2]运用近红外光谱技术提供了一种大米直链淀粉含量的快速检测方法。Unger等[5]利用近红外光谱技术结合分子建模数据验证了环氧树脂体系固化过程中反应基团的演化。Kartakoullis等[6]使用近红外光谱结合偏最小二乘回归与随机森林回归算法预测咸肉糜的脂肪、 水分和蛋白质含量。Cui等[7]使用近红外定量分析技术鉴别区分玉米单倍体种子与二倍体种子。Mandrile等[8]分别利用漫反射近红外光谱、 衰减全反射中红外光谱技术和电感耦合等离子体发射光谱技术鉴别了可可豆壳产地。当前近红外的判别方法大多使用传统的机器学习方法。传统的一般采用手工特征判别。而手工特征判别耗时费力,且需要研究人员熟悉特定应用领域。
深度学习是机器学习的进一步发展,通过模拟人脑进行分析学习并建立神经网络,模仿人脑的机制解释数据。深度学习是一种使计算机自动学习并提取模式特征的方法,能够降低人为设计特征产生的不完备性。卷积神经网络(convolutional neural network,CNN)是深度学习的代表算法之一。CNN是一种深度前馈人工神经网络,具有表征学习能力,已广泛应用于图像识别[9]、 物体识别[10]与自然语言处理[11]等领域。Nogovitsyn等[12]使用深度卷积神经网络得出海马体积的自动分割算法。实验结果表明基于CNN的海马分割算法具有高度的稳定性与准确性。Wartini等[13]提出一种基于卷积神经网络的土壤特性分析算法,并获得了较高的准确率。Xu等[14]运用深度卷积神经网络对组织病理学图像中的上皮与基质两块区域进行了分离与分类。以上研究表明通过CNN进行中药分析与识别具有可行性。
因此,本文提出一种基于CNN与投票机制的蒲黄炮制品近红外判别方法。该方法首先通过近红外光谱技术获取蒲黄炭的光谱数据,得到原始样本空间S1。分别运用标准正态变量变换(standard normal variate transform,SNV),一阶差分,Min-max标准化三种不同的预处理方法对S1进行数据预处理,得到样本空间S2,S3与S4。之后对这四个样本空间分别运用CNN进行样本判定,分离不同炭化程度的蒲黄炭样本,并按照判别准确率进行降序排序。依序为四种不同的样本空间赋予权重0.5,0.5,0.4和0.3。接下来,采用CNN分别提取四组样本空间特征,进行特征学习。在得到四组样本的判别结果后,结合权重投票出蒲黄炭最终的炭化程度,从而实现样本的正确判定。
东方香蒲花粉采自江苏通州,凭证标本号为20180820。花粉经南京中医药大学药学院严辉副教授鉴定,保存于中药化学实验室。
轻度炭化,标准炭化与重度炭化蒲黄炭通过炮制时间与蒲黄炭的传统饮片性状确定[15]。所有的蒲黄样品为同一批次,共166份。每份取100 g花粉样品,在(270±10) ℃下,用简单的炒制方法对花粉进行炭化处理。将样品划分为3份,分别控制其炮制时间为小于7 min,等于7min,大于7 min,并将炮制后的样品结合其饮片性状确定其炭化程度。
将炮制后的三份样品置于40 ℃下干燥3 h,减小因水分引起的光谱干扰。实验采用傅里叶近红外光谱仪(Antaris Ⅱ,Thermo,US)。光谱分辨率为8 cm-1,扫描累积数为32,光谱范围为4 000~12 000 cm-1。在22~27 ℃温度范围和60%相对湿度的环境下,将每份样品粉末放入石英样品杯中,混合均匀,并扫描空气作为参考。每份粉末样品在相同条件下进行三次扫描,生成平均光谱。
我们运用One-Hot编码为每个样本设置标签。若某样本s为轻度炭化蒲黄炭,则其标签ls=[0, 0, 1];若某样本s为标准炭化蒲黄炭,则其标签ls=[0, 1, 0];若某样本s为重度炭化蒲黄炭,则其标签ls=[1, 0, 0]。
本文提出的基于CNN与投票机制的蒲黄炮制品判别模型如图1所示。将样本空间S划分为训练集Str与测试集Ste,其中训练集Str用来对模型进行训练,测试集Ste用来评价模型。首先对训练集Str中所有样品的原始光谱进行四种不同的预处理:(1)保持不变;(2)SNV处理;(3)一阶差分处理;(4)Min_max处理。经四种预处理方法处理后的数据集分别记为:Str1,Str2,Str3与Str4。
接下来,将Str1,Str2,Str3与Str4分别输入至CNN深度学习网络进行CNN模型训练与预测。以对不同预处理方法的性能进行评判。网络模型包括一层一维卷积池化层、 一层二维卷积池化层和一层全连接层。一维卷积池化层将输入的一维向量转化成二维矩阵。一维卷积池化层包括一维卷积操作、 激活操作与池化操作。其中一维卷积操作卷积核的数目为32个,大小为10×1,卷积的步长为6。并由修正线性单元(rectified liner unit,ReLU)完成激活操作,使神经网络中的神经元具有稀疏激活性。池化操作使用平均池化模型,每次取10×1的池化窗口,步长设为2。之后,将经过一维卷积池化层得到的二维矩阵输入至二维卷积池化层,并经过二维卷积操作、 激活操作与二维池化操作,将其转化成多个二维矩阵。二维卷积操作中卷积核数目为64个,大小为10×32。将二维卷积池化层得到的二维矩阵输入至全连接层,输出一维高阶向量。本文中卷积神经网络模型采用学习率衰减机制,学习率初始值设为0.003,衰减指数为1/e。在网络训练的过程中随时间逐步衰减学习率进行动态调整。每层权重初始值服从标准差为0.1的零均值高斯分布。
对训练集Str进行CNN的train-test过程,设Str1,Str2,Str3与Str4的预测准确率百分比分别为a1,a2,a3和a4。接下来,对四种不同预处理方法进行权重分配。表1给出四种预处理方法所对应数据集的CNN预测准确率与权重分配情况。其中,保持不变的数据集得到的准确率为72%;经SNV预处理的数据集Str2得到的准确率为88%;经一阶差分预处理的数据集Str3得到的准确率为92%;经Min_max预处理的数据集Str4到的准确率为76%。我们将准确率最高的两种预处理方法的权重值分配为0.5;准确率第三高的预处理方法的权重值分配为0.4;准确率最低的预处理方法的权重值分配为0.3。
图1 基于CNN与投票机制的蒲黄炮制品判别模型Fig.1 Identification model of processed products of Pollen Typhae based on CNN and voting mechanism
表1 不同预处理方法的权重分配Table 1 Weight distribution of different preprocessing methods
设测试集Ste中某个样本为ste。首先通过四种不同预处理方法对该样本的原始光谱分别进行处理,并将计算结果分别输入至CNN预测模型。将CNN预测模型得到的预测结果分别记为:yte_1,yte_2,yte_3和yte_4。其中,第i个预处理方法的预测结果yte_i=[yte_i1,yte_i2,yte_i3]。例如,若第i个预处理方法的预测结果为轻度炭化蒲黄,则yte_i=[0, 0, 1];若预测结果为标准炭化蒲黄炭,则yte_i=[0, 1, 0];若预测结果为重度炭化蒲黄炭,则yte_i=[1, 0, 0]。
对样本ste进行投票,计算ste在三种不同炭化程度上所得的投票分值,记为vj(轻度炭化为v1,标准炭化为v2,重度炭化为v3)。投票分值vj的计算方法如式(1)所示,其中i表示第i种预处理方法,j表示第j种炭化程度。
(1)
对三种炭化程度的vj值进行比较,得到ste的最终预测结果。若v1最大,则预测ste为轻度炭化样品;若v2最大,则ste为标准炭化样品;若v3最大, 则ste为重度炭化样品。
三种不同炭化程度的蒲黄炭样本的近红外原始光谱数据如图2所示。绿色曲线表示轻度蒲黄炭(Light degree CTP),蓝色曲线表示标准蒲黄炭(Standard degree CTP),红色曲线表示重度蒲黄炭(Heavy degree CTP)。由图2可知,近红外光谱的谱带重叠严重,整体近乎一致,吸收峰也几乎处于同一位置,没有显著的差异,难以用肉眼区分三种蒲黄炭样品的近红外光谱。因此我们对光谱进行四种不同的预处理方式,从而加大不同炭化程度的蒲黄炭近红外光谱的差异性,也提高了准确判定蒲黄炭的炭化程度可能性。
图2 原始光谱Fig.2 Raw spectral
基于CNN与投票机制的蒲黄炮制品判别模型中,需要将四种不同的预处理方法的计算结果输入至CNN卷积神经网络。预处理后的一维数据通过CNN的一维卷积池化层计算后,转化为139×32的二维矩阵。其中,一维卷积池化层的卷积核(Filter 1~16)为32个,其部分卷积核(Filter 1~16)如图3所示。
图3 一维卷积池化层的部分卷积核Fig.3 Partial convolution kernel of one-dimensional convolution pool
在经过一维卷积池化操作后,二维矩阵数据经过二维卷积池化层转换为24×64的二维矩阵。二维卷积池化层中卷积核为64个,其部分卷积核(Filter 1~16)如图4所示。
图5展示训练集Str经四种预处理方法后分别输入CNN进行模型训练所得到的特征向量。其中,红色线条对应蒲黄炭轻度炭化样本;绿色线条对应蒲黄炭标准炭化样本;蓝色线条对应蒲黄炭重度炭化样本。由图5可知,通过CNN得到的三种样品特征向量区分较为明显,重叠样本少。
图4 二维卷积池化层部分卷积核Fig.4 Partial convolution kernel of two-dimensional convolution pool
图5 四种预处理方法的CNN特征向量 (a): 保持不变预处理CNN特征向量;(b): SNV预处理CNN特征向量; (c): 一阶差分预处理CNN特征向量;(d): Min_max预处理CNN特征向量Fig.5 CNN eigenvectors of four pre-processing methods (a): Unchanged preprocesses CNN eigenvectors; (b): SNV preprocesses CNN eigenvector; (c): First-order difference preprocesses CNN eigenvectors; (d): Min_max preprocesses CNN eigenvectors
图6给出了四种预处理方式在训练CNN模型时测试准确率随迭代次数的变化情况,由图6可看出,测试准确率随迭代次数增加而迅速上升。为避免因随机抽样导致的实验误差,CNN的train-test过程重复50次,经实验发现四种预处理方式的测试准确率最终均可稳定在80%以上。
图6 四种预处理方法的CNN测试准确率Fig.6 CNN test accuracy of four pre-processing methods
在蒲黄炮制品识别模型中,我们采用交叉熵损失函数判别模型预测效果。从图7可以看出,四种预处理方式在训练CNN模型时,随着迭代次数的增加,损失值始终以下降趋势不断递减。
图7 四种预处理方法的CNN交叉熵损失值Fig.7 Cross entropy loss of CNN based onfour pre-processing methods
为了评估本方法的性能,我们将该方法与传统卷积神经网络CNN,线性判别分析方法(linear discriminant analysis,LDA)以及标准正太变量变换-线性判别分析方法(standard normal variable-linear discriminant analysis,SNV-LDA)进行对比。实验过程中,训练集所占比例为80%,测试集所占比例为20%,train-test过程重复50次。四种方法的预测准确率对比如图8所示。由图可知,本方法的准确率最高,分别比CNN,LDA和SNV-LDA提高8.6%,4.3%和2.6%。
本方法需要通过训练蒋预测模型进行训练,而训练集的规模可以影响预测准确性。为了分析本方法的稳定性,将训练集所占样本比例分别设为10%,20%,30%,40%,50%,60%,70%,80%和90%。不同比例下的train-test过程重复50次。稳定性测试结果如图9所示。由图9可知,当训练集所占比例高于70%时,本方法的预测准确率高于90%。同时,当训练集仅占比10%时,所提方法的预测准确率可以维持在80%左右。稳定性测试实验结果表明本方法具有较高的稳定性。
图8 本方法与CNN,LDA,SNV-LDA预测准确率对比
图9 不同训练比例预测准确率Fig.9 Test accuracy of different training set proportions
为综合评价本方法的性能,将35份外部蒲黄炮制样品输入至所建立的蒲黄炮制品预测模型进行判别。35份蒲黄炮制样品中,仅2份样品预测出错,预测准确率达到94.29%。由此可见,本方法适用于蒲黄炮制品近红外判别,能够满足标准蒲黄炭快速识别的实际应用需求。
提出一种基于卷积神经网络与投票机制的蒲黄炮制品近红外判别方法,高效判别重度炭化、 标准炭化、 轻度炭化三种不同炭化程度的蒲黄炭。蒲黄炭的原始光谱在经过四种不同的预处理方式后通过卷积神经网络模型预测出四种结果,结合自身权重后投票出蒲黄炭的炭化程度。实验结果表明,本工作所提出的蒲黄炮制品预测模型对测试集样本的判别准确率达到95.4%,识别准确性高。基于卷积神经网络与投票机制的蒲黄炮制品判别模型结合近红外光谱的实验方法可以高效识别蒲黄炭的炭化程度,为实际鉴别蒲黄炭的炭化程度与药效和药品鉴定仪器的开发提供了技术支持。
本工作是对蒲黄炮制品快速鉴别的初步研究,后续会收集不同产地,不同采摘时间的样品,进一步研究与完善。