机器之心专访,口述:范力欣,整理:邱陆陆。
将模糊逻辑与深度学习进行融合的动机
深度学习发展到今天,很大程度上依然是一个「实验主导」的、「先有实验结果再找可能解释」的学科。对实验结果的理论解释,争议不断,而且随着时间的推移,研究者们给出的解释也不断在发展——换言之,这是一个尚未出现坚实理论基础的学科。
而深度学习的可解释性之所以重要,是因为,如果试图将神经网络用于医学诊断或无人车驾驶等涉及伦理决策的任务中,决定的路径必须是清晰的,而且对决策的解释权仍然需要把握在人手中。2013年左右,以Hinton为代表的科学家试图以决策树模型的逻辑决策来解释神经网络,在保留性能的同时提高可解释性。而在2017年的NIPS上,也有两个workshop以可解释性为主题,探讨为神经网络引入可解释性的不同路径。
模糊逻辑,作为一种基于逻辑推理规则的人工智能方法,其优点是可解释性强,决策机制容易被人理解。所以,从80年代就有研究提出,将模糊逻辑比较好的解释性,与神经网络的学习能力相结合,组成模糊神经网络(fuzzyneuralnetworkFNN)。而我近期的工作,则是在深度学习的基础上,重新定义模糊神经网络[1]。研究目的仍然是取长补短,用逻辑推理规则,来解释和规范神经网络的学习机制。可喜的是,从模糊逻辑的角度来看,很多基于经验的深度学习方法,都有了合理的解释。
什么是模糊逻辑
模糊逻辑是用于处理部分真实的逻辑概念和推理规则。数学上,模糊逻辑用连续的真实度来扩展二值化的布尔真值。所以模糊逻辑的陈述更接近于日常人们的问题和语意陈述,因为「真实性」在语言沟通中多数时候是部分(非二元)的,不精确的(不准确的,不清晰的,模糊的)和主观的。
举个例子,命题1:「小明是一个高个男生。」如果是一个二值原理场景,那么命题1只能是真的或者假的。模糊逻辑可以更好地模拟命题中的不确定性部分:多高算高?与谁相比?如果我们设定门限(threshold):认为180cm以上的毋庸置疑是高个男人,S(height≥180)=1,170以下的毋庸置疑是矮个男人,S(height≤170)=0。并且建立一个线性的隶属函数,那么我们就可以得到,S(height=175)=0.5,这样一个判断:「身高175的小明是一个高个男生」的真实性为0.5。当然,如果用不同的隶属函数,就代表了不同的逻辑判断。
简而言之,模糊逻辑是将二值逻辑中的二值替换成多值(多值可以是三值、多值、有限多有理数、无限多有理数)。模糊逻辑更好地模拟了人的思维与交流过程中的不确定性,也同时保留了逻辑推理的可重复和可解释性。从发展历史来说,模糊逻辑(fuzzylogic)这个术语是UCBerkeley的教授LotfiAliaskerZadeh于1965在他的论文「Fuzzysets」中提出。而多值逻辑的数学概念,从上世纪二十年代开始,已经有卢卡西维茨(Łukasiewicz),哥德尔(Gödel),塔斯基(Tarski)等数理逻辑学家做了深入研究。
重新定义模糊神经网络
在90年代初,就存在对模糊神经网络的充分研究。在明年一月,IEEE的期刊TransactionsonFuzzySystems会推出深度学习特刊。模糊逻辑和神经网络有多种结合方式,在前深度学习时代,有的方式把模糊逻辑和神经网络模块拼接或并行,还有一些把每一个神经元的运算模糊化([2])。
我最近的工作GeneralizedHammingNetwork(GHN)在网络结构上属于上图(i)这类,即对每个神经元进行模糊化的类型。而与传统FNN的区别,在于不需要刻意添加模糊过程,而是对一般的神经元计算进行规范,使之遵循模糊逻辑的「异或」运算规则。具体的运算公式也很简洁(如下),很容易验证,这个公式在输入0或1时,就退化为一般的二值异或运算。而下图中的红蓝函数曲面,可以看作是扩展到实数域的真值表。其中,偏红或蓝的部分,代表确定性高的判断,而白色接近0.5的区域则包含了比较模糊,不确定的判断(细节见[1])。
类比于深度学习的图像卷积运算,将异或运算当作一个滤波算子,作用于输入图像:
则可以推导出,只要biasterm严格按照以下公式设定:
那么每一个神经元的输出就是对输入X和神经元参数W做模糊异或非的逻辑运算结果。注意,这里biasterm是受参数W和输入X约束而直接设定的,不需要通过学习算法来优化。
从逻辑异或的角度,神经元的运算可以解释为对X和W的相似度测量,也就是计算两者之间的泛化汉明距离(generalizedhammingdistanceGHD)。沿着这个思路,RectifiedLinearUnit(ReLU)一类的激活函数,事实上是对测得的汉明距离设定门限。进一步说,由于GHD是有正有负的,ReLU其实只是截取了在正数端一半的信息,而屏蔽掉了另一半负数端的信息。我们的实验表明,保留正负两端的信息(double-thresholding),是能够提高学习效率和识别准确率的。
广泛采用的batchnormalization(BN批归一化),事实上是用优化学习的方法来约束biasterm使之与参数W一同变化,从而达到防止参数梯度爆炸的目的。而在GHN中,按公式计算的偏置项是受参数W和输入X控制的,与参数同步增加(减少),但符号相反。所以,按公式计算的偏置项自然会有控制输出、使其不会无限制地增加的特点,即使是使用较大的学习率时,也可以有效避免梯度爆炸。相比于批归一化,GHN的优势在于它是按逻辑关系推导出来的,没有经过任何启发式过程,具有批归一化所没有的可解释性。
必须要说明的是,在学习效率上,GHN计算出来的偏置项在一些实验中不如批归一化优化出来的偏置项。我们的看法是,先验的逻辑异或关系(XOR)不一定是实际数据中的最优。逻辑关系本身,也应该按实际数据呈现的关系进行优化,这也是我们近期的研究工作之一。
接下来的研究
结合模糊逻辑和深度学习的研究才刚刚起步,打比方说,去年的成果相当于在两座相对的山峰之间,建立了一个空中索道。接下来,还需要建立更扎实的基础和引入更广泛的应用。长远来看,我们希望能够通过这方面的研究,将人工智能的两大流派,即基于逻辑关系的符号学派和基于概率统计的连接学派,结合起来取长补短。
这些进一步的工作,一方面体现在我们近期的研究中。另一方面,也希望有更多年轻的学者和同学,加入到这个行列里面来。所以我们在七月份瑞典举行的IJCAI,组织了这样一个题为「TowardInterpretableDeepLearningViaFuzzyLogic」的tutorial[3],而在八月份的北京ICPR上也会再讲一次同样题目的tutorial[4].欢迎大家报名参加,交流学习。
References:
[1](2017)"RevisitFuzzyNeuralNetwork:DemystifyingBatchNormalizationandReLUwithGeneralizedHammingNetwork",NIPS2017.
[2]Takagi,H.(2000).FusionTechnologyofNeuralNetworksandFuzzy
Systems:AChronicledProgressionfromtheLaboratorytoOurDailyLives.
JournalofAppliedMathematics,10(4):120.
[3]IJCAI2018Tutorial:TowardInterpretableDeepLearningviaFuzzyLogic,
[4]ICPR2018Tutorial:TowardInterpretableDeepLearningViaFuzzyLogic,;c=indexa=showcatid=47id=9