基于Siamese网络的矿物拉曼光谱识别 下载: 893次
1 引言
矿物的鉴定工作是开展一系列地质工作的前提条件,它能辅助地质工作人员作出进一步的决策。目前的鉴定方法主要有:显微镜法、热分析法、X射线物相分析[1]和谱分析法[2]。
其中显微镜难以鉴定微鳞片状矿物;热分析法会改变矿物体积质量等物理特性;X射线物相分析则不能鉴别非晶质矿物。
拉曼光谱基于光与矿物内化学键的相互作用,可以在微米级别下进行定量分析。相比于其他方法,基于拉曼光谱的分析方法具有速度快、抗干扰、准确率高的优点。除此之外,拉曼光谱还可以测定矿物在不同形态、状态下的结构,进而追溯矿物的演化进程[3]。刘社文等[4]将拉曼光谱应用到了玉石鉴定领域;马朝龙等[5-6]结合拉曼光谱、X射线荧光光谱分析(XRF)与扫描电子显微镜(SEM)技术成功分析出龙门石窟壁画彩绘装饰颜料的矿物成分;陈铄等[7]分析秦岭造山带硅质岩的拉曼光谱等数据,得到了硅质岩的组构信息,追溯出硅质岩在造山作用中演变轨迹。
在光谱分析中,人工识峰进行光谱分类通常要求其具有较高的专业背景,而且这个过程相对比较漫长,所耗费成本是极其高昂的。利用机器学习算法识别拉曼光谱也是光谱分析中常用的手段。何欣龙等[8]使用K近邻算法实现了塑钢窗拉曼光谱的识别。李东明等[9]使用反向传播(BP)人工神经网络对血糖的拉曼光谱进行分类。史如晋等[10]基于集成学习Stacking算法成功区分开了光谱特征极其相似的大肠杆菌O157∶H7以及布鲁氏菌S2株。
针对种类数目超过一千的矿物数据集,本文提出了一种基于Siamese网络[11-12]的相似性学习方法,使用基于非对称最小二乘的Savitzky-Golay滤波器来进行平滑操作,将光谱中存在的噪音和荧光背底[13]等干扰滤除。与传统的机器学习算法相比,经Hungarian算法[14]优化负样本后的Siamese网络得到了鲁棒性最好的分类结果。
2 数据收集与预处理
2.1 实验样本
本文收集RRUFF、帕尔马大学等开放数据库的1375种矿物的高质量拉曼光谱数据,共3788个样本。激光相对于基准点的偏振方向均在780 nm左右。Actinolite、Albite和Andradite等矿物的数十个光谱如
2.2 光谱预处理
首先是平滑处理。所收集光谱数据已经经过了部分去噪声处理,但仍然存在些许噪音和荧光背底干扰,使用Savitzky-Golay滤波器进行平滑处理,滤除光谱数据的背景干扰, Albite的处理过程如
其次对光谱数据进行归一化处理。归一化处理有两个好处:1)提升模型的收敛速度;2)提升模型的精度,在涉及到距离计算的算法中效果更为明显。
本文所选择的归一化方法为最小值最大值归一化(Min-Max Normalization),公式为
式中:xmax为特征值的最大值;xmin为特征值的最小值;x*为归一化后的特征值。
2.3 光谱特征降维
本文拉曼光谱的拉曼偏移范围均在0~2500 cm-1之间。由于光谱采集源的不同,样本的拉曼偏移区间也有所不同,采用最邻近插值法贴齐所有特征。对收集的光谱数据,其特征为拉曼偏移的离散采样,由于采样频率较高,各特征点(拉曼偏移)之间的耦合程度也较高,存在特征冗余的现象,故采取主成分分析(PCA)算法进行特征降维。当保留的主成分特征个数超过9时,计算得出每多保留一个特征所获得的增益不超过5%,故选择保留9个主成分特征来替代原先的3000多个特征,对平滑处理后的光谱数据进行计算得到帕累托图,如
3 实验与讨论
3.1 构造训练数据
Siamese网络是一种二元网络,其输入为一对矿物光谱,Siamese网络为这对光谱打分并输出这对矿物间的相似度。
本文以如下的方法来构造训练数据集:
1) 匹配样本。对属于同一种矿物光谱对(A,B),标签值为1,代表A与B完全相似。
2) 不匹配样本。对属于不同种类的矿物光谱对(A,C),标签值为0,代表A与C完全不相似。
训练的光谱数据具有以下特性:1)包括1/3的匹配矿物样本和2/3不匹配矿物样本;2)训练集中每个矿物的光谱数据刚好被使用4次;3)根据对抗训练的思想,需要对相似度非常高但却不匹配的光谱对给予额外的关注,对这些网络难以区分的不匹配光谱对,会在特定阶段进行针对性的处理。
实施这样的策略来训练Siamese网络能大幅提升模型的准确率;其他方法在某种程度上也能贡献准确率,但相对来说所占比例不大。
3.1.1 匹配样本
半数的训练样本由匹配的矿物光谱组成,剔除掉干扰类,针对每一种矿物,将其类别下的样本次序完全打乱,令原始次序的为光谱A,扰乱次序后的光谱B,构造匹配光谱对(A,B),其中每个样本会被用到两次。
3.1.2 不匹配样本
不匹配样本将从整个训练集中挑选出来,满足以下两个条件:1)光谱对来自不同种类矿物;2)光谱对是网络难以区分的。
3.2 构造模型
Siamese网络对两个光谱进行比较来判断它们是否来自同一种矿物。因此,通过对训练集中所有的光谱与测试集中的每个光谱进行比较,然后将光谱输出的相似度进行排序来识别最可能的矿物。
Siamese网络主要由两部分组成,如
3.2.1 躯干网络
躯干网络使用常规的神经网络模型——多层感知机(MLP),其中网络层数设置为4,神经元个数分别为12、8、4、2,激活函数均为整流线性单元(ReLU)。为了防止过拟合,加入了L2正则化,正则化系数为10-6。采用网络输出二维特征来表示该矿物的光谱特性。添加L2正则化后的损失函数为
式中:L(ω)为未添加L2正则化的损失函数;λ为正则系数。
由于训练数据集不大,本文试图保持学习参数的数量相对较小,同时保持模型具有足够的学习能力。
3.2.2 头网络
头网络使用单层的神经网络,激活函数为sigmoid,恰能将相似度控制在[0,1]区间。在头网络进行决策前,需要将躯干网络输出的特征向量转换为距离特征。
头网络比较两个特征向量的异同,这里涉及到了距离度量。通常的Siamese网络会选择反差损失函数作为度量方法,由于以下两个原因:1)距离度量应将距离为0的两个特征视为完美匹配,特征值略有不同的两个特征将被视为匹配良好。但其中特征值大多数为正值,尤其在激活函数为ReLU的情况下,距离度量会有一定的局限性。2)存在一个潜在的假设,当交换两个光谱时,必须产生相同的结果,即如果(A,B)是相同的矿物,则(B,A)同样也得是相同的矿物。
故本文所采取的度量方法为:1)对每对特征x、y,分别计算其和、乘积、绝对差和平方差 x+y、xy、|x-y|、(x-y)2。2)头网络依靠这4个特征产出相似度,通过学习,网络可以在匹配的零和非零值之间进行权衡。对每个特征使用具有相同权重的神经网络层。3)输出是转换后的特征的加权和,再通过sigmoid激活函数进行非线性变换。权重值其实是多余的,它只是特征的缩放因子,可由另一层学习。而且,权重应该允许为负值,否则ReLU激活时无法产生负权重。
3.3 训练模型
Siamese网络的训练是端到端的,相比单独训练躯干网络与头网络,能够获得更好的分类效果。在训练时,将网络输出的相似度打分取反,这意味着实际上网络的输出是矿物间的不相似度,两种矿物相似度越高等价于其不相似度越低,这样设置有利于网络的优化,更便于对十分相似却不相同的负样本的搜索,这时优化问题转换为线性分配问题。
随机初始化相似矩阵,将对角线上的相同矿物对以及同一类矿物的正样本的不相似度设置为无穷大,目的是为了在对负样本进行搜索时避免这些正样本被Hungarian算法所选中。
每生成一次相似矩阵,需用Hungarian算法来搜索最难区分的光谱对,算法原理如下。
Hungarian Algorithm The Hungarian method for the LAP | |
---|---|
Input: Similarity Score Matrix M | |
Output: Similarity Score Matrix M been covered | |
While All columns not covered | |
while Uncovered zeros | |
Prime the current uncovered zero | |
if There’s a starred zero in this row | |
Uncover the starred zero’s column and cover the row | |
else | |
Find an alternating augmented path from the primed zero | |
Unstar the starred zeros on the path and star the primed zeros on the path | |
Remove all the prime markings and cover all stared zeros | |
break | |
end if | |
end while | |
if Found path | |
continue | |
end if | |
end while | |
return Starred zeros // These are all the assignments |
在每一轮训练后,将相似度矩阵中所选出的难匹配光谱对的不相似度设置为无穷大,将优化的注意力集中到这些光谱对上。
图 5. 相似矩阵。(a) Hungarian算法选择前;(b) Hungarian算法选择后
Fig. 5. Similarity matrix. (a) Before Hungarian algorithm selection; (b) after Hungarian algorithm selection
采用梯度下降法来更新权重等参数的梯度,表示为
式中:w*和b*为更新后的权重和偏置;
3.4 结果与讨论
与传统的分类算法比较,结果如
表 1. 光谱分类结果
Table 1. Results of spectroscopy classification
|
在准确率上,Siamese网络要略优于传统的机器学习算法;在前5个输出的加权平均正确率均值(MAP5)标准下,Siamese网络的优势比较明显,一些模型甚至很难同时做出多种预测。Siamese网络可以根据预测相似度的大小排序,预测出最为可能的5种结果。由于将单一样本的类别归为干扰类,数据集有近1/6的样本为干扰类,对传统的机器学习算法而言,出现了类别不均衡的问题,存在一定的过拟合现象;而Siamese网络通过样本配对将多分类转化为二分类,类别样本数之比为1∶2,再加上正则项系数,能有效控制过拟合。对岩矿进行鉴定时,通常通过其特性进行判断。而追究岩矿的某一特性时,Siamese网络输出岩矿样例与光谱库中岩矿间相似度更具现实意义。KNN算法虽然也能基于距离计算相关性,但其效率不高,每次都要遍历整个光谱库。
式中:N为测试光谱的数目;K为第n个测试光谱模型的有效输出值数目;P(k)为第k个输出值。
表 2. 不同处理方式的结果对比
Table 2. Results comparison for different processing methods
|
由
4 结论
拉曼光谱发展至今,已经是一项较为成熟的技术。在矿物分类、鉴定方面,基于拉曼光谱的分析方法效果极为显著。本文根据拉曼光谱的性质,对其进行一系列处理(如平滑、归一化等),对提升模型预测的准确度有很大的贡献。通过对比实验可知,在类别数目大、样本数目相对较小的矿物拉曼光谱数据集下,Siamese网络的分类效果最佳。其中,Hungarian算法优化负样本对Siamese网络的训练极为重要。
由于神经网络的可解释性差,Siamese网络数据输出的相似度有一定的局限性,网络优化基于训练数据将不匹配样本的距离隔远,降低相似度,但对阈值以下的相似度只具备参考性。
为了进一步提升模型准确度可以增加更多的样本数据并设计提取特征能力更强的网络设计,以构建更加完备的矿物光谱库。
[1] 张凤英, 张文捷, 刘春丽. X射线粉晶衍射( XRD)法在粘土矿物岩矿鉴定中的应用[J]. 低碳世界, 2018( 9): 279- 281.
Zhang FY, Zhang WJ, Liu CL. Application of X-ray powder diffraction (XRD) in the identification of clay minerals and rocks[J]. Low Carbon World, 2018( 9): 279- 281.
[2] 陆婉珍. 现代近红外光谱分析技术[M]. 北京: 中国石化出版社, 2010: 174.
Lu WZ. Near infrared spectrometry[M]. Beijing: China Petrochemical Press, 2010: 174.
[3] 何佳乐, 潘忠习, 冉敬. 激光拉曼光谱在岩矿鉴定中的应用[J]. 四川地质学报, 2016, 36(2): 346-349.
He J L, Pan Z X, Ran J. The application of laser Raman spectroscopy to rock and mineral identification[J]. Acta Geologica Sichuan, 2016, 36(2): 346-349.
[4] 刘社文, 郭茂田, 梁二军, 等. 激光拉曼光谱在玉石鉴定中的应用[J]. 光散射学报, 1999, 11(3): 194-197.
Liu S W, Guo M T, Liang E J, et al. The application of Raman spectroscopy to the identification of jades[J]. Chinese Journal of Light Scattering, 1999, 11(3): 194-197.
[5] 马朝龙, 刘照军, 程琳. 龙门石窟彩绘颜料的拉曼光谱、X射线荧光和扫描电镜分析[J]. 光散射学报, 2018, 30(4): 357-361.
[6] 孙鹏飞. 基于拉曼光谱的混合矿物颜料检测分析[D]. 长春: 长春理工大学, 2017.
Sun PF. Detection and analysis of mixed mineral pigments based on Raman spectroscopy[D]. Changchun: Changchun University of Science and Technology, 2017.
[7] 陈铄, 苏志华, 周永章, 等. 谱学分析在造山带硅质岩中的应用及其地质意义[J]. 光谱学与光谱分析, 2019, 39(4): 1128-1135.
[8] 何欣龙, 陈利波, 王继芬, 等. 基于K近邻算法的塑钢窗拉曼光谱分析[J]. 激光与光电子学进展, 2018, 55(5): 053001.
[9] 李东明, 贾书海. 基于多光谱应用BP人工神经网络预测血糖[J]. 激光与光电子学进展, 2017, 54(3): 031703.
[10] 史如晋, 夏钒曾, 曾万聃, 等. 基于PCA-Stacking模型的食源性致病菌拉曼光谱识别[J]. 激光与光电子学进展, 2019, 56(4): 043003.
[11] BromleyJ, GuyonI, LecunY, et al. Signature verification using a siamese time delay neural network[C]∥Advances in Neural Information Processing Systems 6, 7th NIPS Conference, Denver, Colorado, USA, 1993. Morgan Kaufmann Publishers Inc.1993.
[12] ChopraS, HadsellR, LeCun Y. Learning a similarity metric discriminatively, with application to face verification[C]∥2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), San Diego, CA, USA. IEEE, 2005. 202.
[13] 朱磊磊, 冯爱明, 金尚忠, 等. 拉曼光谱检测中荧光抑制方法及其应用分析[J]. 激光与光电子学进展, 2018, 55(9): 090005.
[14] Kuhn H W. The Hungarian method for the assignment problem[J]. Naval Research Logistics Quarterly, 1955, 2(1/2): 83-97.
Article Outline
吴承炜, 史如晋, 曾万聃. 基于Siamese网络的矿物拉曼光谱识别[J]. 激光与光电子学进展, 2020, 57(9): 093301. Chengwei Wu, Rujin Shi, Wandan Zeng. Mineral Raman Spectral Recognition Based on Siamese Network[J]. Laser & Optoelectronics Progress, 2020, 57(9): 093301.