大数据文摘出品
作者:曹培信
神经网络一直以“黑箱”的存在形式,让人捉摸不透。
比如一个汽车识别模型(14c: 447),它究竟是怎么认出图片中的汽车的?如果我们可以看到模型内部,我们可以发现14c: 447是由一个轮子探测器(4b: 373)和一个窗口探测器(4b: 237)构成的。
OpenAI最近推出了一个有趣的工具"显微镜(OpenAI Microscope)"就可以做到这一点,借助OpenAI显微镜,研究人员可以更好地理解神经网络的结构和行为。
OpenAI表示,神经网络是成千上万神经元相互作用的结果(有时成千上万甚至更多),而OpenAI显微镜就像一个神经元可视化图书馆,能够快速、方便地详细研究这些神经元的相互作用,并分享这些观察结果。
OpenAI网址:
在 OpenAI 显微镜网站上,OpenAI指出,“ OpenAI 显微镜是几个常见的‘model organisms’的每一个网络层和神经元的可视化集合,被用来研究神经网络的可解释性。显微镜可以让研究人员更容易地分析这些神经网络内部形成的特征,我们也希望它能够帮助研究人员理解这些复杂的系统。”
“尽管我们将这项技术提供给任何有兴趣探索神经网络如何工作的人,但我们认为其主要价值在于提供持久的、共享的人工智能模型,以促进对这些模型的长期比较研究。我们也希望拥有相近专业知识的研究人员ーー例如神经科学ーー能够更容易地了解这些视觉模型的内部运作方式,从中找到价值。”
为了进一步解释工作原理,OpenAI表示: “ OpenAI 显微镜基于两个概念,一个是模型中的位置,另一个是其应用的技术,比喻地说,位置就是你指向显微镜的地方,技术就是显微镜上面的镜头。”
此外,模型是由一个节点图体现的,也就是通过边连接的神经网络层。每个节点包含数百个单元,大致类似于神经元。大多数正在使用的技术只有在特定的分辨率下才有用。例如,特征可视化只能指向一个单元,而不能指向它的父节点。
在介绍显微镜的同时,OpenAI也表示希望显微镜将有助于电路协作工作,通过了解神经元之间的连接,对神经网络进行逆向工程。
目前,OpenAI显微镜对包括AlexNet系列、Inception系列、ResNet V2 50和VGG19在内的8个常见图像识别模型提供支持。
除了OpenAI的显微镜试图对神经元进行可视化,一些公司也试图对机器学习模型进行可视化。比如Facebook的Captum就试图可视化解释Pytorch机器学习模型所做的决定,支持跨模式的模型的可解释性,包括CV、NLP模型,可以支持大多数类型的 PyTorch 模型,只需对原始神经网络进行最小修改即可使用。
Captum网址:
可以说从神经网络模型出现开始,研究人员就对其如何预测充满好奇,可解释的神经网络也成了一些研究人员的工作目标,除了刚才提到的OpenAI显微镜和Captum这些,还包括TensorBoard等工具,都是在这一方向的努力。
为何对于模型的评估信任如此重要?因为我们如果要将模型应用到一些重要行业,如果要基于模型的预测采取行动,或者选择是否部署新模型,就必须先了解它的预测机制。
毕竟对于用户来说,如果用户不信任模型或预测,他们就不会使用它。