范力欣口述邱陆陆整理

诺基亚首席科学家范力欣:用模糊逻辑实现可解释的深度神经网络


作者简介:范力欣博士是诺基亚技术 (Nokia Techonologies) 的 Principal scientist。他的研究领域包括机器学习计算机视觉、图像视频处理、大数据处理、增强现实虚拟现实、移动计算和普适计算等。他发表了 50 多篇论文和近百篇专利申请。加入诺基亚以前,范力欣博士曾在施乐欧洲研究中心 (XRCE) 工作,其合作的 Visual categorization with Bags of keywords 论文,获得广泛关注和引用。

将模糊逻辑深度学习进行融合的动机

深度学习发展到今天,很大程度上依然是一个「实验主导」的、「先有实验结果再找可能解释」的学科。对实验结果的理论解释,争议不断,而且随着时间的推移,研究者们给出的解释也不断在发展——换言之,这是一个尚未出现坚实理论基础的学科。

深度学习的可解释性之所以重要,是因为,如果试图将神经网络用于医学诊断或无人车驾驶等涉及伦理决策的任务中,决定的路径必须是清晰的,而且对决策的解释权仍然需要把握在人手中。2013 年左右,以 Hinton 为代表的科学家试图以决策树模型的逻辑决策来解释神经网络,在保留性能的同时提高可解释性。而在 2017 年的 NIPS 上,也有两个 workshop 以可解释性为主题,探讨为神经网络引入可解释性的不同路径。

模糊逻辑,作为一种基于逻辑推理规则的人工智能方法,其优点是可解释性强,决策机制容易被人理解。所以,从 80 年代就有研究提出,将模糊逻辑比较好的解释性,与神经网络的学习能力相结合,组成模糊神经网络 (fuzzy neural network FNN)。而我近期的工作,则是在深度学习的基础上,重新定义模糊神经网络 [1]。研究目的仍然是取长补短,用逻辑推理规则,来解释和规范神经网络的学习机制。可喜的是,从模糊逻辑的角度来看,很多基于经验的深度学习方法,都有了合理的解释。

回顾人工智能的历史,从上世纪 60 年代开始引人注目的模糊逻辑 (fuzzy logic),发展历程中经历了一个完整的从经验主导到夯实理论基础,从大规模投入应用到日渐式微的过程。「你所经历的我都经历过」,让模糊逻辑相对于深度学习有了极大的借鉴意义。模糊逻辑或许并不为今天的深度学习研究者所熟知,但查询谷歌趋势,我们可以看到直至 2016 年以前,模糊逻辑的关键词搜索量都是超过深度学习的。如果把时间轴拉得更长,我们可以看到模糊逻辑的关注度从 70 年代到 90 年代后期,经历了一次大幅度的增长,而当时的深度学习则「养在深闺人未识」。

当时的模糊逻辑,一方面,仍然面对其数学基础薄弱、理论支撑不足的批评。但是另一方面,以日本为主的电器厂商,将基于模糊逻辑的模糊控制广泛应用在了冰箱、彩电等各种家电中。而业界的大范围应用进一步资助和推动了学界对模糊逻辑理论的深入研究。可惜的是,从 90 年代开始,模糊逻辑和整个人工智能领域的研究都进入了寒冬期。现实里「能解决的问题都解决了,解决不了的仍然解决不了」,导致模糊逻辑研究的范围越来越窄,逐渐与实际应用脱节,关注度也日渐式微。

什么是模糊逻辑

模糊逻辑是用于处理部分真实的逻辑概念和推理规则。数学上,模糊逻辑用连续的真实度来扩展二值化的布尔真值。所以模糊逻辑的陈述更接近于日常人们的问题和语意陈述,因为「真实性」在语言沟通中多数时候是部分(非二元)的,不精确的(不准确的,不清晰的,模糊的)和主观的。

举个例子,命题 1:「小明是一个高个男生。」如果是一个二值原理场景,那么命题 1 只能是真的或者假的。模糊逻辑可以更好地模拟命题中的不确定性部分:多高算高?与谁相比?如果我们设定门限(threshold):认为 180cm 以上的毋庸置疑是高个男人,S(height ≥ 180)= 1,170 以下的毋庸置疑是矮个男人,S(height ≤ 170)= 0。并且建立一个线性的隶属函数,那么我们就可以得到,S(height = 175)= 0.5,这样一个判断:「身高 175 的小明是一个高个男生」的真实性为 0.5。当然,如果用不同的隶属函数,就代表了不同的逻辑判断。

简而言之,模糊逻辑是将二值逻辑中的二值替换成多值(多值可以是三值、多值、有限多有理数、无限多有理数)。模糊逻辑更好地模拟了人的思维与交流过程中的不确定性,也同时保留了逻辑推理的可重复和可解释性。从发展历史来说,模糊逻辑 (fuzzy logic) 这个术语是 UC Berkeley 的教授 Lotfi Aliasker Zadeh 于 1965 在他的论文「Fuzzy sets」中提出。而多值逻辑的数学概念,从上世纪二十年代开始,已经有卢卡西维茨 (Łukasiewicz),哥德尔 (Gödel),塔斯基 (Tarski) 等数理逻辑学家做了深入研究。

重新定义模糊神经网络

在 90 年代初,就存在对模糊神经网络的充分研究。在明年一月,IEEE 的期刊 Transactions on Fuzzy Systems 会推出深度学习特刊。模糊逻辑神经网络有多种结合方式,在前深度学习时代,有的方式把模糊逻辑神经网络模块拼接或并行,还有一些把每一个神经元的运算模糊化 ([2])。

我最近的工作 Generalized Hamming Network(GHN)在网络结构上属于上图(i)这类,即对每个神经元进行模糊化的类型。而与传统 FNN 的区别,在于不需要刻意添加模糊过程,而是对一般的神经元计算进行规范,使之遵循模糊逻辑的「异或」运算规则。具体的运算公式也很简洁 (如下),很容易验证,这个公式在输入 0 或 1 时,就退化为一般的二值异或运算。而下图中的红蓝函数曲面,可以看作是扩展到实数域的真值表。其中,偏红或蓝的部分,代表确定性高的判断,而白色接近 0.5 的区域则包含了比较模糊,不确定的判断 (细节见 [1])。

类比于深度学习的图像卷积运算,将异或运算当作一个滤波算子,作用于输入图像: 

则可以推导出, 只要 bias term 严格按照以下公式设定: 

那么每一个神经元的输出就是对输入 X 和神经元参数 W 做模糊异或非的逻辑运算结果。注意,这里 bias term 是受参数 W 和输入 X 约束而直接设定的,不需要通过学习算法来优化。

逻辑异或的角度,神经元的运算可以解释为对 X 和 W 的相似度测量, 也就是计算两者之间的泛化汉明距离 (generalized hamming distance GHD)。沿着这个思路,Rectified Linear Unit (ReLU) 一类的激活函数,事实上是对测得的汉明距离设定门限。进一步说,由于 GHD 是有正有负的,ReLU 其实只是截取了在正数端一半的信息,而屏蔽掉了另一半负数端的信息。我们的实验表明,保留正负两端的信息 (double-thresholding),是能够提高学习效率和识别准确率的。

广泛采用的 batch normalization(BN 批归一化),事实上是用优化学习的方法来约束 bias term 使之与参数 W 一同变化,从而达到防止参数梯度爆炸的目的。而在 GHN 中,按公式计算的偏置项是受参数 W 和输入 X 控制的,与参数同步增加(减少),但符号相反。所以,按公式计算的偏置项自然会有控制输出、使其不会无限制地增加的特点,即使是使用较大的学习率时,也可以有效避免梯度爆炸。相比于批归一化,GHN 的优势在于它是按逻辑关系推导出来的,没有经过任何启发式过程,具有批归一化所没有的可解释性。

必须要说明的是,在学习效率上,GHN 计算出来的偏置项在一些实验中不如批归一化优化出来的偏置项。我们的看法是,先验的逻辑异或关系(XOR)不一定是实际数据中的最优。逻辑关系本身,也应该按实际数据呈现的关系进行优化,这也是我们近期的研究工作之一。

接下来的研究

结合模糊逻辑深度学习的研究才刚刚起步,打比方说,去年的成果相当于在两座相对的山峰之间,建立了一个空中索道。接下来,还需要建立更扎实的基础和引入更广泛的应用。长远来看,我们希望能够通过这方面的研究,将人工智能的两大流派,即基于逻辑关系的符号学派和基于概率统计的连接学派,结合起来取长补短。

这些进一步的工作,一方面体现在我们近期的研究中。另一方面,也希望有更多年轻的学者和同学,加入到这个行列里面来。所以我们在七月份瑞典举行的 IJCAI,组织了这样一个题为「Toward Interpretable Deep Learning Via Fuzzy Logic」的 tutorial[3], 而在八月份的北京 ICPR 上也会再讲一次同样题目的 tutorial[4]. 欢迎大家报名参加,交流学习。

References: 

[1] L. Fan. (2017) "Revisit Fuzzy Neural Network: Demystifying Batch Normalization and ReLU with Generalized Hamming Network", NIPS 2017.

[2] Takagi, H. (2000). Fusion Technology of Neural Networks and Fuzzy

Systems : A Chronicled Progression from the Laboratory to Our Daily Lives.

Journal of Applied Mathematics, 10(4):120.

[3] IJCAI 2018 Tutorial: Toward Interpretable Deep Learning via Fuzzy Logic, http://web.fsktm.um.edu.my/~cschan/ijcai2018

[4] ICPR 2018 Tutorial: Toward Interpretable Deep Learning Via Fuzzy Logic, http://www.icpr2018.org/index.php?m=content&c=index&a=show&catid=47&id=9

理论深度学习模糊逻辑诺基亚
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

增强现实技术

增强现实,是指透过摄影机影像的位置及角度精算并加上图像分析技术,让屏幕上的虚拟世界能够与现实世界场景进行结合与互动的技术。这种技术于1990年提出。随着随身电子产品运算能力的提升,增强现实的用途也越来越广。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

逻辑异或技术

在数字邏輯中,逻辑算符互斥或閘(exclusive or)是对两个运算元的一种邏輯分析类型,符号为XOR或EOR或⊕。与一般的逻辑或OR不同,当两两数值相同为否,而数值不同时为真。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

虚拟现实技术

虚拟现实,简称虚拟技术,也称虚拟环境,是利用电脑模拟产生一个三维空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户感觉仿佛身历其境,可以及时、没有限制地观察三维空间内的事物。用户进行位置移动时,电脑可以立即进行复杂的运算,将精确的三维世界视频传回产生临场感。

逻辑推理技术

逻辑推理中有三种方式:演绎推理、归纳推理和溯因推理。它包括给定前提、结论和规则

普适计算技术

普适计算是一个强调和环境融为一体的计算概念,而计算机本身则从人们的视线里消失。在普适计算的模式下,人们能够在任何时间、任何地点、以任何方式进行信息的获取与处理。普适计算是一个涉及研究范围很广的课题,包括分布式计算、移动计算、人机交互、人工智能、嵌入式系统、感知网络以及信息融合等多方面技术的融合。

线性整流函数技术

线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元, 是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。比较常用的线性整流函数有斜坡函数f(x)=max(0, x),以及带泄露整流函数 (Leaky ReLU),其中x为神经元(Neuron)的输入。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

暂无评论
暂无评论~