干货 | 深度学习的可解释性研究(一):让模型「说人话」

  • 可解释性是什么?
  • 我们为什么需要可解释性?
  • 有哪些可解释性方法?
  • 在建模之前的可解释性方法
  • 建立本身具备可解释性的模型
  • 在建模之后使用可解释性性方法作出解释
  • 关于 BIGSCity
  • 参考文献

不以人类可以理解的方式给出的解释都叫耍流氓,因此,我们要让模型「说人话」。只要记住这三个字,你就差不多把握了可解释性的精髓所在。

AI 科技评论按:本文为 BIGSCity 的知乎专栏内容,作者王小贱。北航智慧城市兴趣组 BIGSCITY是隶属于北京航空航天大学计算机学院的一个学术研究小组,小组致力于研究机器学习与数据挖掘在城市科学、社会科学等领域的交叉应用技术。AI 科技评论获得 BIGSCity 授权转载,敬请期待更多后续内容。

非常开心本文成为 BIGSCity 兴趣组的第一篇投稿,《深度学习的可解释性研究》系列预计包含 3-4 篇内容,用尽可能浅显的语言带领大家了解可解释性的概念与方法以及关于深度学习可解释性工作的研究成果,不定期更新内容(欢迎催更)。

可解释性是什么?

广义上的可解释性指在我们需要了解或解决一件事情的时候,我们可以获得我们所需要的足够的可以理解的信息。比如我们在调试 bug 的时候,需要通过变量审查和日志信息定位到问题出在哪里。比如在科学研究中面临一个新问题的研究时,我们需要查阅一些资料来了解这个新问题的基本概念和研究现状,以获得对研究方向的正确认识。反过来理解,如果在一些情境中我们无法得到相应的足够的信息,那么这些事情对我们来说都是不可解释的。比如刘慈欣的短篇《朝闻道》中霍金提出的「宇宙的目的是什么」这个问题一下子把无所不知的排险者卡住了,因为再高等的文明都没办法理解和掌握造物主创造宇宙时的全部信息,这些终极问题对我们来说永远都是不可解释的。

而具体到机器学习领域来说,以最用户友好的决策树模型为例,模型每作出一个决策都会通过一个决策序列来向我们展示模型的决策依据:比如男性&未婚&博士&秃头的条件对应「不感兴趣」这个决策,而且决策树模型自带的基于信息理论的筛选变量标准也有助于帮助我们理解在模型决策产生的过程中哪些变量起到了显著的作用。所以在一定程度上,我们认为决策树模型是一个具有比较好的可解释性的模型,在以后的介绍中我们也会讲到,以决策树为代表的规则模型在可解释性研究方面起到了非常关键的作用。再以用户最不友好的多层神经网络模型为例,模型产生决策的依据是什么呢?大概是以比如 1/(e^-(2*1/(e^(-(2*x+y))+1) + 3*1/(e^(-(8*x+5*y))+1))+1) 是否大于 0.5 为标准(这已经是最简单的模型结构了),这一连串的非线性函数的叠加公式让人难以直接理解神经网络的「脑回路」,所以深度神经网络习惯性被大家认为是黑箱模型。

17 年 ICML 的 Tutorial 中给出的一个关于可解释性的定义是:

Interpretation is the process of giving explanations to Human.

总结一下就是「说人话」,「说人话」,「说人话」,不以人类可以理解的方式给出的解释都叫耍流氓,记住这三个字,你就差不多把握了可解释性的精髓所在。

我们为什么需要可解释性?

广义上来说我们对可解释性的需求主要来源于对问题和任务了解得还不够充分。具体到深度学习/机器学习领域,就像我们上文提到的多层神经网络存在的问题,尽管高度的非线性赋予了多层神经网络极高的模型表示能力,配合一些堪称现代炼丹术的调参技术可以在很多问题上达到非常喜人的表现,大家如果经常关注 AI 的头条新闻,那些机器学习和神经网络不可思议的最新突破甚至经常会让人产生 AI 马上要取代人类的恐惧和幻觉。但正如近日贝叶斯网络的创始人 Pearl 所指出的,「几乎所有的深度学习突破性的本质上来说都只是些曲线拟合罢了」,他认为今天人工智能领域的技术水平只不过是上一代机器已有功能的增强版。虽然我们造出了准确度极高的机器,但最后只能得到一堆看上去毫无意义的模型参数和拟合度非常高的判定结果,但实际上模型本身也意味着知识,我们希望知道模型究竟从数据中学到了哪些知识(以人类可以理解的方式表达的)从而产生了最终的决策。从中是不是可以帮助我们发现一些潜在的关联,比如我想基于深度学习模型开发一个帮助医生判定病人风险的应用,除了最终的判定结果之外,我可能还需要了解模型产生这样的判定是基于病人哪些因素的考虑。如果一个模型完全不可解释,那么在很多领域的应用就会因为没办法给出更多可靠的信息而受到限制。这也是为什么在深度学习准确率这么高的情况下,仍然有一大部分人倾向于应用可解释性高的传统统计学模型的原因。

不可解释同样也意味着危险,事实上很多领域对深度学习模型应用的顾虑除了模型本身无法给出足够的信息之外,也有或多或少关于安全性的考虑。比如,下面一个非常经典的关于对抗样本的例子,对于一个 CNN 模型,在熊猫的图片中添加了一些噪声之后却以 99.3% 的概率被判定为长臂猿。

在熊猫图片中加入噪声,模型以 99.3% 的概率将图片识别为长臂猿

事实上其他一些可解释性较好的模型面对的对抗样本问题可能甚至比深度学习模型更多,但具备可解释性的模型在面对这些问题的时候是可以对异常产生的原因进行追踪和定位的,比如线性回归模型中我们可以发现某个输入参数过大/过小导致了最后判别失常。但深度学习模型很难说上面这两幅图到底是因为哪些区别导致了判定结果出现了如此大的偏差。尽管关于对抗样本的研究最近也非常火热,但依然缺乏具备可解释性的关于这类问题的解释。

当然很多学者对可解释性的必要性也存有疑惑,在 NIPS 2017 会场上,曾进行了一场非常激烈火爆的主题为「可解释性在机器学习中是否必要」的辩论,大家对可解释性的呼声还是非常高的。但人工智能三巨头之一的 Yann LeCun 却认为:人类大脑是非常有限的,我们没有那么多脑容量去研究所有东西的可解释性。有些东西是需要解释的,比如法律,但大多数情况下,它们并没有你想象中那么重要。比如世界上有那么多应用、网站,你每天用 Facebook、Google 的时候,你也没想着要寻求它们背后的可解释性。LeCun 也举了一个例子:他多年前和一群经济学家也做了一个模型来预测房价。第一个用的简单的线性于猜测模型,经济学家也能解释清楚其中的原理;第二个用的是复杂的神经网络,但效果比第一个好上不少。结果,这群经济学家想要开公司做了。你说他们会选哪个?LeCun 表示,任何时候在这两种里面选择都会选效果好的。就像很多年里虽然我们不知道药物里的成分但一直在用一样。

但是不可否认的是,可解释性始终是一个非常好的性质,如果我们能兼顾效率、准确度、说人话这三个方面,具备可解释性模型将在很多应用场景中具有不可替代的优势。

有哪些可解释性方法?

我们之前也提到机器学习的目的是从数据中发现知识或解决问题,那么在这个过程中只要是能够提供给我们关于数据或模型的可以理解的信息,有助于我们更充分地发现知识、理解和解决问题的方法,那么都可以归类为可解释性方法。如果按照可解释性方法进行的过程进行划分的话,大概可以划分为三个大类:

1. 在建模之前的可解释性方法

2. 建立本身具备可解释性的模型

3. 在建模之后使用可解释性方法对模型作出解释

在建模之前的可解释性方法

这一类方法其实主要涉及一些数据预处理或数据展示的方法。机器学习解决的是从数据中发现知识和规律的问题,如果我们对想要处理的数据特征所知甚少,指望对所要解决的问题本身有很好的理解是不现实的,在建模之前的可解释性方法的关键在于帮助我们迅速而全面地了解数据分布的特征,从而帮助我们考虑在建模过程中可能面临的问题并选择一种最合理的模型来逼近问题所能达到的最优解。

数据可视化方法就是一类非常重要的建模前可解释性方法。很多对数据挖掘稍微有些了解的人可能会认为数据可视化是数据挖掘工作的最后一步,大概就是通过设计一些好看又唬人的图表或来展示你的分析挖掘成果。但大多数时候,我们在真正要研究一个数据问题之前,通过建立一系列方方面面的可视化方法来建立我们对数据的直观理解是非常必须的,特别是当数据量非常大或者数据维度非常高的时候,比如一些时空高维数据,如果可以建立一些一些交互式的可视化方法将会极大地帮助我们从各个层次角度理解数据的分布,在这个方面我们实验室也做过一些非常不错的工作。

还有一类比较重要的方法是探索性质的数据分析,可以帮助我们更好地理解数据的分布情况。比如一种称为 MMD-critic 方法中,可以帮助我们找到数据中一些具有代表性或者不具代表性的样本。

使用 MMD-critic 从 Imagenet 数据集中学到的代表性样本和非代表性样本(以两种狗为例)

建立本身具备可解释性的模型

建立本身具备可解释性的模型是我个人觉得是最关键的一类可解释性方法,同样也是一类要求和限定很高的方法,具备「说人话」能力的可解释性模型大概可以分为以下几种:

1. 基于规则的方法(Rule-based)

2. 基于单个特征的方法(Per-feature-based)

3. 基于实例的方法(Case-based)

4. 稀疏性方法(Sparsity)

5. 单调性方法(Monotonicity)

基于规则的方法比如我们提到的非常经典的决策树模型。这类模型中任何的一个决策都可以对应到一个逻辑规则表示。但当规则表示过多或者原始的特征本身就不是特别好解释的时候,基于规则的方法有时候也不太适用。

基于单个特征的方法主要是一些非常经典的线性模型,比如线性回归、逻辑回归、广义线性回归、广义加性模型等,这类模型可以说是现在可解释性最高的方法,可能学习机器学习或计算机相关专业的朋友会认为线性回归是最基本最低级的模型,但如果大家学过计量经济学,就会发现大半本书都在讨论线性模型,包括经济学及相关领域的论文其实大多数也都是使用线性回归作为方法来进行研究。这种非常经典的模型全世界每秒都会被用到大概 800 多万次。为什么大家这么青睐这个模型呢?除了模型的结构比较简单之外,更重要的是线性回归模型及其一些变种拥有非常 solid 的统计学基础,统计学可以说是最看重可解释性的一门学科了,上百年来无数数学家统计学家探讨了在各种不同情况下的模型的参数估计、参数修正、假设检验、边界条件等等问题,目的就是为了使得在各种不同情况下都能使模型具有有非常好的可解释性,如果大家有时间有兴趣的话,除了学习机器学习深度模型模型之外还可以尽量多了解一些统计学的知识,可能对一些问题会获得完全不一样的思考和理解。

基于实例的方法主要是通过一些代表性的样本来解释聚类/分类结果的方法。比如下图所展示的贝叶斯实例模型(Bayesian Case Model,BCM),我们将样本分成三个组团,可以分别找出每个组团中具有的代表性样例和重要的子空间。比如对于下面第一类聚类来说,绿脸是具有代表性的样本,而绿色、方块是具有代表性的特征子空间。

使用 BCM 学到的分类及其对应的代表性样本和代表性特征子空间

基于实例的方法的一些局限在于可能挑出来的样本不具有代表性或者人们可能会有过度泛化的倾向。

基于稀疏性的方法主要是利用信息的稀疏性特质,将模型尽可能地简化表示。比如如下图的一种图稀疏性的 LDA 方法,根据层次性的单词信息形成了层次性的主题表达,这样一些小的主题就可以被更泛化的主题所概括,从而可以使我们更容易理解特定主题所代表的含义。

Graph-based LDA 中的主题层次结构

基于单调性的方法:在很多机器学习问题中,有一些输入和输出之间存在正相关/负相关关系,如果在模型训练中我们可以找出这种单调性的关系就可以让模型具有更高的可解释性。比如医生对患特定疾病的概率的估计主要由一些跟该疾病相关联的高风险因素决定,找出单调性关系就可以帮助我们识别这些高风险因素。

在建模之后使用可解释性性方法作出解释

建模后的可解释性方法主要是针对具有黑箱性质的深度学习模型而言的,主要分为以下几类的工作:

1. 隐层分析方法

2. 模拟/代理模型

3. 敏感性分析方法

这部分是我们接下来介绍和研究的重点,因此主要放在后续的文章中进行讲解,在本篇中不作过多介绍。

除了对深度学习模型本身进行解释的方法之外,也有一部分工作旨在建立本身具有可解释性的深度学习模型,这和我们前面介绍通用的可解释性模型有区别也有联系,也放到以后的文章中进行介绍。

如果对本系列感兴趣或有疑问,欢迎私信交流。

关于 BIGSCity

北航智慧城市兴趣组 BIGSCITY 是隶属于北京航空航天大学计算机学院的一个学术研究小组,小组致力于研究机器学习与数据挖掘在城市科学、社会科学等领域的交叉应用技术。BIGSCITY 的研究兴趣包括:城市计算,时空数据挖掘,机器学习可解释性,以及 AI 在交通、健康、金融等领域的应用等。本专栏将介绍 BIGSCITY 的一些研究成果,不定期更新与课题组研究相关的研究工作介绍,以及介绍与 BIGSCITY 相关的一切有趣的内容。

关于 BIGSCITY 的详细情况参见研究组主页:https://www.bigscity.com/

参考文献

1. Google Brain, Interpretable Machine Learning: The fuss, the concrete and the questions.

2. Kim B, Koyejo O, Khanna R, et al. Examples are not enough, learn to criticize! Criticism for Interpretability[C]. neural information processing systems, 2016: 2280-2288.

3. Kim B, Rudin C, Shah J. The Bayesian Case Model: A Generative Approach for Case-Based Reasoning and Prototype Classification[J]. Computer Science, 2015, 3:1952-1960.

4. Doshi-Velez F, Wallace B C, Adams R. Graph-sparse LDA: a topic model with structured sparsity[J].

随着深度神经网络(DNN)变得越来越强大,它们的复杂性也会增加。这种复杂性带来了新的挑战,包括模型的可解释性。

可解释性对于构建更强大且能抵抗对抗攻击的模型至关重要。此外,为一个新的,未经过深入研究的领域设计模型具有挑战性,而能够解释模型正在做什么可以帮助我们完成这个过程。

模特可解释性的重要性使研究人员开发出多种方法,并在去年的NIPS会议上专门讨论了这个主题。这些方法包括:

  • LIME:通过局部线性逼近解释模型预测的方法(https://arxiv.org/abs/1602.04938)
  • 激活最大化:了解哪种输入模式产生最大的模型响应(https://pdfs.semanticscholar.org/65d9/94fb778a8d9e0f632659fb33a082949a50d3.pdf)
  • 特征可视化:(https://distill.pub/2017/feature-visualization/)
  • 将DNN层嵌入到低维可解释的空间中:(http://www.interpretable-ml.org/nips2017workshop/papers/04.pdf)
  • 采用认知心理学的方法:(https://deepmind.com/blog/cognitive-psychology/)
  • 不确定性估计方法

在我们深入研究如何使用不确定性来调试和解释模型之前,首先让我们了解为什么不确定性很重要。

为什么要关心不确定性?

比较典型的例子是高风险应用。假设你正在建立一个模型,帮助医生决定患者的首选治疗方案。在这种情况下,我们不仅要关心模型的准确性,还要关注模型对预测的确定程度。如果不确定性太高,医生应该将此考虑在内。

自驾车也是一个例子。当模型不确定道路上是否有行人时,我们可以使用此信息来减慢车速或触发警报,以使驾驶员接手。

不确定性也可以帮助我们摆脱数据实例。如果模型没有使用类似于手边样本的实例进行训练,那么如果它能够说“抱歉,我不知道”可能会更好。这可以避免谷歌在将非洲裔美国人误认为大猩猩时这样的尴尬错误。这种错误有时是由于训练集不够多样化产生的。

最后一次使用不确定性(也是本文的目标),是从业者调试模型的工具。我们稍后会深入研究这个问题,但首先,让我们谈谈不同类型的不确定性。

不确定性类型

有不同类型的不确定性和建模,每种都有用于不同的目的。

模型不确定性,AKA认知不确定性:假设有一个数据点,想知道哪种线性模型最能解释您的数据。没有好的方法可以在图片中不同的线之间进行选择 – 我们需要更多数据!

用不确定性来解释和调试你的深度学习模型

左侧:没有足够的数据导致高度不确定性。右边:给定更多数据不确定性降低

认知不确定性解释模型参数的不确定性。我们不确定哪种模型权重最好地描述数据,但是给定更多数据我们的不确定性会降低。这种不确定性在高风险应用和处理小型稀疏数据时非常重要。

用不确定性来解释和调试你的深度学习模型

举个例子,假设你想要建立一个能够获得动物图片的模型,并预测该动物是否会尝试吃掉你。假设你用狮子和长颈鹿的图片训练模型,现在它看到了一个僵尸。由于该模型没有在僵尸图片上进行过训练,因此不确定性很高。这种不确定性就是模型的结果,如果给出僵尸图片够多,不确定性就会减少。

数据不确定性,或者说偶发不确定性捕获观察中固有的噪声。有时世界本身就是随机的。在这种情况下,获取更多数据对我们没有帮助,因为噪声是数据固有的。

要理解这一点,让我们继续思考食肉动物模型。我们的模型可以识别图像中有狮子,因此你可能会被吃掉。但是,如果狮子现在不饿了怎么办?这种不确定性来自数据。另外,两条看起来相同的蛇,但其中一条是可能有毒,另一条则没有。

偶发不确定性分为两种类型:

  1. 同理不确定性:所有输入的不确定性都是相同的。
  2. 异方差的不确定性:不确定性取决于目前的具体输入。例如,对于预测图像“深度”的模型,预测无特征墙比具有强消失线的图像更高的不确定性。

测量的不确定性:另一个不确定性来源是测量本身。当测量结果有噪声时,不确定性会增加。在动物示例中,如果使用质量差的相机拍摄照片,则可能会损害模型的置信度;或者如果我们正逃离一只发狂的河马,我们只能处理模糊的图像。

有噪声的标签:通过监督学习,我们使用标签来训练模型。如果标签有噪音,则不确定性会增加。

有各种方法来模拟每种不确定性。这些我以后会介绍。现在,让我们假设我们有一个黑盒模型,它暴露了对预测的不确定性。我们如何使用它来调试模型?

让我们思考Taboola中的一个模型,它被用于预测用户点击内容推荐的可能性,也称为CTR(Click Through Rate)。

使用不确定性来调试模型

该模型具有许多由嵌入向量表示的分类特征。它可能难以学习稀有值的通用嵌入。解决此问题的常用方法是使用特殊的OOV(Out of Vocabulary)嵌入。

想想某个物品的广告商。所有罕见的广告商都共享相同的OOV嵌入,因此,从模型的角度来看,他们本质上就是一个广告商。这个OOV广告商有许多不同的商品,每个商品都有不同的CTR。如果我们仅使用广告商作为CTR的预测,我们就会得到OOV的高不确定性。

为了验证模型对OOV输出的高不确定性,我们取一个验证集,并转换所有广告商嵌入到OOV。接下来,我们检查了转换前后的不确定性。正如预期的那样,不确定性增加了。该模型能够了解到,如果给予信息丰富的广告商,它应该减少不确定性。

用不确定性来解释和调试你的深度学习模型

我们可以针对不同的特征重复这一点,并寻找在被OOV嵌入替换时导致低不确定性的特征。这些特征要么是无信息性的,要么是我们将它们提供给模型的方式并不理想。

我们甚至可以继续细分:某些广告商在不同商品的CTR之间存在较高的可变性,而另一些则有大致相同的CTR。我们希望该模型对第一类广告商具有更高的不确定性。因此,比较有用的分析是关注广告商中不确定性和CTR变异性之间的相关性。如果相关性不是正的,则意味着模型未能了解与每个广告商相关的不确定性。这个工具允许我们了解训练过程或模型架构中是否出现问题,这表明我们应该进一步调试它。

我们可以执行类似的分析,看看与特定项目相关的不确定性是否会减少了更多的我们展示它的次数(即向更多用户或更多地方显示)。同样,我们希望模型变得更加确定,如果不是 – 我们将进行调试!

另一个很酷的例子是标题特征:带有罕见词汇的独特标题应该会带来很高的模型不确定性。这是模型没有从那个领域所有可能标题看到很多例子的结果。然后我们使用其中一种标题对模型进行再训练,看看是否降低了整体的不确定性。然后我们将使用其中一个标题重新训练模型,并查看整个组的不确定性是否已降低。我们可以看到发生了什么:

用不确定性来解释和调试你的深度学习模型

等一下……通过将模型暴露给某些标题,它能够变得更好,对一些新标题更加确定。也许我们可以用它来某种方式鼓励探索新的物品?是的,我们可以(我们后续会出)!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度解析LSTM神经网络的设计原理

引人入胜的开篇:想要搞清楚LSTM中的每个公式的每个细节为什么是这样子设计吗?想知道simple RNN是如何一步步的走向了LSTM吗?觉得LSTM的工作机制看不透?恭喜你打开了正确的文章! 前方核弹级高能预警!本文信息…

Step-by-step to LSTM: 解析LSTM神经网络设计原理

Ps:喂喂喂,你萌不要光收藏不点赞呀_(:з」∠)_emmmm... 搞清楚LSTM中的每个公式的每个细节为什么是这样子设计吗?想知道simple RNN是如何一步步的走向了LSTM吗?觉得LSTM的工作机制看不透?恭喜你打开了正确的文章&#…

【论文翻译】用知识图谱的多任务特征学习来增强推荐

Wang H, Zhang F, Zhao M, et al. Multi-task feature learning for knowledge graph enhanced recommendation[C]//The World Wide Web Conference. 2019: 2000-2010. 原文链接:https://arxiv.org/pdf/1901.08907.pdf 代码实现:https://github.com/hwwa…

LeetCode-二叉树算法总结-层次遍历,路径总和等

版权声明&#xff1a;本文为博主原创文章&#xff0c;欢迎转载&#xff0c;但请注明出处&#xff0c;谢谢愿意分享知识的你~~ https://blog.csdn.net/qq_32690999/article/details/80484440 </div><link rel"stylesheet" href"https://csdnimg.…

记录一次闲鱼维权事件

-----2017.11.16 最后一次更新----- 小夕也真的没有想到&#xff0c;在万般绝望之时竟然得到了这么多人的帮助。在本文发出后&#xff0c;多位阿里人员积极联系我了解了情况&#xff0c;很感激一位阿里的专家帮我将此事递交给相关部门&#xff0c;让专业的客服直接受理和重审此…

百度作业帮-产品分析

一、商业模式分析 1.1、问答时期&#xff08;2014年2月-2015年1月&#xff09; 商业模式之作业帮V1.0.png两点值得注意&#xff1a; 作业帮的出现有明显的历史原因&#xff0c;即由百度知道团队出品&#xff0c;因此切入K12教育初期&#xff0c;采取的是之前的问答模式&#xf…

【Python自然语言处理】中文分词技术——统计分词

中文分词方法 本文参考自书籍《Python自然语言处理实战&#xff1a;核心技术与算法》 用做个人的学习笔记和分享 1. 规则分词 规则分词的详细笔记 2. 统计分词 2.1 一般步骤 建立统计语言模型。句子划分为单词&#xff0c;对划分结果进行概率分析&#xff0c;获得概率最大的…

你的模型真的陷入局部最优点了吗?

小夕曾经收到过一个提问&#xff1a;“小夕&#xff0c;我的模型总是在前几次迭代后很快收敛了&#xff0c;陷入到了一个局部最优点&#xff0c;怎么也跳不出来&#xff0c;怎么办&#xff1f;”本文不是单纯对这个问题的回答&#xff0c;不是罗列工程tricks&#xff0c;而是希…

如何与深度学习服务器优雅的交互?(长期更新)

0. 故事序言 如果有人问小夕&#xff1a;"小夕&#xff0c;要是人工智能的就业岗位一夜之间消失了&#xff0c;你会去转行做什么呢&#xff1f;" 答曰&#xff1a;"当然是去做Linux运维啊23333" 小夕有一台自己负责的GPU服务器&#xff0c;她可让小夕操碎了…

风控模型师面试准备--技术篇(逻辑回归、决策树、集成学习)

原文地址&#xff1a;https://zhuanlan.zhihu.com/p/56175215 编辑于2019-02-12&#xff0c;持续更新中&#xff0c;有风控建模工作经验的&#xff0c;或者想转行风控建模的小伙伴可以互相交流下... 一.算法 逻辑回归决策树集成学习&#xff08;随机森林&#xff0c;Adaboost&…

step-by-step: 夕小瑶版神经网络调参指南(上)

距离上一篇文章已经过去好久好久好久啦。闭关几个月后&#xff0c;其实早有继续码文章的打算&#xff0c;先后写了一下核函数与神经网络的一些思考、文本预处理tricks、不均衡文本分类问题、多标签分类问题、tensorflow常用tricks、噪声对比估算与负采样等文章&#xff0c;结果…

谷歌发布端到端AI平台,还有用于视频和表格的AutoML、文档理解API等多款工具

谷歌又有了大动作。在大洋彼岸的谷歌Cloud Next conference大会上&#xff0c;谷歌一口气发布了多款AI新品和工具&#xff0c;主要包括&#xff1a; 端到端的AI平台 用于处理视频和表格数据的AutoML Tables和AutoML Video 文档理解API 联络中心AI 视觉产品搜索 对于开发者…

跨性别,你所不知道的事

今晚原计划在订阅号里推送南溪妹子前几天录制的跨性别科普视频&#xff0c;没想到今天收到南溪的私信&#xff0c;说不做科普了&#xff0c;还是算了吧。急忙去了解了一下原因 (http://www.zhihu.com/pin/963101597957644288) &#xff0c;才知道南溪因这段视频所遭受的无故攻击…

文本分类问题不需要ResNet?小夕解析DPCNN设计原理(上)

历史回顾回顾一下图像和文本的发展史&#xff0c;似乎这就是一场你追我赶的游戏。在上一阶段的斗争中&#xff0c;朴素贝叶斯、最大熵、条件随机场这些理论完备的统计机器学习模型使得文本分类、中文分词、NER等诸多自然语言处理问题取得了差强人意&#xff08;释义&#xff1a…

【Tensorflow】TensorFlow的嵌入layer和多层layer

计算图中的操作 # python 3.6 import tensorflow as tf import numpy as npsess tf.Session()# 将张量和占位符对象组成一个计算图&#xff0c;创建一个简单的分类器# 一、计算图中的操作 # 1. 声明张量和占位符&#xff0c;创建numpy数组&#xff0c;传入计算图操作 x_vals …

文本分类问题不需要ResNet?小夕解析DPCNN设计原理(下)

哎呀呀&#xff0c;说好的不拖稿的又拖了两天T_T&#xff0c;小夕过一阵子分享给你们这两天的开心事哦。后台催稿调参系列的小伙伴们不要急&#xff0c;下一篇就是第二篇调参文啦。好啦&#xff0c;接着上一篇文章&#xff0c;直接搬来DPCNN、ShallowCNN、ResNet的对比图。从图…

注意力机制-深度学习中的注意力机制+注意力机制在自然语言处理中的应用

1 深度学习中的注意力机制 https://mp.weixin.qq.com/s?__bizMzA4Mzc0NjkwNA&mid2650783542&idx1&sn3846652d54d48e315e31b59507e34e9e&chksm87fad601b08d5f17f41b27bb21829ed2c2e511cf2049ba6f5c7244c6e4e1bd7144715faa8f67&mpshare1&scene1&src…

【TensorFlow】常用的损失函数及其TensorFlow实现

1 损失函数 定义&#xff1a;将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。 应用&#xff1a;作为学习准则与优化问题相联系&#xff0c;即通过最小化损失函数求解和评估模型。 分类&#xff1a;回归问题、分类问题 2 回归问…

从经典文本分类模型TextCNN到深度模型DPCNN

如今深度学习已经成为NLP领域的标配技术&#xff0c;在图像中大为成功的卷积神经网络&#xff08;CNN&#xff09;也开始广泛渗透到文本分类、机器翻译、机器阅读等NLP任务中。但是&#xff0c;在ACL2017以前&#xff0c;word-level的文本分类模型&#xff08;以单词为语义单位…

从特征分解到协方差矩阵:详细剖析和实现PCA算法

从特征分解到协方差矩阵&#xff1a;详细剖析和实现PCA算法本文先简要明了地介绍了特征向量和其与矩阵的关系&#xff0c;然后再以其为基础解释协方差矩阵和主成分分析法的基本概念&#xff0c;最后我们结合协方差矩阵和主成分分析法实现数据降维。本文不仅仅是从理论上阐述各种…