www.9778.com 50

www.9778.com:写给人类的机器学习 四、神经网络和深度学习

CAV背后的核心思想是衡量一个概念在模型输出中的相关性。概念的CAV就是一组该概念的实例在不同方向的值构成的向量。在论文中,Google研究团队概述了一种名为Testing
with
CAV的线性可解释方法,该方法使用偏导数来量化预测CAV表示的潜在高级概念的敏感度。他们构想TCAV定义有四个目标:

我们在输入层和输出层之间加入两个单元的隐藏层:对于隐藏层的a_1单元(上标2代表这是第2层)来说,它实际上是且门;对a_2单元来说,它的逻辑是
and ,即同时为0时才输出1。而从隐藏层到输出层,是逻辑或。如下图所示:

自从大约十年前人工智能兴起以来,人工智能背后的神经网络技术使用其日益强大的学习和识别数据模式的能力,已经改变了从电子邮件到药物开发的每一件事。但这种能力带来了一个问题:现代深度学习网络的复杂性使之能够成功地学会如何驾驶汽车和发现保险欺诈,但即便是人工智能专家也无法了解它内部工作的机制。如果一个神经网络被训练来识别像肝癌和精神分裂症这样的病人——就像2015年纽约西奈山医院的“深度病人(Deep
Patient)”系统一样——我们不知道神经网络关注的是数据的哪些特征。这种“知识”被加诸于许多层的人工神经元上,每层都有成百上千的连接。

一些值得注意的扩展和深层概念

  • 深度学习软件包。你很少需要从零开始实现神经网络的所有部分,因为现有的库和工具使深度学习更加易于实现。有许多这类东西:TensorFlow,
    Caffe, Torch, Keras, 以及其它。

  • 卷积神经网络(CNN)。CNN
    特地为接受图像输入而设计,并且对于计算机视觉任务非常高效。它们也有助于深度增强/强化学习。CNN
    的灵感特别来源于动物的视觉皮层的工作方式,并且它们是深度学习课程的热点。我们已经在文章中引用它了,就是斯坦福
    CS231n。

  • 循环神经网络(RNN)。RNN
    拥有内建记忆的概念,并且非常适合语言问题。它们在强化学习中也很重要,因为它们让智能体能够跟踪东西在哪里,以及之前发生了什么,甚至在那些东西不能一次性看到的时候。Christopher
    Olah 编写了一个非常棒的,在语言问题的语境中的, RNN 和 LSTM
    的参考文献。

  • 深度增强/强化学习。这是深度学习研究中的最刺激的领域之一,处在近期研究的核心位置,例如
    OpenAI 击败了 Dota2 职业玩家,以及 DeepMind 的 AlphaGo
    在围棋竞技中胜过人类。我们在第五章会深度,但是本质上的目标是将这篇文章中的所有技术,应用于一个问题,教会智能体使回报最大。这可以用于与任何可以游戏化的环境,从真实的游戏,例如反恐精英或者吃豆人,到无人驾驶的汽车,或者股票交易,最终到真实生活和真实世界。

要得到上图每层定义的可解释性,需要几个基本的构建模块。在最近的一篇论文中,谷歌的研究人员概述了他们看来的一些可解释性的基本构建模块。

把激活函数换为Sigmoid函数:

请大家严格按照互动:问题答案的格式在评论区留言参与互动,格式不符合要求者无效。

四、神经网络和深度学习

原文:Machine Learning for Humans, Part 4: Neural Networks & Deep
Learning

作者:Vishal
Maini

译者:飞龙

协议:CC BY-NC-SA
4.0

深度神经网络的工作地点、原因和方式。从大脑中获取灵感。卷积神经网络(CNN)和循环神经网络(RNN)。真实世界中的应用。

使用深度学习,我们仍然是习得一个函数f,将输入X映射为输出Y,并使测试数据上的损失最小,就像我们之前那样。回忆一下,在
2.1 节监督学习中,我们的初始“问题陈述”:

Y = f(X) + ϵ

训练:机器从带标签的训练数据习得f

测试:机器从不带标签的测试数据预测Y

真实世界很乱,所以有时f很复杂。在自然语言问题中,较大的词汇数量意味着大量特征。视觉问题设计大量的像素相关的视觉信息。玩游戏需要基于复杂场景做决策,也带有许多可能的未知。当我们处理的数据不是很复杂时,我们目前涉及的学习机制做的很好。但是,它们如何推广到像这样的场景,还不清楚。

深度学习非常善于习得f,特别是在数据很复杂的场景中。实际上,人工神经网络也被成为通用函数近似器,因为它们能够学习任何函数,无论多么扭曲,都只需要一个隐藏层。

让我们看看图像分类的问题。我们选取一张图片作为输入,并输出一个分类(例如狗、猫、车)。

通过图解,深度神经网络的图像分类解决方式,类似于这样:

图片来自 Jeff Clune 在 YouTube 上的一小时深度学习概览

但是说真的,这是个巨大的数学方程,有数百万个项和大量参数。假设输入X是灰度图像,由w*h的像素亮度矩阵表示。输出Y是每个分类的概率的向量。也就是说,我们输出“每个分类是正确标签”的概率。如果这个神经网络能用的话,最高的概率就是正确的分类。然后,中间的层仅仅计算大量的矩阵相同,通过在每个隐藏层之后,使用非线性变换(激活函数),对激活值x的权重求和,来让神经网络习得非线性函数。

难以置信的是,你可以使用梯度下降,以 2.1
节中我们对线性回归所做的相同方式,使损失最小。所以使用大量样本和大量梯度下降,模型可以习得如何正确分类动物图片。这个,简单来说,就是“深度学习”。

www.9778.com:写给人类的机器学习 四、神经网络和深度学习。个性化:适应任何概念,并且不限于训练中涉及的概念。

神经元是计算单元,相当于神经元细胞的细胞核,利用输入的数据进行计算,然后输出,一般由一个线性计算部分和一个非线性计算部分组成;输入层和输出层实现数据的输入输出,相当于细胞的树突和轴突末梢;隐藏层指既不是输入也不是输出的神经元层,一个神经网络可以有很多个隐藏层。

互动问题

下一章:到了玩游戏的时候了!

最后是第五章:强化/增强学习。

插入即用:无需重新训练或修改机器学习模型即可运作。

首先,神经网络应用在分类问题中效果很好。
工业界中分类问题居多。LR或者linear
SVM更适用线性分割。如果数据非线性可分(现实生活中多是非线性的),LR通常需要靠特征工程做特征映射,增加高斯项或者组合项;SVM需要选择核。
而增加高斯项、组合项会产生很多没有用的维度,增加计算量。GBDT可以使用弱的线性分类器组合成强分类器,但维度很高时效果可能并不好。

那么TCAV内部所做的就是所谓的“敏感性测试”,当我们将这些包含融合腺体的图片放入模型,癌症阳性预测的概率会增加多少?你可以将其输出为一个介于0和1之间的数字,这是你的TCAV得分。如果概率增加,证明这是模型的一个重要概念。如果没有,这就不是一个重要的概念。

从大脑中(或者只是统计?)获取灵感:神经网络中发生了什么

3)推断每个概念对每个模型预测类的相对重要性的全局定量解释。

神经网络是一种人类由于受到生物神经细胞结构启发而研究出的一种算法体系。

它怎么能暴露自己的缺陷?

深度学习做得好的地方,以及一些历史

人工神经网络实际上有很长时间了。它们的应用可追溯到控制论(cybernetics,1940s1960s),连接机制(connectionism,1980s1990s),之后变成了流行的深度学习。大约在
2006 年,神经网络开始变得“更深”(Goodfellow
等,2016)。但是最近我们才开始触及它们的全部潜能。

就像 Andrej Karpathy(特斯拉的 AI 总监,它被认为是深度学习的
Shaman)描述的那样,有四个“将 AI 带回来”的不同因素:

  • 计算(最明显的一个:摩尔定律,GPU,ASIC)
  • 数据(以不错的形式,并不在互联网上某处,也就是 ImageNet)
  • 算法(研究和理念,也就是 backprop, CNN, LSTM),以及
  • 基础设施(你下面的软件,Linux, TCP/IP, Git, ROS, PR2, AWS, AMT,
    TensorFlow, 以及其它)(Karpathy, 2016)。

在过去的十年当中,深度学习的全部潜能,最红被(1)和(2)的进步解锁,它反过来产生了(3)和(4)的突破。并且这个循环仍在继续,成倍的人们不断参与到深度学习研究的前线中,沿着这条路(想想你现在做的事情)。

由 NVIDIA 演示,它是一家核弹 GPU 领导厂商。GPU
最开始为游戏构建,但是最终很好地顺应了深度学习所需的并行计算。

在这一章的剩余部分中,我们提供一些来自生物和统计的被寂静,来解释神经网络里面发生额了什么,之后讨论深度学习的一些神奇应用。最后,我们链接到一些资源,所以你可以自行应用深度学习,甚至穿着睡衣坐在沙发上,拿着笔记本,在特定种类的问题上快速实现超越人类级别的表现。

最近,Google
Brain团队的研究人员发表了一篇论文,提出了一种名为概念激活向量(Concept
Activation Vectors,
CAV)的新方法,它为深度学习模型的可解释性提供了一个新的视角。

www.9778.com 1

这就是TCAV所做的吗?它揭示了机器学习模型使用哪些高级概念来做出决策?

更多资源

深度学习是个非常广阔的领域。因此,我们也编译了一些最佳资源,我们在这个话题中遇到过它们,以便你打算深入了解。

  • Deeplearning.ai

    • 中文地址
  • CS231n:卷积神经网络和视觉识别,斯坦福的深度学习课程。我看过的最佳课程,带有不错的讲义和演示性问题集。

    • 中文地址
  • 神经网络和深度学习,易读,但很严谨。

    • 中文地址
  • 深度学习圣经,基础,更加数学化。

    • 中文地址
  • Fast.ai,不是很理论化,更加应用和黑箱。

  • 查看 Greg Brockman
    对“作为工程师,什么是修炼深度学习技能的最佳方式?”问题的回答,在
    Quora 上。

1)为模型定义相关概念。

www.9778.com 2

对。第二个可解释性的第二个分支是:我们能充分理解一个工具,以便安全地使用它吗?我们可以通过确认工具中反映出的人类已有的知识来形成这种理解。

现在开始去做吧!

对于神经网络如何实际建立,我们这里没有涉及太多细节。因为你通过自己实现,更易于理解细节。这里是一些非常棒的实践资源,用于起步。

  • 使用谷歌的 Neural Network
    Playground
    玩转神经网络的架构,来看看不同的配置如何影响网络的性能。

  • 使用这篇谷歌的教程快速准备好并起步:TensorFlow
    和深度学习。以超过
    99% 的准确度分类手写数字,你不需要是 PhD,只需要在三个小时内,熟悉
    TensorFlow 以及学习深度学习概念。

  • 之后,浏览斯坦福
    CS231n
    的至少前几篇讲义,以及第一个作业,从零开始构建双层的神经网络,来实际强化这篇文章中涉及的概念。

TCAV的运作

神经网络入门(最通俗的理解神经网络)

文科生也看得懂的算法及数据科学入门书!本书用通俗易懂的人类语言以及大量有趣的示例和插图讲解10多种前沿的机器学习算法。内容涵盖k均值聚类、主成分分析、关联规则、社会网络分析等无监督学习算法,以及回归分析、k最近邻、支持向量机、决策树、随机森林、神经网络等监督学习算法,并概述强化学习算法的思想。

为什么线性模型不能用

为了提炼斯坦福的优秀的深度学习课程,CS231n:卷积神经网络和视觉识别,想象我们打算训练一个神经网络,使用下列标签的正确的那个来分类图像:["plane", "car", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck"]

一种方式可能是,使用训练样本为每个分类构造一个“模板”,或者平均图像,之后使用最近邻算法,在测试期间来度量每个未分类图像的像素值,到每个模板的距离。总的来说是这样。这个方法不涉及任何抽象层次。这是个线性模型,将每个图像类型的所有不同的方向组合为一个平均的影子。

例如,它可以选取所有的车,无论它们面向左边、右边、中间,也无论它们的颜色,只是将它们平均。模板最终看起来非常模糊。

来自斯坦福 CS231n
第二篇讲义的样本。

要注意,上面的马的模板出现了两个头。这对我们并没什么帮助:我们想要能够分别检测头朝右边或者头朝左边的马,并且如果这些特征的任何一个被检测到了,我们就说我们看到了一匹马。深度神经网络提供给我们这种灵活性,我们会在下一节中看到。

深度神经网络使用抽象层来解决图像分类问题。

为了重复我们在这一节之前解释的东西:输入层接受图像的原始像素亮度。最终的层级会是类概率的输出向量(也就是图像是猫、车子、马,以及其他的概率)。

但是我们不习得一个简单的,和输入输出相关的线性模型。我们构造网络中间的隐藏层,它们会渐进学习抽象特征,这让我们不会丢失复杂数据中的所有细微差异。

来源:Analytics
Vidhya

就像我们描述的动物大脑检测抽象特征,隐藏层中的人工神经元会学着检测抽象概念,无论哪个概念,只要它对于捕捉最多信息,以及使网络输出的准确度中的损失最小非常实用(这是个发生在网络中的,无监督学习的实例)。

这损失了模型的可解释性,因为当你添加更多隐藏层时,神经元开始表示越来越多的抽象和无法理解的特征。在这个层面上,你可能听说,深度学习也被称作“黑箱优化”,其中你基本上只是随机尝试一些东西,然后观察出现了什么,而无需真正理解里面发生了什么。

线性回归是可解释的,因为你决定了模型中包含哪个特征。深度神经网络难以解释,因为习得的特征在任何地方都不能用自然语言解释。它完全在机器的想象中。

TCAV是这几年最具创新性的神经网络解释方法之一。初始的代码可以在GitHub上看到。许多主流深度学习框架可能会在不久的将来采用这些想法。

www.9778.com 3www.9778.com 4

可解释性研究的一个分支,侧重于建立反映人类推理方式的固有可解释模型。但我的看法是:现在你在任何地方都有人工智能模型,这些模型已经被构建,并且已经得到重要应用,而从一开始我们就没有考虑过可解释性。这就是事实。谷歌就有很多这样的情况!你可以说,“可解释性是非常有用的,让我为你建立另一个模型来取代你已有的模型。”那好吧,祝你好运。

深度学习应用

深度学习正在重构世界的几乎每个领域。这里是深度学习可以做的无法置信的事情的示例:

  • Fackbook
    训练了一个神经网络,由短时记忆加持,来智能地回答《指环王》情节中的问题。

    来自 FAIR(Facebook AI
    实验室)的研究,将加持了分离的短时记忆的深度神经网络,应用于回答
    LOTR 情节的问题。这是史诗级的定义。

  • 无人驾驶的汽车依赖深度学习,用于解决视觉任务,例如理解路面标志,检测道路和识别障碍。

    来源:Business
    Insider

  • 深度学习可以用于有趣的东西,例如艺术生成。一个叫做 Neural
    Style(神经风格)的工具可以模拟艺术家的风格,并且用它来重新组合另一幅图片,令人难以置信。

    www.9778.com 5

    梵高的《星夜》的风格应用于斯坦福校园的图像上,通过 Justin Johnson
    的 neural style
    实现:https://github.com/jcjohnson/neural-style

其它值得注意的示例包括:

  • 预测药物发现中的分子的生物活性。

  • 用于照片和视频标注的人脸识别。

  • 增强谷歌搜索的结果。

  • 自然语言理解和生成,也就是谷歌翻译

  • 火星探索者机器人“好奇号”,基于视觉检测,自动选取值得检查的土壤目标。

…以及很多,非常多,太多了。

了解隐藏层的作用:深层学习模型中的大部分知识都是在隐藏层中形成的。在宏观层面理解不同隐藏层的功能对于解释深度学习模型至关重要。

6、比较后,值相近,以后停用梯度检测

如果一个医生告诉你需要做手术,你会想知道为什么,而且你会期望自己可以理解这个解释,即使你从未上过医学院。谷歌大脑(Google
Brain)的科学家Kim认为,我们应该对人工智能抱有更高的期望。作为“可解释”机器学习(“interpretable”
machine learning)的专家,她希望开发能够向任何人解释自己的人工智能软件。

神经元、特征学习和抽象层次

当你阅读这些词汇的时候,你并没有检查每个词的每个字,或者组成字的每个像素,来获得单词的含义。你从细节中将东西抽象、组装成高阶的概念:词、短语、句子、段落。

Yuor abiilty to exaimne hgiher-lveel fteaures is waht aollws yuo to
unedrtsand waht is hpapening in tihs snetecne wthiout too mcuh troulbe
(or myabe yuo sned too mnay dnruk txets).

(你检测高阶特征的能力,让你理解句子中发生的东西,而不会太麻烦(或者可能你发送了大量的乱序文本)。

视觉上发生的事情相同,这并不仅仅在人类,也在动物的视觉系统中。

大脑由神经元组成,它们在足够“激活”之后,通过向其他神经元发送电信号来“触发”。这些神经元都是可塑的,根据有多少来自神经元的信号添加到当前神经元的激活水平上(大概来说,将神经元彼此连接的权重最后会被训练,使神经连接更加有用,就像线性回归中的参数可以被训练,来改进输入到输出的映射)。

生物和人工神经网络的端到端的演示,来自斯坦福
CS231n。这个比喻不是很严谨,生物神经元可以做人工神经元不能做的事,反之亦然。但是理解生物中的灵感十分有用。更多细节请见生物和人工神经元的维基百科的描述。

我们的生物网络以层次方式排列,以便特定神经元最终检测我们周围的世界的,不是极其特定的特征,而是更加抽象的特征,也就是,更低阶的特征的规律或者分组。例如,人类视觉系统中的纺锤状脸部区域可特别用于人脸识别。

持续学习抽象特征的演示,来自 NVIDIA。

人工神经网络如何选取原始像素输入,开发中介“神经元”来检测高阶特征(也就是鼻子的存在),以及组合它们的输出来创建最终输出。来自《神经网络和深度学习》(Nielsen,
2017)。

生物神经网络表现出的层次结构最早于 1950s 发现,当研究员 David Hubel 和
Torsten Wiesel
研究猫的视觉皮层中的神经元的时候。在给猫大量刺激之后,它们不能观察到神经活动:暗点、亮点、挥手、甚至是杂志上的女性照片。但是在它们的失望中,它们从投影仪中移除了对角线处的照片,它们注意到了一些神经活动。结果是,位于某个特定角度的,对角线上的边能够导致特定的神经元被激活。

这样就逐渐有意义了,因为自然环境通常是嘈杂和随机的(想想草原和荒野)。所以当野外的猫感知到一条“边”的时候,也就是一条不同于背景的线,这可能表明,一个物体或者生物进入了视野范围。当边缘的神经元的特定组合被激活时,这些活动会集体产生更加抽象的活动,以此类推,直到最终的抽象是个有用的概念,比如“鸟”或者“狼”。

深度神经网络背后的概念就是,使用人工神经网络的层次来模拟类似的结构。

Google总结了如下几项可解释性原则:

www.9778.com 6www.9778.com 7

Been Kim

了解节点的激活方式:可解释性的关键不在于理解网络中各个神经元的功能,而在于理解同一空间位置被一起激发的互连神经元群。通过互连神经元群对神经网络进行分割能让我们从一个更简单的抽象层面来理解其功能。

BP算法是一种计算偏导数的有效方法,它的基本原理是:利用前向传播最后输出的结果来计算误差的偏导数,再用这个偏导数和前面的隐藏层进行加权求和,如此一层一层的向前传下去,直到输入层,最后利用每个节点求出的偏导数来更新权重。

随着越来越多的行业试图用人工智能实现自动化或增强他们的决策能力,这种黑箱理论似乎显示出根本性的缺陷。美国国防部高级研究计划局的“XAI”项目(用于“可解释的人工智能”)正在积极研究这个问题,可解释性已经从机器学习研究的边缘转移到了它的中心。Kim说:“人工智能正处于这个关键时刻,人类正试图考察这项技术是否对我们有益。”“如果我们不解决这一可解释性问题,我认为我们就不应该继续使用这项技术。我们可能会放弃它。”

遵循前文讨论的想法,通常所认为的可解释性就是通过深度学习模型的输入特征来描述其预测。逻辑回归分类器就是一个典型的例子,其系数权重通常被解释为每个特征的重要性。然而,大多数深度学习模型对诸如像素值之类的特征进行操作,这些特征与人类容易理解的高级概念并不对应。此外,模型的内部值也很晦涩难懂。虽然诸如显着图之类的技术可以有效测量特定像素区域的重要性,但是它们无法与更高层级的概念相关联。

单层感知器虽然可以建立与门、或门、非门等,但无法建立更为复杂的异或门,即两个输入相同时输出1,否则输出0。

www.9778.com 8

理解概念的形成过程:理解深度神经网络如何形成组成最终输出的单个概念,这是可解释性的另一个关键构建模块。

此后,对全部数据都反复进行这样的计算,直到输出的误差达到一个很小的值为止。

TCAV是针对无法解释的机器学习模型设计的。为什么不让系统从一开始就可以解释呢?

2)理解预测对这些概念的敏感度。

从单层神经网络,到两层神经网络,再到多层神经网络,下图说明了,随着网络层数的增加,以及激活函数的调整,神经网络所能拟合的决策分界平面的能力。

可解释性是什么意思,它为什么如此重要,Kim一一给出了解答。

在每项任务中,实验人员首先会看到四幅图片和相应的显着性蒙版。然后,他们要评估图像对模型的重要程度,标题对模型的重要程度,以及他们对答案的自信程度。实验人员总共评定了60个不同的图像。

4、反向传播计算出代价函数J关于所有参数的导数或偏导数

“可解释性”这个词到底是什么意思?

这些原则是Google新CAV技术背后的理论基础。

www.9778.com 9Sigmoid激活函数下的神经网络

如果你不能使用数据表达你的概念,那么它将无法工作。如果你的机器学习模型是在图像上训练的,那么这个概念必须是可视化的。比如说,我想用视觉表达“爱”的概念,这真的很难。

概念激活向量

模型有两个输入(input1和input2),我们可以线性地区分或门的两类情况:即同时为0时在左下角,其它情况在右上角;与门的情况也可以线性地区分,即输出同时为1时在右上角,其它情况在左下角。但异或门呢?这种情况是无法作出线性区分的,也就是说,单层感知器无法实现异或门。

审校:loulou

全局量化:可以使用单一定量测度来解释所有类或所有实例,而非仅仅解释单个数据输入。

www.9778.com 10

我给你打个比方。假设我后院有一棵树,我想砍掉它。我可能会用电锯来做这项工作。现在,我不完全理解电锯是如何工作的。但手册上说,“这些是你需要小心的事情,以免割到你的手指。”所以,根据这本手册,我宁愿用电锯也不愿用手锯,手锯的原理容易理解,但会让我花五个小时来砍树。

实验的基本事实是图像概念比标题概念更相关。然而,看显着图时,人们认为标题概念更重要,或者辨别不出差异。相比之下,TCAV结果正确地表明图像概念更重要。

www.9778.com 11经典的神经网络结构

那你怎么办?

团队进行了多次实验来评估TCAV相比于其他可解释性方法的效率。在一项最引人注目的测试中,团队使用了一个显着图,尝试预测出租车这一概念与标题或图像的相关性。显着图的输出如下所示:

从逻辑回归看,单层感知器只能解决线性问题。要解决非线性问题,需要引入多层感知器。

我们仍然需要判断这项技术是否适合我们。这就是我为什么研究“后训练(Posttraining)”的可解释性方法。如果你有一个别人给你的模型,而你不能改变它,你如何去为它的行为生成解释,以便你可以安全地使用它?这就是TCAV工作的意义所在。

使用这些图像作为测试数据集,Google Brain团队在Amazon Mechanical
Turk上邀请50人进行了实验。每个实验人员执行一系列共六个针对单个模型的随机顺序任务。

神经网络的第一层是输入层,值为xi,最后一层是输出层,如果作为分类算法训练则有多少个类别就应该有多少个对应的输出单元,对应的输出单元被激活代表着分类的结果。隐藏层可以有多层,每层可以有多个单元,规模越大训练的模型越复杂。而对于隐藏层中的每个单元本身都是一个逻辑回归的过程,也就是说每个隐藏单元都训练出了一个比前一层更加复杂的特征,这样一层接一层我们就可以训练出越来越复杂的特征,直到得到结果。一般凭经验来确定隐藏层到底应该有多少个节点,在测试的过程中也可以不断调整节点数以取得最佳效果。

你为什么能对一个你不完全理解其工作原理的系统有信心呢?

易懂:使用者几乎不需要机器学习专业知识。

www.9778.com 12线性激活函数下的神经网络

因此,如果医生在判断一个细胞是否变成了癌细胞,他们可能会在标本中寻找一种叫做“融合腺(fused
glands)”的东西。他们还可以考虑患者的年龄,以及患者过去是否接受过化疗。这些都是医生诊断癌症时关心的因素。如果我们能证明机器学习模型也注意到了这些因素,那么模型就更容易理解了,因为它反映了医生作为人类会具备的知识。

最后一步尝试评估学到的CAV的全局相关性,避免依赖不相关的CAV。毕竟TCAV技术的一个缺陷就是可能学到无意义的CAV,因为使用随机选择的一组图像仍然能得到CAV,在这种随机概念上的测试不太可能有意义。为了应对这一难题,TCAV引入了统计显着性检验,该检验以随机的训练次数评估CAV。其基本思想是,有意义的概念应该在多次训练中得到一致的TCAV分数。

用梯度检测得到的导数值与反向传播所计算出的导数值进行比较,如果一样或者数值相近,就可以确定反向传播的实现是正确的。

这有另一个例子。如果医生使用机器学习模型来进行癌症诊断,医生会想知道,该模型有没有利用数据中我们不想涉及的随机性。确保这一点的一种方法是确认机器学习模型正在做医生会做的事情。换句话说,证明医生自己的诊断知识已经反映在模型中。

为实现上述目标,TCAV方法分为三个基本步骤:

一个神经元通常具有多个树突
,主要用来接受传入信息,而轴突只有一条,轴突尾端有许多轴突末梢,可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连接,从而传递信号。

【互动问题:有哪些你并不知道原理却用得很开心的工具?】

可解释性vs准确性

总结: 多层神经网络其实就是一组神经元连接在一起的集合

你相信如果没有可解释性,人类可能会放弃人工智能技术吗?考虑到它的强大功能,你真的认为这是现实的可能性吗?

深度学习模型中的可解释性不是一个单一的概念。我们可以从多个层次理解它:

神经网络浅讲:从神经元到深度学习

www.9778.com 13

可解释性仍然是现代深度学习应用的最大挑战之一。计算模型和深度学习研究的最新进展使我们能够创建极度复杂的模型,包括数千隐藏层和数千万神经元。效果惊人的前沿深度神经网络模型构建相对简单,但了解这些模型如何创造和使用知识仍然是一个挑战。

经典的神经网络。这是一个包含三个层次的神经网络。我们称图中的圆圈为神经元,左边三个神经元组成的一列为输入层,中间神经元列为隐藏层,右边神经元列为输出层,神经元之间的箭头为权重。权重具体的值需要通过神经网络的训练才能获得。

让我们回到使用机器学习模型的医生的那个例子,这个机器学习模型已经被训练为将细胞样本的图像按照可能存在的癌症分类。作为医生,你可能想知道“融合腺体”的概念对预测癌症有多重要。首先,你收集一些图像,比如20个,其中有一些含有融合腺体的细胞。现在你将这些标记的示例插入模型中。

第二步是生成一个TCAV分数,用于量化预测对特定概念的敏感度。TCAV使用了用于衡量ML预测值在某一概念方向、在激活层对输入敏感度的偏导数。

www.9778.com 14www.9778.com 15www.9778.com 16www.9778.com 17www.9778.com 18

可解释性还有第二个分支,我主要关注的是人工智能的可解释性。你不必了解模型的每一个细节。但是,只要你能够理解并足够安全地使用该工具就可以了,这就是我们的目标。

你是关心获得最佳结果,还是关心结果是如何产生的?这是数据科学家在每个深度学习场景中都需要回答的问题。许多深度学习技术本质上非常复杂,尽管它们在许多场景中都很准确,解释起来却非常困难。如果我们在一个准确性-可解释性图表中绘制一些最着名的深度学习模型,我们将得到以下结果:

学习率是一个预先设置好的参数,用于控制每次更新的幅度。

你知道“切割”是什么,即使你不完全知道完成这个动作的机制是什么。

要理解CAV技术,需要了解深度学习模型中可解释性难题的本质。在当今一代深度学习技术中,模型的准确性与可解释性之间存在着永恒的矛盾。可解释性-准确性矛盾存在于完成复杂知识任务的能力和理解这些任务是如何完成能力之间。知识与控制,绩效表现与可核查性,效率与简便性…任意一项抉择其实都是准确性和可解释性之间的权衡。

2、构建网络,随机初始化权重参数

对。在此之前,可解释性方法只解释了在输入数据的特征上,神经网络做了什么工作。也就是说,如果您有图像,每个像素都是一个输入参数。事实上,Yann
Lecun(一位早期的深度学习先驱,目前是Facebook的人工智能研究主管)说,你可以查看神经网络中的每个节点,并查看每个输入的数值。这对电脑来说没问题,但人类不会这样做。我不会告诉你,“哦,看看100到200像素,RGB值是0.2和0.3。”我只会说,“有一张狗的照片,它的毛发真的很蓬松。”这就是人类交流的方式——利用概念。

TCAV方法的第一步是定义相关的概念。为实现此目的,TCAV选择一组代表该概念的实例或寻找标记为该概念的独立数据集。我们可以通过训练线性分类器区分概念实例产生的激活和各层中的实例来学习CAV。

www.9778.com 19用感知器表示“与”门,激活函数为线性的

作者:John Pavlus

www.9778.com 20感知器

只要你认真阅读下面的这篇文章,思考文末提出的问题,严格按照
互动:你的答案 的格式在评论区留言,就有机会获得奖品!

从单层神经网络开始,到包含一个隐藏层的两层神经网络,再到多层的深度神经网络,一共有三次兴起过程。神经网络为什么能这么火热?简而言之,就是其学习效果的强大。随着神经网络的发展,其表示性能越来越强。

www.9778.com 21

在已经训练好权值的神经网络上,预测的工作是通过前向传播来实现的,所谓的“前向”就是从输入层到输出层的方向。整个传播过程就是沿着神经网络的方向在每个神经元上做逻辑回归,不断训练出更加复杂的特征,最后得到输出。以下图的神经网络为例:

截止到本周四中午12点,点赞数前三名的朋友将获得我们送出的图书一本。

3、计算出代价函数

Kim和她在Google
Brain的同事最近开发了一个名为“概念激活向量测试”的系统,她将其描述为“面向人类的翻译器”,该系统允许用户询问黑匣子人工智能一个特定的高层次概念在其推理中发挥了多大作用。例如,如果一个机器学习系统已经被训练识别图像中的斑马,那么一个人可以使用TCAV来确定系统在做出决定时对“条纹”概念给予了多少权重。

当Θ是一个n维向量时:

因为人工智能铺天盖地的宣传和资金的大量投入,现在看起来不太可能放弃人工智能。但从长远来看,我认为人类可能发现——也许是出于恐惧,也许是因为缺乏证据——这项技术不适合我们。这也是可能的。

www.9778.com 22双层神经网络模型

科学无国界

反向传播是计算代价函数关于所有参数的导数或偏导数的一种有效方法。

众所周知,计算机很多时候可以给我们的问题一个很好的答案,但我们并不理解它是如何得到这些答案的。Been
Kim一直在开发一个“面向人类的翻译器(translator for
humans)”,这样我们就可以知道人工智能何时会失效。

因为上面感知器的激活函数是线性函数。这种情况下,神经网络的输出也只是输入的某种线性函数,只不过是通过网络的形式来进行加权。线性函数的线性组合仍然是线性函数。也就是说,即便是多层的感知器,激活函数为线性时也无法实现输入00和输入11时的输出比输入01和10时大,即非线性。

“反映人类知识”如何使人工智能更容易理解?

输入以向量的形式表示x=(x0,x1,
x2),你可以把它们理解为不同的特征维度,其中的x0是偏置单元(bias
unit),相当于线性回归中的常数项。在经过“神经元”的计算后,感知器会输出一个大于0或小于0的数。箭头上的数字代表每个特征的权量,相当于线性回归模型的参数,是收集信息的神经突触。

编辑:loulou

www.9778.com 23www.9778.com 24

是的。专家系统(智能计算机程序系统)就是这样。在20世纪80年代,我们确定他们比人工操作人员执行某些任务更便宜。但现在谁在使用专家系统呢?没有人。之后我们进入了人工智能的冬天。

BP的思想就是:利用输出后的误差来估计输出层前一层的误差,再用这层误差来估计更前一层误差,如此获取所有各层误差估计。这里的误差估计可以理解为某种偏导数,我们就是根据这种偏导数来调整各层的连接权值,再用调整后的连接权值重新计算输出误差。直到输出的误差达到符合的要求或者迭代次数溢出设定值。

翻译:Nothing

对每一个Θ值随机初始化为一个[ -ε , ε ]范围的值:

可解释性有两个分支。一种是科学的可解释性:如果你把神经网络作为研究对象,那么你就可以进行科学实验来真正理解关于模型的细节、它的反应以及诸如此类的事情。

我们实际生活中的学习体现在大脑中就是一系列神经网络回路的建立与强化,多次重复的学习能让回路变得更加粗壮,使得信号的传递速度加快,最后对外表现为“深刻”的记忆。人工神经网络的训练也借鉴于此,如果某种映射关系出现很多次,那么在训练过程中就相应调高其权重。

我们是知识的搬运工

这里介绍的是计算完一条记录,就马上更新权重,以后每计算完一条都即时更新权重。实际上批量更新的效果会更好,方法是在不更新权重的情况下,把记录集的每条记录都算过一遍,把要更新的增值全部累加起来求平均值,然后利用这个平均值来更新一次权重,然后利用更新后的权重进行下一轮的计算,这种方法叫批量梯度下降(Batch
Gradient Descent)。

TCAV如何把输入的数据转化成概念?

www.9778.com 25神经细胞

你可以使用TCAV向经过训练的模型测试相关的概念。回到医生使用人工智能进行癌症预测的例子,医生们可能会突然想,“这台机器似乎倾向于对带有蓝色阴影的图像给出患有癌症的预测。我们认为不应该考虑这一因素。”因此,如果带有“蓝色”的TCAV分数很高,这就成为这个机器学习模型的一个缺陷。

5、梯度检测方法计算出导数值,把反向传播计算得到的导数值与其进行比较,看是否相等或相近。

不是,我们从认知科学和心理学的研究中知道,人类很容易上当受骗。这意味着欺骗一个人去相信某件事其实很容易。机器学习可解释性的目标与此相反。它告诉你一个系统是否安全,重要的是找到真相而不是建立信任。可解释性的重点是揭示人工智能推理中的潜在缺陷。

参考:

“概念”是一个模糊的术语。有没有TCAV不能处理的概念?

www.9778.com 26www.9778.com 27三起三落的神经网络

TCAV本质上是为了建立对人工智能的信任,而不是真正的理解它吗?

www.9778.com 28www.9778.com 29www.9778.com 30www.9778.com 31www.9778.com 32www.9778.com 33www.9778.com 34

直观的BP神经网络的工作过程总结如下:

www.9778.com 35www.9778.com 36www.9778.com 37

www.9778.com 38随着层数增加,其非线性分界拟合能力不断增强

总结:单层的神经网络其实就是一个逻辑回归函数。

BP神经网络的数学原理及其算法实现

为了更为直观地理解这个问题,我们可以看下图:

感知器是一种二元分类器,它是神经网络的基石。感知器是对神经细胞的模拟:

www.9778.com 39www.9778.com 40

快速发展的外因:更强的计算性能,更多的数据,以及更好的训练方法。

7、用最优化算法,如梯度下降算法来最小化J

www.9778.com 41

1、选择网络架构:多少个隐藏层,每层多少个隐藏单元

实例:

www.9778.com 42www.9778.com 43www.9778.com 44www.9778.com 45www.9778.com 46www.9778.com 47www.9778.com 48这样反向传播得到所有的δ以后,就可以更新权重了。

www.9778.com 49用感知器表示“与”门,激活函数是Sigmoid函数

当Θ为实数时:[ J- J] / 2 给出图像在改点的导数的近似值。

在神经网络中训练初始化时,要特别注意不能使Θ中的值都相同,这样会使每一层的神经元都训练出完全相同的特征,神经网络就完全无法工作了。因此,在训练开始前,应该对Θ进行随机的初始化。

用什么方法最小化L?用随机梯度下降。也就是对每个训练样本都使权重往其负梯度方向变化。现在的任务就是求L对连接权重w的梯度。

激活函数的求导:

如何简单形象又有趣地讲解神经网络是什么

www.9778.com 50

用神经网络如何实现异或门?

神经网络的整个过程: