点击数: 更新日期: 2022-08-24
中文题目:用符号回归探索神经网络中隐含语义
录用时间:2022-3-24
论文题目:Exploring Hidden Semantics in Neural Networks with Symbolic Regression
录用会议:Genetic and Evolutionary Computation Conference (CCF C类)
原文DOI:10.1145/3512290.3528758
作者列表:
1)罗元榛,中国石油大学(北京),信息科学与工程学院,2021级硕士
2)鲁 强,中国石油大学(北京),信息科学与工程学院,硕士导师
3)Jake Luo, University of Wisconsin, Milwaukee, College of Health Sciences, Associate Professor
4)王智广,中国石油大学(北京),信息科学与工程学院,硕士导师
背景与动机:
最近有许多研究都集中在开发机制来解释神经网络(Neural Network, NN)黑盒行为。然而,几乎没有做任何工作来提取神经网络的潜在隐藏语义(数学表示)。NN模型的简洁而明确的数学表示可以提高对其黑盒行为的理解和解释。为了满足这一需求,我们提出了一种新的用于神经网络的符号回归方法(称为Symbolic Regression Network, SRNet)来发现NN的数学表达式。SRNet创建笛卡尔遗传编程(Neural Network Cartesian Genetic Programming, NNCGP)来表示神经网络中单层的隐藏语义。然后,我们利用多染色体的NNCGP来表示NN所有网络层的隐藏语义。该方法使用(1+)进化策略(称为Multiple NNCGP-Evolution Strategy, MNNCGP-ES)来提取NN种所有网络层的最终数学表达式。
图1 SRNet探索神经网络的隐藏语义
设计与实现:
SRNet的目标为找到一组通用的数学表达式,使得每一个这样的公式都可以去近似每一个神经网络对应的网络层的输出. 即,我们的目标为:
为了找到这样的一组,我们需要解决以下的问题:1)怎么对每一个进行编码?2)怎么找到这样的表达式来作为隐藏语义解释神经网络层?
2.1 SRNet编码
我们将每一个网络层的隐藏语义表示为:其中,为一个数学表达式函数,这个函数表示了第层网络的通用语义。而与是权值向量、矩阵,或者是张量,如图2所示。
图2 多染色体NNCGPs的SRNet编码结构
为了更好地表示每一层的隐藏语义,我们定义了神经网络笛卡尔遗传规划模型(Neural Networks Cartesian Genetic Programming, NNCGP)。该模型包含了三个组成部分:通用语义模型、常数项与操作符,如图2所示。其中,通用语义模型用来生成通用的数学函数。语义模型拥有3个部分:k个输入节点、个函数运算以及输出节点。常数项包含权值向量以及偏差向量,其中. 操作符部分包含两个函数,即与+.由于每一个NNCGP可以生成一个网络层的语义,所以利用多个NNCGP可以生成所有网络层的语义。将每一个NNCGP当成染色体,我们可以把整个网络编码为一个个体基因型。在一个个体基因型种,每个NNCGP的输出会成为下一个NNCGP的输入。
2.2 演化策略
SRNet使用多重NNCGP演化策略,并嵌入牛顿法从而来寻找最佳的SRNet基因型。MNNCGP类似于(1+)多染色体演化策略。MNNCGP-ES包括了以下操作:变异、适应度评估与选择。
2.2.1变异。
变异使用预先设定好的概率随机地去改变NNCGP中的基因位为另一个合法的随机值。
2.2.2 适应度计算。
适应度函数被定义为以下方程:。其中,是每一个中间网络层的均方误差(MSE)。是输出层的损失函数,在分类问题中,是交叉熵损失;而在回归问题中为MSE。与分别为NN和SRNet的输出。由于与都对与可导,所以我们可以用任何梯度下降法来更新这两个参数向量。在本论文中,对于解释低维的神经网络(即隐藏层神经元数量较少),我们使用牛顿法(Newton-Raphson):其中p为或者,为海森矩阵,为损失函数的梯度。由于对于高维的神经网络而言,海森矩阵的获得会变得十分困难。所以对于高维问题,我们使用L-BFGS(Limited-memory Broyden-Fletcher-Goldfarb-Shanno)来更新p,这将有利于节约内存和演化时间。
2.2.3 选择。
选择过程旨在从种群中生成一个最佳的“超级”个体作为父代。这个生成过程可以被描述如下:由于每一个个体包含了多个染色体(即NNCGP),所以MNNCGP-ES会从每个染色体位置上选择在整个种群中最佳的染色体。例如,对于第一个染色体位置,MNNCGP-ES计算种群中所有个体的染色体位置的NNCGP的损失。然后选择损失值最低的NNCGP作为超级染色体的染色体位置。而后,对于下一个染色体位置,继续进行选择。直到得到所有染色体位的最佳NNCGP。按照顺序组合这些NNCGP,我们就得到了最佳的超级个体。选择过程如图3所示。
图3 选择过程
2.2.4 MNNCGP-ES。
如上所述,得到超级个体后,MNNCGP-ES利用此个体作为父代,使用1+演化策略去生成下一个种群。
实验结果及分析:
3.1 数据集
我们使用12个来自传统符号回归、AI Feynman数据集、5个来自PMLB的分类数据集,训练一共17个全连接网络(MLP)。从而使用SRNet来解释这17个MLP。数据集大小和数据集信息、MLP网络层如下图4和表1所示。
图4 数据集大小
表1 数据集与MLP
3.2 预采样
在解释黑盒分类器时,目标在于拟合其决策边界,而不是像回归问题一样直接拟合其输出值即可。所以为了更好地拟合决策边界,我们提出一种预采样方法(称为Uniformly Sample instances around Decision Boundary, USDB)。USDB根据决策边界距离公式:
其中,为采样点,B为神经网络的决策边界,C为数据集的类别个数,为属于类的概率。
3.3 实验结果
如图5所示为分类和回归任务上的收敛曲线。
图5 收敛曲线
如表2所示为从各个MLP上得到的隐藏语义(节选):
表2 每个网络层的数学表达式
将这些语义进行嵌套组合,我们可以得到能够表示MLP的整体公式。如表3所示。
表3 整个网络的数学表达式
下图6所示为隐藏语义与MLP网络层的输出值对比。我们随机输入9个不同的值,然后得到语义和网络层的输出值,并将此输出值归一化后进行对比。
图6 SRNet的语义和MLP的网络层输出值对比
在回归问题中,我们将SRNet和两种局部解释方法LIME与MAPLE进行对比。如图7所示。其中对于变量大于等于2的数据集,我们将其预测值分别投影到每个2d平面上,如图7(e)(f)所示。
图7 在内插与外插域上的预测值,SRNet vs LIME vs MAPLE
在分类问题中,我们对比SRNet、LIME与MAPLE的决策线边界,如图8所示。可见,SRNet可以在全局上得到非线性的决策线(绿色),并且较好地拟合了MLP的决策线(黑色)。相比之下,LIME和MAPLE只能在局部上得到线性的决策边界。
图8 决策边界对比(P2数据集)
下表4为运行30次后,SRNet和LIME与MAPLE在训练集和测试集的分类准确性对比。
表4 分类准确性对比
结论:
本文提出了一种新的演化算法,称为SRNet。SRNet旨在解决神经网络的黑盒问题。SRNet使用MNNCGP-ES去寻找能够描述神经网络的最佳隐藏语义。该模型不仅可以挖掘出表示神经网路的数学表达式,并且在内外插域上产生更光滑的预测曲线。而在分类问题上,可以产生非线性且更准确的全局分类决策线。所以我们相信,SRNet具有巨大的潜力去解释神经网络。
然而,我们仍然会发现,随着网络层的增加,最终表示神经网络的整体语义会变得复杂且难懂。此外,高维问题下会让USDB方法难以采样,使得分类准确率下降。所以在未来我们会专注于改进SRNet来适应这两个缺陷。
作者简介:
鲁强:副教授,硕士导师。目前主要从事演化计算和符号回归、知识图谱与智能问答、以及轨迹分析与挖掘等方面的研究工作。