Yuanyuan Li 作者H4O编辑

NeurIPS 2018提前看:可视化神经网络泛化能力

作者 Yuanyuan Li:几次转行,本科国际贸易,研究生转向统计,毕业后留在比利时,选择从事农用机械研发工作,主要负责图像处理,实现计算机视觉算法的落地。欣赏一切简单、优雅但有效地算法,试图在深度学习的簇拥者和怀疑者之间找到一个平衡。我追求生活的宽度,这也是为什么在工作之外,我也是机器之心的一名技术分析师。希望在这里和大家分享自己对于技术的理解,通过思想的碰撞拓宽思路和眼界。

机器之心个人主页:https://www.jiqizhixin.com/users/a761197d-cdb9-4c9a-aa48-7a13fcb71f83

1. 介绍

选文理由:从统计理论转向人工智能,过去的教育经历让我十分关注深度学习背后的理论支持。相对学界在研究中的大胆探索,工业界一般是更保守的,注重模型的可解释性。特别是在大型机械的研发过程中,每一个部件的可控性都非常重要,假如算法在不可预料的情况下出现问题,就有可能对作业结果造成影响,甚至造成事故。这样的损失往往又是以百万计的。

因此,在我和团队的工作过程中,模型的训练结果虽然重要,但更重要的往往是理解模型的结果为何是这样的, 以便有针对性的对模型测试和明确改进方向。另一方面,产品研发是团队工作,具有不同背景的人在一起工作时,优秀的可视化结果能够更直白的说明观点、提高工作效率。

简而言之,揭示模型表现及其原因的研究,如参数对模型的影响或模型的可视化,是我比较关注的方向。今年 NeurIPS 收到和接收的论文达到了惊人的数量,势必对于参会的学者造成了一定困扰,即如何有针对性地选择相关论文。在目前发布的神经网络的论文之中,有不少研究将目光转向了对模型稳健性的探索,如参数设置或模型结构对神经网络损失函数的空间分布的影响。

这类研究对于我们理解神经网络黑箱模型背后到底发生了什么有很大的帮助,也是我今天想要讨论的方向。目前 NeurIPS 官网目前放出的论文仅有标题和摘要,许多还没有发布在网上,因此我选取了三篇在网上已经在 ArXiv 上有预印版的文章进行讨论。
2. 论文讨论

1. Visualizing the loss landscape of neural nets

  • 链接:https://arxiv.org/abs/1712.09913

  • 作者个人主页:https://www.cs.umd.edu/~haoli/

作者 Hao Li 在马里兰大学取得了博士学位,他的研究方向主要是为高性能和资源受限的系统设计高效且可扩展的机器学习算法。目前 Hao Li 已经进入 Amazon Web Services (AWS) 工作。

这是我想讨论的第一篇论文,主要是因为它提供了一个比较概括性的对神经网络可视化研究。作者主要想研究几个问题:

  1. 不同的神经网络结构如何影响损失函数的分布(Landscape)。这里作者主要对比了 ResNet 和无快捷连接(shortcut connection)的 ResNet(即模型的结构比较像 VGG 这种经典神经网络结构),其中每个模型又有 20、56、110 层 layer 的不同情况。

  2. 损失函数的分布由于神经网络的结构而发生了改变,不同的损失函数分布又是如何影响模型的可训练性、稳健性。

作者首先对使用线性插值法(Linear interpolation)的可视化方法进行了抨击,认为该方法存在几个缺点。首先,1D 图很难显示非凸性;其次,该方法不考虑批量归一化或网络中的不变对称性。作者在这里提出的方法叫做 Filter Normalization,并用这一方法对上面的问题进行了研究。文章中展示的可视化结果非常清晰,如下图所示:

图 1:有无 shortcut connection 的损失函数曲面可视化对比。[图片来源:Hao, L. et al. (2018). Visualizing the loss landscape of neural nets. NIPS.]

上图中的对比很强烈——当神经网络比较浅时,不使用快捷连接(shortcut connection)对于损失分布的影响还不算大,即上图中的(a)和(d)图。当网络达到了 56 层的深度时,无快捷连接(shortcut connection)的模型的等高线图中显示的损失函数基本是混乱的(图(e))。特别是在一些区域中,沿着梯度的方向运动并不能达到损失更小的区域。

这显然是很危险的,意味着梯度下降方法的效率被大大损害了;同时也从另一方面解释了模型的训练性,即为何有些模型的训练更容易,或者对于同一模型为何参数的取值不同会对模型表现造成巨大影响。假如模型初始化后落入了一个高度非凸的区域中,在整个训练过程中算法可能都无法找到一个比较好的解,因为梯度所指向的方向根本毫无意义。上图第三栏中,ResNet-110-noshort 显示了更极端的非凸性,不管向哪一个方向移动梯度都非常大。

我们特别需要注意的是在上图第一行中——即有快捷连接(shortcut connection)的 ResNet——即使模型的深度大大增加,中心的极小值的深度也并没有增加多少,即模型收敛的区域仍然是相对平坦的。而第二行中当我们去掉了 ResNet 的快捷连接(shortcut connection)时,图像中心紫线所代表的极小值的深度大大增加了。这样一个最直接的影响——上文已经提到——就是训练难度增加了。

另一个比较有意思的发现在于,当神经网络的宽度增加——即每层的神经元个数增加——损失函数的曲面也变得更平滑了,见图 2。这里作者使用了 RestNet 56 层的结构,仍然是第一行有快捷连接(shortcut connection),第二行无。其中每个子图下面的 k 表示隐藏神经元的倍数,即 k=2 为模型的宽度是 k=1 的模型的二倍。旁边的百分比数字表示模型的错误率。

图 2:有无 shortcut connection 和不同宽度的神经网络损失函数曲面可视化对比。[图片来源:Hao, L. et al. (2018). Visualizing the loss landscape of neural nets. NIPS.]

我们首先从上到下两两对比地讨论这些结果,可以看到有快捷连接(shortcut connection)总是比无快捷连接(shortcut connection)的损失函数曲面更平滑一些,极小值的位置也更浅。不过更重要的是当我们从左到右的进行分析时——随着模型宽度的增加,模型的损失曲面显著地变得更平缓了,也就是更浅了。

对于没有快捷连接(shortcut connection)的模型来说,增加模型宽度也许不能直接解决损失函数的分布中存在梯度混乱的问题,图(f)的四角都可以看到有很不平滑的等高线,但由于曲面变得更浅,我们可以侧面缓解这个问题。

考虑到此前的许多研究都强调神经网络的深度的重要性,而在这里我们却得出更宽的神经网络损失函数曲面更优秀,也许我们应该创建更深更宽的巨型神经网络

这里作者只是指出了模型的错误率是随着模型的宽度而降低,随着无快捷连接(shortcut connection)而增加,并没有解释损失函数的曲面是如何影响到模型的稳健性。不过在下一篇文章中,我们将会看到对这方面的分析。

对这篇文章的解读就到这里,我们可以看到虽然本文使用的 filter normalization 还是大量借鉴了目前的 2d 可视化方法,创新性有限,但文中给出的可视化非常直观、清晰,得出的结论直接,很好的完成了文章的主题。另一个亮点在于文章倒数第二部分对我们所观察到的凸性进行了验证,十分严谨。

笔者认为文章的不足在于试图表达的内容太多,在一个版块中试图完成从实验设计、模型结构比较、模型宽度比较、模型初始化讨论、凸性验证等的分析,反而显得内容拥挤,有些结论给的并不清晰,好在作者的叙述是十分易懂的。此外,笔者对 Inception 模型没有被纳入分析感到一点遗憾,毕竟这是目前最受欢迎的神经网络之一,笔者认为比 ResNet 使用的更多。

我们还需要注意,由于对神经网络的可视化必须经过降维处理,而这过程中是有丢失重要信息的风险的,因此,对于依此进行的分析和得出的结论应该始终保持一定的怀疑精神。

目前本文的代码已经公布在 github(https://github.com/tomgoldstein/loss-landscape),有兴趣的读者可以复现一下结果。

2. Hessian-based Analysis of Large Batch Training and Robustness to Adversaries

  • 链接:https://arxiv.org/pdf/1802.08241 

  • 作者个人主页:http://amirgholami.org/ 

本文共同一作中 Zhewei Yao 的个人主页没有找到, Amir Gholami 是在伯克利 BAIR 实验室工作的一名博士后,于 UT Austin 获得博士学位,他的博士研究论文被评为 2018 年 UT Austin 最佳博士论文。他同时还获得 SC'17 最佳学生论文奖,ACM 学生研究比赛金奖,以及入围 SC'14 最佳学生论文决赛。Amir Gholami 目前的研究包括神经网络的大规模训练,随机二阶方法和稳健优化。

本文致力于探讨表征神经网络在优化空间中不同点的泛化性能,主要针对不同批量大小的情形。我们在此前的实证研究中都看到大量结果显示使用小批量训练的神经网络的稳健性更好,大批量训练的神经网络更容易泛化失败。这一点从直觉上有些难以理解,因为使用大批量训练参数更新的更加不频繁,而且估计的梯度应该更加平滑和准确。

作者开门见山,在开篇即表述了本文想回答的问题以及他们的回答:

  • 大批量训练与小批量训练有何不同?并且使用不同的批量大小,模型收敛的邻域的局部几何之间有什么区别?

回答这个问题的方法是利用反向传播二阶导数来计算真正的 Hessian 谱(hessian spectrum),避免对 Hessian 谱的估计造成的误差。结果显示,此前人们普遍相信的鞍点困扰优化的论据其实并不存在在大批量训练过程中,真正的原因是大批量训练的模型会逐渐收敛于具有更大的谱的区域。

由于计算 Hessian 谱 所涉及到的计算量是巨大的,作者使用了 toy dataset CIFAR-10,MNIST 和 CIFAR-100,所使用的模型也比较简单。下表给出了模型缩写和对应的模型结构,之后的对比分析主要是针对 C1 和 M1 进行的。

表1:模型定义和结构

图 3:在 CIFAR-10 上训练的 C1 的模型(左)和在 MNIST 数据集上训练的模型 M1(右)的 Hessian 的前 20 个特征值。[图片来源:YAO, Z.; GHOLAMI, A.; LEI, Q.; KEUTZER, K.; MAHONEY, M. W. (2018). Hessian-based Analysis of Large Batch Training and Robustness to Adversaries. NIPS.]

图 3 给出了作者计算出的 Hessian 的 20 个最大的特征值。hessian 是迭代计算的,直到每个特征值的相对误差小于 1e-4。图上显示的趋势很清楚,不管是左图内还是右图内,不同颜色的特征值曲线几乎是平行的,即随着批量大小的增加,hessian 的谱也随之增加,大批量训练的顶部特征值比小批量训练的顶部特征值相对较大。从较早的 Hochreiter 和 Schmidhuber 等人的论文《FLAT MINIMA》到最近的 Chaudhari《Entropy-SGD: Biasing Gradient Descent Into Wide Valleys》和 Keskar《On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima》,我们知道,模型如果收敛到一个比较尖锐的极小值——或者如我们在前一篇文章中看到的,更深的极小值——模型会缺乏泛化能力。

而模型收敛解的锐度就可以由 hessian 的谱得出,这一点从 hessian 的定义就能够明白。因此,我们在上图看到的随着批量增大而增大的 hessian 谱在一定程度上解释了为什么大批量训练的模型泛化能力更差:因为训练处的模型收敛到了更尖锐的解。这一点与我们在上一篇文章中观察到的现象相符合,即当等高线图显示模型的极小值更深,其对应的误差率往往也越高。

当然,Neyshabur 等人的文章《Exploring Generalization in Deep Learning》也指出,锐度本身可能并不足以决定泛化能力,即锐度并不是影响泛化能力的唯一原因。因此,研究损失函数在模型收敛点附近的邻域中的行为将会提供更多信息。

这也是作者在本篇文章中所做的研究,他们绘制了当模型参数沿主导特征向量扰动时损失如何变化。

图 4:对 C1 模型沿着 Hessian 的主要特征向量 v1 进行扰动时损失的变化(log-scale)。[图片来源:YAO, Z.; GHOLAMI, A.; LEI, Q.; KEUTZER, K.; MAHONEY, M. W. (2018). Hessian-based Analysis of Large Batch Training and Robustness to Adversaries. NIPS.]

这里 epsilon 是一个标量,它扰乱了由 v1 表示的主要特征向量的模型参数,其数值表示扰动的程度。我们首先可以看到随着批量的增加,训练损失和测试损失的曲度都开始增加,更重要的是,当批量增加,测试损失的曲率开始远大于训练。这代表了训练中的不一致性,因此即便大批量模型训练的损失很小,其在测试集上的损失仍然会很大。

文章提出并解答的第二个问题是:

  • 稳健优化(robust optimization)和大批量培训之间的联系是什么?同样,批量大小如何影响模型对敌对扰动(adversarial perturbation)的稳健性?

也即是说文章的研究重心从批量大小与模型一般意义下泛化能力的关系,转移到了批量大小与面对敌对攻击时的稳健性的关系。作者的实验结果显示与小批量训练的模型相比,以大批量训练的模型明显更容易败于对抗性攻击。

图 5:在训练期间,hessian 的主要特征值的变化和总梯度。[图片来源:YAO, Z.; GHOLAMI, A.; LEI, Q.; KEUTZER, K.; MAHONEY, M. W. (2018). Hessian-based Analysis of Large Batch Training and Robustness to Adversaries. NIPS.]

我们可以看到随着批量的增加,蓝色曲线所代表的主要特征值是被吸引到了更大的值去的。特别值得注意的是,总梯度值和 Hessian 谱表明大批量不会在鞍点处「卡住」,但是它会在求解过程中被高曲率的区域所吸引。作者还对使用稳健优化(robust optimization)训练方法的模型进行了可视化,证明对抗性训练可以导致模型收敛到 Hessian 谱较小的区域。

至于为什么此前许多学者认为锐度本身不能决定模型泛化能力而我们却在这里看到锐度对模型的泛化能力有如此大的影响?作者在下文中有提到他们并没有证明 hessian 谱与模型的稳健性是有直接联系的,笔者认为这两者并不矛盾,假如 hessian 谱与模型泛化能力有联系并且作者同样进行了对解的尺度(如 norm、margin)的测试分析,我们也许会发现对模型更强的影响。

这里由于没有对比研究,我们并不能得出任何这方面的结论。并且本文主要是在 MNIST 等简单的数据集上使用简单的神经网络结构进行分析的,也许其他可能的影响相对更稳健,不容易遭到扰动。假如 hessian 谱与模型泛化能力实际上是没有直接关系的——在许多情况下应该就是这样的——对于我们观察到的这种相关现象,作者认为一个可能的解释是大批量训练的模型得到的决策边界不太稳定,因此对于小的对抗扰动,模型会被愚弄。但是这种现象的原因本质上是不确定的,这也许会成为一个新的研究方向。

本篇文章相对来说更晦涩一点,一方面因为这篇文章计算的内容很多,另一方面是因为图表的位置和其附近的文字关联不大,读者往往需要前后翻找,有些混乱。但这篇文章仍然是非常值得一读的,内容翔实、严谨。文章主要计算的是 hessian spectrum,由于这个涉及到二阶导数的计算,在实际应用中应该比较难以借鉴,我们主要是参考作者所传递的观点。

3. Interpreting neural network judgments via minimal, stable, and symbolic corrections

  • 链接:https://arxiv.org/abs/1802.07384

  • 作者个人主页:http://people.csail.mit.edu/xzhang/

  • 作者 Xin Zhang,麻省理工学院 CSAIL 组的博士后研究员。Xin Zhang 在 Georgia Tech 取得了博士学位。他的研究主要与编程语言和软件工程相关。

本篇文章也跟神经网络可视化有关,不过却是从另一个角度:对一个简单二分类问题来说,如果分类结果是 0,那么我们对输入数据做什么修改,可以让其分类结果变为 1?这不禁让人想到神经网络可视化中,maximize activation 的做法。这篇文章中比较新颖的地方是对这种修改进行的限定,即文章题目中的 minimal,stable,symbolic。

  1. Minimal 要求修改后的输入数据与原输入数据尽可能的相似,作者借鉴了正则化手段,通过定义一个 L1 范数δ来衡量两次输入之间的距离就可以简单的达到这个目的。这个条件显然是符合直觉的——我们希望对原数据进行尽可能少的修改就达到一个满意的结果。

  2. Stable 则是通过一个参数 e 来定义的。Stable 的主要目的是保证所提出的修改是有一定自由度的,只要修改后的输入数据是在这附近,都应该能够达到改变分类结果的效果。作者定义其为,假如对任意δ小于 e 的输入,都能保证其分类结果为 1,则称δ是 e-stable 的。

  3. 这两个定义又可以从单个输入数据自然的扩展到一片输入空间,从而符合 symbolic 的定义。三个条件的定义环环相扣,设计的十分巧妙。

文章给出了几个实验结果,见图 6,红叉表示原始预测结果,蓝色三角形表示符号校正(即,该区域内的所有点都能够改变分类结果)。图 6(a)是针对预测申请人能否获得贷款的预测问题,算法生成了一系列符号校正,或者说一种关系,来建议对 DTI 和利率的修改。

图 6(b)针对预测是否可以通过基于实例的静态和动态特性的求解器有效地求解一阶定理的问题。这里给出的建议非常直观:要么减小问题大小(通过减少平均子句长度)或提供部分解决方案(通过添加单元子句)来减小问题的复杂性。最后,图 6(c)显示了如何将线条添加到图形中,以便网络将其识别为规范的猫图。红线表示原始输入,蓝色框表示符号校正,绿线表示其中的一个具体校正。

前两个例子仅涉及到 2 个特征,第三个例子设计到 8 个特征(每个顶点的坐标),并且属于计算机视觉的问题,虽然这个任务仍然属于尝试性实验(toy experiments),但展现了算法应用于高维校正的一定可能性。

图 6:对不同的问题所生成的符号解释。[图片来源:Zhang, X.; Solar-Lezama, A.; Singh, R. (2018). Interpreting Neural Network Judgments via Minimal, Stable, and Symbolic Corrections. NIPS.]

本文随后的大部分研究主要集中在计算算法,从结果来看,该算法的复杂度大致是线性的,运算速度比较快。笔者认为几个相对难以实现的设计在于:

  1. 可以修改的特征需要预先确定,对于图像数据来说,这一点比较困难。但将所有的特征都设定为可以修改又不现实,我们也许甚至不能得到合理的图像或过于复杂过于难以理解的修改法则。

  2. 当训练数据很少或者不同类别之间重合很严重时,e-stable 的条件可能很难满足。即每个 cluster 的规模可能都很小。

  3. 算法主要针对的是对决策边界的探索,回归模型显然是不满足这一点的。当然提出这一点未免有些吹毛求疵。

本篇文章的创新性很强,十分值得一读,如果能够在复杂的应用上表现良好,笔者认为在工业界落地的可能性很强。主要是因为对于工业产品来讲,产品设计的目的都是更好的性能表现,并且更改产品参数并不困难。举例来说,假如神经网络被用于预测一个水站的供水效率,我们总是能够准确的预测下午五点水站供水不足,从准确率来讲神经网络的表现是优秀的,但从产品角度来讲这样一个模型并不能帮助我们改进供水效率。假如我们知道在下午五点水站供水不足,并且如果增加压强我们能够达到满意的供水效率,那么这个产品显然是更成功的。

3. 小结

总的来说,随着学界对神经网络的研究,我们似乎越来越能够理解神经网络的工作原理。以上三篇文章虽然都没有提出任何确定性结论,但至少给出了我们在设计神经网络时能够改进的方向。使用 shortcut connection,使用 robust training,在训练完成后生成一系列可以改变分类结果的修改规则来理解生成的决策边界,似乎是我们可以从以上三篇文章中借鉴的做法。

但回头想想,作为一个从业者,利用自己所掌握的先验知识来尽可能地简化问题,然后用一个简单的神经网络来解决它,是不是也是一种思路?至少在业界,许多问题是基于特定领域的,我们也不可能获取像 ImageNet 那样规模的数据来训练大规模的神经网络;但同时也是在业界,对神经网络的期待是无需对原始数据进行任何处理或只进行尽可能少的处理,就能够解决问题。这当然也是合理的——对专家知识(expert knowledge)的依赖不应过度——但或许我们也可以反思一下,在这两者之间寻找一个平衡。

NeurIPS 提前看
NeurIPS 提前看

每年一度的NeurIPS是神经网络研究者的盛会,汇聚数以千计的论文,呈现思维碰撞的火花。机器之心技术分析师用独特的视角带你提前预览这一场盛会的亮点和重点,在各路奇思妙想中给你亮一盏明灯。

理论NIPS 2018损失函数可视化
131
相关数据
亚马逊机构

亚马逊(英语:Amazon.com Inc.,NASDAQ:AMZN)是一家总部位于美国西雅图的跨国电子商务企业,业务起始于线上书店,不久之后商品走向多元化。目前是全球最大的互联网线上零售商之一,也是美国《财富》杂志2016年评选的全球最大500家公司的排行榜中的第44名。

https://www.amazon.com/
相关技术
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

决策边界技术

在具有两类的统计分类问题中,决策边界或决策曲面是一个超曲面,它将底层的向量空间分成两组,每组一个。分类器会将决策边界一侧的所有点分为属于一个类,而另一侧属于另一个类。也即二元分类或多类别分类问题中,模型学到的类别之间的分界线。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

规范化技术

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

降维技术

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

原来是鲁汶的校友啊,文章很不错的