OpenAI Microscope项目: 深度学习模型可视化和可解释性研究工具

Nothing in life is to be feared, it is only to be understood. Now is the time to understand more, so that we may fear less.

——Marie Curie

当前深度神经网络由成千上万个神经元构成,这些神经元相互作用赋予整个网络能力(capacity)。我们希望能够了解它们的行为,快速轻松地详细研究这些神经元的相互作用,并分享这些观察结果。

OpenAI最近提出Microscope项目,为深度神经网络的可视化和可解释性社区作出卓越贡献,其目的是提供在协作环境下提供快速搜索神经元,评估并发现新事物的能力。我们来一起了解一下~

举个栗子

Inception v1,也称为GoogLeNet,该网络在2014年将ImageNet分类赛道取得最优结果。

如上图右侧所示,模型中数据流从下向上流动,512维的mixed4bfeature map经过再次计算得到同样是512维的mixed4c处的feature map。

通过观察mixed4b-unit373(以下简称4b373),不同车轮的形状出现在可视化feature map的不同位置,在我们人类的认知中该unit应该是一个用于检测车轮的检测器。

同理观察4b237可知这是一个窗户检测器。

我们再观察上一级4c中的信息,不难看出4c447大概率是一个汽车检测器。这种观察即符合人类先验,同时也通过Microscope得到了可视化和可解释性的佐证。

现在支持的8个CV模型

就像生物学家经常专注于研究几种“模型生物”一样,Microscope也专注于详细研究少量模型。Microscope的初始版本包括九个经常研究的视觉模型,以及OpenAI发现在研究它们中特别有用的几种可视化技术。OpenAI计划在未来几个月内扩展到其他模型和技术。

  • AlexNet:2012年ImageNet的获胜者,计算机视觉的一个里程碑,被引用超过50,000
  • AlexNet (Places):与经典AlexNet模型相同的体系结构,但在Places365数据集上进行了训练
  • Inception v1:也称为GoogLeNet,该网络在2014年将ImageNet分类赛道取得SOTA
  • Inception v1 (Places):与经典的Inception v1模型相同的体系结构,但是在Places365数据集上进行了训练
  • VGG 19:该网络于2014年推出,比Inception变体更简单,仅使用3x3卷积,没有分支结构
  • Inception v3:Inception架构于2015年发布,此迭代版本提高了性能和效率
  • Inception v4:该版本于2016年发布,是初始架构的第四次迭代,着重于一致性
  • ResNet v2 50:ResNets使用残差连接在更深的网络中实现更强的梯度传导

OpenAI对可解释性社区的支持

  1. 尽管这些模型和可视化已经开放源代码( OpenAI 维护了 lucid 库,该库用于在 Microscope 中生成所有可视化),但对神经元进行可视化却是乏味的。Microscope 将探索神经元的反馈回路从几分钟更改为几秒钟。快速的反馈回路对于我们在进行中的 circuits 项目中发现意想不到的功能(例如高低频检测器)至关重要。
  2. 使模型和神经元可链接的操作,满足立即进行审查的需求,并同时支持探索做出有关这些神经元的进一步研究。它还消除了有关正在讨论哪个模型和神经元的潜在混淆和歧义。这对于协作特别有帮助,特别是当研究人员位于不同的机构时。
  3. 可解释性作为ML领域之一,妙处在于它的可访问性。与许多其他ML领域相比,它需要较少的计算访问权限。但是系统地可视化神经网络仍然需要花费数百个GPU小时。OpenAI希望通过共享可视化内容,帮助保持可解释性的高度可访问性。

Reference

  1. https://microscope.openai.com/
  2. https://openai.com/blog/microscope/
  3. https://github.com/tensorflow/lucid/