在上一节中我们介绍了深度学习可解释性的三种方法:1. 隐层分析法,2. 敏感性分析法 3. 代理/替代模型法。在这一节中我们主要介绍第一种方法:隐层分析法。
1. 黑箱真的是黑箱吗?——深度学习的物质组成视角
通过上一节的介绍我们也了解到,深度学习的黑箱性主要来源于其高度非线性性质,每个神经元都是由上一层的线性组合再加上一个非线性函数的得到,我们无法像理解线性回归的参数那样通过非常solid的统计学基础假设来理解神经网络中的参数含义及其重要程度、波动范围。但实际上我们是知道这些参数的具体值以及整个训练过程的,所以神经网络模型本身其实并不是一个黑箱,其黑箱性在于我们没办法用人类可以理解的方式理解模型的具体含义和行为,而神经网络的一个非常好的性质在于神经元的分层组合形式,这让我们可以用物质组成的视角来理解神经网络的运作方式。比如如下图所示,人体的组成过程是从分子-细胞-组织-器官-系统-人体:
而通过一些对神经网络隐层的可视化我们也发现:比如下图的一个人脸识别的例子,神经网络在这个过程中先学到了边角的概念,之后学到了五官,最后学到了整个面部的特征。
如果我们能够用一些方法来帮助我们理解这个从低级概念到高级概念的生成过程,那么就离理解神经网络的具体结构就近了很多。而这也可以逐渐帮助我们完成一个“祛魅”的过程,将调参的魔法真正变成一项可控、可解释的过程。
要理解这个概念的生成过程很重要的一点就是要研究隐层的概念表示,在接下来的部分中我将给大家介绍业界关于隐层分析方法的几个研究工作。
2. 模型学到了哪些概念?
要理解神经网络中每层都学到了哪些概念一个非常直观的方法就是通过对隐层运用一些可视化方法来将其转化成人类可以理解的有实际含义的图像,这方面一个非常具有代表性的一个工作就是14年ECCV的一篇经典之作:《Visualizing and Understanding Convolutional Networks》,这篇文章主要利用了反卷积的相关思想实现了特征可视化来帮助我们理解CNN的每一层究竟学到了什么东西。我们都知道典型的CNN模型的一个完整卷积过程是由卷积-激活-池化(pooling)三个步骤组成的。而如果想把一个CNN的中间层转化成原始输入空间呢?我们就需要经过反池化-反激活-反卷积这样的一个逆过程。整个模型的结构如下图所示:
机器人公司 机器人应用 智能医疗 物联网 机器人排名 机器人企业 教育机器人 机器人开发 独角兽 消毒机器人品牌 消毒机器人 |