澳门星际官方网站

科学网关于神经网络中的线性区域

描述: 使用如ReLU等分段线性激活函数的神经网络可以将样本的输入空间划分为不同的小区域,其每个区域内神经网络的表现...

使用如ReLU等分段线性激活函数的神经网络可以将样本的输入空间划分为不同的小区域,其每个区域内神经网络的表现等价于一个完全线性的模型。具体而言,同一个线性区域的所有输入在神经网络上具有相同的激活状态,这意味着对这些输入来说,神经网络每一层都进行着相同的仿射变换。考虑到级联的一族仿射变换等价于单一的线性映射,故神经网络在同一线性区域中等价于一个完全线性的模型。

众多研究表明,神经网络的表达能力与线性区域数量的大小高度相关。直观来看,复杂的曲面通常需要更多平面的近似,同理,拟合一个复杂的数据流形分布通常需要更多数量的线性区域。之前的研究着重于描述神经网络的深度与宽度对于线性区域数量的影响(理论上的上限值或实际中的观察值),进而扩展到对神经网络表达能力的影响。尽管存在着一些争议,但通常而言神经网络的深度对于线性区域的数量提升更加有效(至少对于理论的上限值而言),因此从这个角度来看神经网络增加深度往往能够更加有效的增加其表达能力。

神经网络的架构(深度、宽度)显式地影响了神经网络所能划分的线性区域的数量,然而我们的研究表明,不同的优化方式与技巧对其影响同样巨大。更进一步地,我们的研究不再局限于单纯的计算线性区域的数量,而是对每个线性区域进行了更加细致化的分析。考虑任意一个线性区域,其构成的方式取决于每一个神经元的激活状态。由于神经元激活函数分段线性的缘故,其激活状态由一个个超平面划分决定,进而使得一个线性区域为一族半空间的交集;换句话说,每一个线性区域的形态正好为一个高维的凸多面体,因此我们可以使用分析凸多面体的手段来分析这些线性区域。

需要说明的是,在高维空间下表示一个凸多面体通常有两种方式:V表示与H表示。前者将凸多面体表示为一族点集的凸组合,后者将凸多面体表示为一族半空间的交集。使用这两种表达方式在高维空间下对相同的问题进行分析往往具有不同的复杂度,事实上,当维度升高后,这两种表达方式本身就难以进行互相转化(甚至连通过H表示来计算V表达中的顶点数量都是困难的)。显然,通过神经网络激活状态构建的凸多面体表达方式为一个标准的H表示,再考虑到神经网络在这个凸多面体上表现完全线性,不难知道利用凸优化的手段来分析将会是一个不错的选择。

我们分析了线性区域包括内切球、面法向、决策边界、相邻区域相关性等在内的局部性质,发现如batch normalization(BN), dropout等优化技巧会极大地影响这些性质,即使它们得到了相似的模型表现。下图展示了一个使用不同优化技巧在MNIST数据集上训练后的线性区域对比图。直观上看,虽然这三个模型使用的是同样的架构,但是其线性区域却具有完全不同的性质:

1.     BN和dropout帮助提升了线性区域的数量。

2.     BN比dropout的划分更加均匀。

3.     Dropout的线性区域划分边界集中在分类边界附近。

ICLR.png


更为准确的,我们通过凸优化等手段分析了在CIFAR-10数据集上训练的CNN以及在MNIST数据集上训练的全连接神经网络,并观察到如下现象:

1.   BN能够使得线性区域划分更小更多,而dropout更多的是使得分类边界附近的划分更加细致。

2.   BN使得线性区域的面法向正交化,而dropout则恰恰相反。

3.   Dropout使得一个线性区域内拥有更少的分类边界。

4.   相邻线性区域中的线性模型高度相关,而BN会使得这种相关度下降。


以此为基础,我们可以从另一个角度来思考如对抗样本等其他问题。对抗样本为植入特意设计的微弱噪声的正常样本,这些噪声虽然不影响人的主观识别,但是却会使得机器学习模型表现大幅下降。很多研究表明,对抗噪声会使得神经网络内部层的激活状态发生改变,进而改变模型的预测结果,部分研究也以此为基础构建攻击、防御的方法;然而我们的研究发现一般情况下线性区域内具有分类边界,故即使具有相同的内部激活状态,对抗样本也同样有可能存在。下图给出了具有相同内部激活状态的对抗样本(需要说明的是,此图为简单的在线性区域内最大化类别概率所产生的,因此对于噪声幅值的约束只有线性区域的边界)。

ICLR2.png