基于深度学习的 DNA 条形码算法
卷积神经网络模型的构建:BP 浅层人工神经网络在 20 世纪 80 年代末期成为机器学习的重要研究对象,但是 BP 神经网络只有一个隐藏层,结构较为简单,特征提取能力有限,随后逐渐发展出多个隐藏层且具有复杂连接结构的深层次神经网络,并通过大数据结合高性能计算单元训练深度神经网络学习到高级语义特征,从而实现数据预测 (LeCun
et al., 2015)。卷积神经网络 (convolutional neural network, CNN) 通常包含多个隐含层,是前馈神经网络模型,最初由日本研究者 Fukushima 提出 (Fukushima, 1980)。卷积神经网络得名于卷积层,其运算过程为,对于一个二维卷积层来说,一个二维输入数组与一个包括宽和高两个维度的二维卷积核 (本质也为二维数组) 进行互相关运算,而后得到另一个二维数组,此输出又被称之为卷积神经网络提取的特征图 (LeCun
et al., 1998)。近来,Yang
et al. (2021) 在整合分类学框架下提出一个新的整合形态-分子的深度学习神经网络模型 (MMNet),该网络可以同时利用序列和图像信息进行更为准确的物种鉴定。MMNet模型构建受到 ResNet 的启发,ResNet 是一个包含许多残差模块的深度神经网络模型 (He
et al., 2016)。理论上,更深层次的神经网络可以表达更丰富的特征,但在实际应用中,梯度随着神经网络的加深而急剧下降,ResNet 算法很大程度上缓解了梯度消失问题 (He
et al., 2016)。残差模块 (residual block) 由几个卷积层加上捷径连接组成,捷径连接可以更好地学习每个残差模块的恒等映射函数 (identity mapping function),并有助于在反向传播中直接传播梯度 (He
et al., 2016)。然而,ResNet 不能很好地选取待识别主体重点突出的部分,会关注到背景的干扰信息,导致对局部细节的关注不足 (Hu
et al., 2020; Woo
et al., 2018)。考虑到特定形态特征对生物分类的重要性,形态-分子网络在 ResNet 中加入卷积块注意模块 (Convolutional Block Attention Module, CBAM),使模型能够更多地关注细微特征。注意力模块不仅告诉神经网络应该关注什么地方 (即被识别主体),还增强了感兴趣区域的表达 (Woo
et al., 2018)。
其中 F 为输入的特征图 (feature map),⊗ 代表逐元素相乘,
Mc 为通道注意力映射,
Ms 为空间注意力映射,MLP (Multi-Layer Perception) 为多层感知器,
W0 和
W1 均代表权重值,
和
分别表示通道上的平均池化特征和最大池化特征,
和
分别表示空间上的平均池化特征和最大池化特征,σ 为 sigmoid 函数,f
7×7代表卷积核大小为 7 × 7 的卷积层。本质上,CBAM 通过使用注意机制来增加代表性:关注重要特征并抑制不必要的特征,应用通道和空间注意模块,以便每个分支都能分别知道在通道和空间上关注什么局部细节和被识别主体在哪里 (Woo
et al., 2018)。
在自然环境中,拍摄高质量的动物照片是非常困难的,尤其是那些移动速度较快的动物,例如飞舞的蝴蝶和鸟类等。研究表明,即使很小的移动也能显著改变深度网络的输出 (Zhang, 2019)。这一问题对动物物种识别提出了很大的挑战,为了弥补这一问题,形态-分子网络添加了抗锯齿通用下采样层 (anti-aliasing common down-sampling layer) 或者称之为模糊池化层(BlurPool) (Zhang, 2019)。模糊池化采用了经典的信号处理方法,消除了现代深度神经网络的锯齿化 (aliasing) 现象,稳定了输出分类的结果和置信度,通过将抗锯齿层与现有的子采样层相结合,提高了神经网络的鲁棒性 (Zhang, 2019)。上面网络结构的改进可以解决许多遇到的问题,但是仍然面临着一个较为棘手的挑战:如何融合图像和 DNA 序列,它们是不同维度的数据。对于彩色图像数据,除了图像的宽度和高度,还有包括红、绿和蓝组成的颜色通道,它们共同组成 RGB 颜色模式,通过改变红、绿、蓝三种颜色通道,将它们相互叠加,形成一个彩色图像。虽然已经将图片和 DNA 序列都统一成三维数据,但是两个维数完全不同的矩阵不能直接相加。因此,在保留两个矩阵各自重要的特征的同时,如何将它们的维数进行统一则成了当前较为棘手的难题。为了解决这一问题,形态-分子网络中引入了协方差池化层的迭代矩阵平方根归一化,即 iSQRT-COV (Li
et al., 2017)。在 iSQRT-COV 层之后,DNA 序列的维数和图像特征表示矩阵的维数变为一致,所以它们可以进行特征融合。此外,iSQRT-COV 层可以利用深度神经网络学习后通道之间的相关信息,获得更好的性能、更强的泛化能力、更快的收敛速度和更高的计算效率 (Li
et al., 2017)。
利用序列和图像训练形态-分子网络:利用独热编码 (One-hot) 将序列转化为矩阵 (采用 IUPAC 核苷酸编码方式),并用于神经网络的训练,例如: A = [[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]。图像数据需要统一长和宽的像素大小以进行批量训练,而后同时输入序列和图片进行训练。神经网络模型的损失函数采用交叉熵损失,并使用自适应矩估计 (adaptive moment estimation, Adam) 作为优化器 (Kingma and Ba, 2014)。输出层使用 k-way softmax 作为神经网络最后的激活函数,其中 k 为每个数据集中的类别数。设置批大小 (batch size) 为 20,学习率为 10
-4 训练轮数为 150。物种鉴定的准确率为测试数据中正确鉴定的物种的数目占测试总物种数的比率。