DeepInsight:把非图像数据转换成图像的卷积神经网络方法.

0. TL; DR

DeepInsight能够将非图像样本(如RNA-seq数据、元音、文本等)转换为组织良好的图像形式。通过这种转换,CNN的强大能力,包括GPU利用率,得以在非图像样本上实现。

据作者所知,这是首次将CNN同时应用于不同类型的非图像数据集的工作。实验表明,DeepInsightRNA-seq、元音、文本和人工数据集上的分类准确率显著优于random foreststate-of-the-art分类器,平均准确率达到95%,相比之下random forest为86%。

1. 背景介绍

在后基因组时代,尽管数据唾手可得,但信息却无序地散布在高维数据空间中,这使得区分不同的表型变得极具挑战性。同样的问题也存在于其他类型的数据中(如元音、文本),即将相关特征与类别标签关联起来。因此,以一种恰当的方式排列数据元素,以便于提取相关特征进行分析,变得至关重要。

传统的machine learning技术(如random forest、决策树)通常将样本视为一个特征向量。在这些方法中,特征的顺序通常被认为是相互独立的,改变特征的顺序对分类结果没有直接影响。然而,这些ML技术的可靠性高度依赖于特征提取技术。

与此不同,convolution neural network (CNN) 架构将样本视为一个图像(即一个矩阵),并通过其隐藏层(如卷积层、ReLU层、池化层)自动执行特征提取和分类。CNN具有几个显著优势:

  1. 自动特征提取:无需手动设计特征提取器。
  2. 高阶统计与非线性相关性:能够发现图像的高阶统计量和非线性相关性。
  3. 局部感受野与权重共享:卷积神经元只处理其感受野内的局部区域,并共享权重,这大大减少了参数数量,使得网络可以构建得更深,并降低了内存占用。
  4. 利用空间相干性:图像中的像素在局部区域内是空间相干的,即相邻像素共享相似信息。CNN通过处理相邻像素的集合(而不是像ML技术那样单独处理特征)来捕获额外信息。

然而,CNN的成功应用依赖于其输入是图像。大量的非图像数据,如基因组、文本、金融数据等,因此无法直接利用CNN的强大能力。

如果能将非图像数据转换为一种组织良好的图像形式,那么CNN的应用领域将被极大地拓宽。基于此,作者提出了DeepInsight方法。该方法通过将相似的元素或特征放置在一起,将相异的元素分得更远,来构建一个有意义的图像。这种集体式的元素排列方法有助于揭示隐藏的机制(如生物通路)或理解一组特征之间的关系。DeepInsight的目标是整合元素排列、特征提取和分类三个步骤,为非图像数据打开通往CNN世界的大门。

2. DeepInsight 方法

非图像转换为图像

DeepInsight方法的核心概念是,首先将非图像样本转换为一个图像,然后将这个图像输入CNN架构进行预测或分类。整个转换流程如图b所示,主要包含以下几个步骤:

  1. 获取特征位置:一个训练集$\chi = {x_1, x_2, …, x_n}$,其中每个样本是一个$d$维的特征向量。首先,将样本-特征矩阵$\chi \in \mathbb{R}^{n \times d}$转置,得到一个特征-样本矩阵$G = {g_1, g_2, …, g_d}$,其中$g_j \in \mathbb{R}^{n}$是第$j$个特征在所有训练样本上的值。然后,对这个特征集$G$应用一种降维技术(如t-SNEkPCA),将其投影到一个二维笛卡尔平面上。这个平面上的每个点代表一个原始特征,其坐标$(c_x, c_y)$由降维算法确定。这个过程的关键在于,相似的特征(即在原始高维空间中距离近的特征)在二维平面上的位置也会相互靠近。
  2. 从坐标到像素:使用convex hull(凸包)算法找到能够包围所有特征点的最小矩形。然后,对这个矩形进行旋转,使其边与坐标轴平行,以便于映射到像素网格。将旋转后的笛卡尔坐标系线性地映射到一个预定义大小的像素帧(如120x120)中。由于像素位置是离散的,可能会有多个特征被映射到同一个像素位置。
  3. 特征值映射:对于一个新的样本(一个特征向量),其每个特征的位置已经在第一步中由整个训练集确定。将该样本的每个特征值(如基因表达值)填充到其在像素帧中对应的位置。如果多个特征被映射到同一个像素位置,则将它们的特征值取平均,作为该像素的灰度值。经过这个过程,每个非图像样本都被转换成了一个唯一的、灰度级的图像。

由于图像的单层(灰度)通常有256个灰度级,需要在[0, 1]范围内进行归一化。因此,在进行图像转换之前,需要对原始特征值进行归一化。作者探讨了两种归一化方法,DeepInsight会在验证集上评估这两种归一化方法,并选择表现更好的一种。

  1. Norm-1:假设每个特征是独立的,因此根据每个特征自身的最小值和最大值进行归一化。
  2. Norm-2:为了在一定程度上保留特征间的拓扑结构,使用整个训练集中的一个全局最大值对所有特征进行归一化。

CNN架构

在将非图像数据转换为图像后,这些图像就可以被输入CNN进行处理。作者设计了一个并行的CNN架构,以便有效地使用不同尺寸的滤波器来训练模型。

该架构包含多个并行的卷积路径,每个路径使用不同尺寸的滤波器。每个路径由四个卷积块组成,每个块包含一个2D卷积层、一个batch normalization层、一个ReLU激活层和一个max pooling层。

将所有并行路径在第四个卷积层后的输出组合起来,送入一个fully connected层。最后,通过一个SoftMax层输出类别标签。网络的各种超参数(如卷积层数、滤波器尺寸、学习率等)通过贝叶斯优化技术在验证集上进行调整。

3. 实验分析

作者在五种不同类型的数据集上测试了DeepInsight方法,并将其与random forest, decision tree, 和ada-booststate-of-the-art分类器进行了比较。

数据集:

所有数据集按80:10:10的比例划分为训练、验证和测试集。

3.1 比较与分类性能

DeepInsight在所有五种数据集上都展现出了卓越的性能,显著优于传统的ML方法。从平均准确率来看,DeepInsight(95%)显著超越了所有比较方法,其中表现最好的传统方法random forest的平均准确率为86%。

3.2 DeepInsight的可视化能力

除了出色的分类性能,DeepInsight的另一个优势是它能够将抽象的非图像数据可视化,从而可能揭示出数据中隐藏的模式。

该图展示了来自三种不同数据集(gene-expression, text, vowels)的两类样本,在经过DeepInsight转换为图像后的样子。可以直观地看到,来自不同类别(如cancer sample 1 vs. cancer sample 2)的样本,其生成的图像在视觉上呈现出截然不同的模式和纹理。

这种可视化能力表明,DeepInsight的元素排列步骤成功地将数据的内在结构和差异性映射到了图像的空间结构上。这些在特定区域的相对差异,可能直接对应于导致不同类别标签(或表型)的关键特征组合,为进一步的生物学或领域内解释提供了线索。