Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

蒋思源 李亚洲参与

技术讲解概率机器学习——深度学习革命之后 AI 道路

概率理论为理解学习,建立合理的智能系统提供了数学框架。在此演讲中,Uber 首席科学家、剑桥大学教授 Zoubin Ghahramani 回顾了概率学 AI 领域的基础,然后重点介绍了该领域的研究前沿,涉及到了贝叶斯深度学习、概率编程、贝叶斯优化、数据科学中的 AI 等主题。他认为,在深度学习革命之后,下一个前进的方向会是概率机器学习。

Zoubin Ghahramani 是英国皇家学会会士,剑桥大学信息工程系教授,Uber 首席科学家,英国国家数据科学研究所图灵研究所剑桥主任。Zoubin Ghahramani 教授曾工作或学习于宾夕法尼亚大学、MIT、多伦多大学、伦敦大学学院盖茨比组、卡耐基梅隆大学。他的研究聚焦于机器学习 / 人工智能概率方法,在这些主题上已经发表了超过 250 篇论文。他曾是 Geometric Intelligence(被 Uber 收购,成为了 Uber AI Labs)的联合创始人,指导众多人工智能与机器学习公司。2015 年,因其对机器学习的贡献,被选为英国皇家学会会士。

如今人工智能与机器学习的发展令人振奋。这几年,我们在游戏中取得了各种突破,例如玩 Atari 游戏、围棋、扑克。更重要的是,如今这个时代对应用机器学习与人工智能非常感兴趣,例如语音识别计算机视觉推荐系统自动驾驶等。

当我们思考人工智能时,会想到我们当前处于什么状态?离我们想要的人工智能还有多远?我们是否有解决未来挑战的理论基础?为了解决赋有挑战性的 AI 任务,我们需要关于感知、学习、推理与决策的理论。这也是我们建立 AI 系统的方式。

深度学习的火热与缺陷

如今深度学习是最为最为火热的学习方法。很多人,特别是刚进入 AI 领域不久的人会认为深度学习可以解决所有问题,是建立智能系统的有力工具。所以,什么是深度学习系统?

深度学习就是神经网络,而神经网络是带有许多参数的可调非线性函数。上图中,参数θ是神经网络权重神经网络是特别有趣的函数,因为输入 x 和参数θ都是非线性的。现在神经网络所做的是,通过一个函数组合从输入 x 到输出 y 表示这一函数,也就是神经网络中的层。总结来说,神经网络的核心是非线性函数 + 基础统计 + 基础优化。

深度学习可以说是神经网络的重新包装。现代深度学习系统非常类似于 80 、90 年代流行的神经网络模型,也有一些重要的变化:

1. 新的架构与算法上的创新(例如多层网络、ReLU、dropput、LSTM 等);

2. 非常重要的是我们当前有非常大的数据集;

3. 非常大规模的计算资源(GPU、云);

4. 更好的软件工具(Theano、Torch、TensorFlow),更方便的建立神经网络

5. 还有产业越来越大的投资也媒体关注;

以上使得越来越多的人进入到 AI 领域,发展也越来越快。因此,深度学习领域可以说去的了非常大的发展,也对人工智能非常重要。

深度学习系统也有缺陷。虽然这些系统在许多基准任务上有非常好的表现,但它们也有缺陷:

1. 需要大量数据,例如总需要数百万的样本(data hungry);

2. 需要大量计算资源来训练以及部署深度学习系统;

3. 表征不确定性的能力极差;

4. 融合先验知识与符号表征对深度学习非常重要,这也是许多人在研究的;

5. 易受对抗样本的影响;

6. 过于繁琐的优化:非凸的,找到最好的架构选择,学习流程,初始化等;

7. 深度学习是难以解释的黑箱,缺乏透明度,难以令人信任,使得深度学习难以部署到一些非常重要的任务上。

这些事深度学习的挑战,也是研究员们想要战胜的难题。

模型的概率视角

尽管深度学习非常流行,但接下来我们需要考虑的是机器学习下一步的发展是什么。因此,我们需要将机器学习视为概率建模问题。在机器学习中,模型表述了从某个系统中能观察到的所有数据,也就是说模型不仅可以描述所有我们收集到的某种数据,同时它还能描述那些没收集到的同类数据。

概率是推理不确定性的数学,正如微积分是推理变化率的数学。概率语言模型能够捕捉复杂的推理,发现未知,无需监督即可揭开数据的结构。并且,概率可使得专家通过先验信念的形式把知识注入到 AI 系统。

如果当我们对世界的某种数据建模时,我们需要预测那些没观察到的数据以及它们之间的不确定性,因此我们可以使用数学中概率论描述这种不确定性并完成「模型」的构建。

在使用概率论描述模型中的不确定性后,贝叶斯概率能允许我们推断未知量,并调整模型以从数据中学习。Zoubin Ghahramani FRS 表示机器学习中的很多问题都能归结到这一个贝叶斯框架内,或者至少需要归结到这一框架。

为了进一步解释贝叶斯推断,Zoubin 进一步解释了贝叶斯法则。简单而言,贝叶斯法则可以描述为「执果索因」,即知道某个事件发生了后,求得该事件最可能是在什么情况下发生的。在 ML 中,贝叶斯法则会告诉我们如何更新对未知世界或假设(hypothesis)的知识与信念,且更新假设或信念的信息从我们已知的观察或数据(data)中获取。

如下所示若需要在给定数据的条件下判断假设存在的可能性,我们只需要根据该贝叶斯法则就能求出。

在贝叶斯法法则中,总体数据是未知的,也就是说我们需要使用概率分布表征这种不确定性。在观察到数据之前,我们有先验概率 P(hypothesis),它表示我们事先认为任意一个假设及其所出现的概率。此外,对于任意一个假设,我们需要评估根据它能观察到数据的概率,即 P(data|hypothesis)。这与似然度非常相似,当我们乘上这两个概率项,并通过除上所有可能的假设来做归一化,我们就可以得到后验概率 P(hypothesis|data)。

这是一种通用的法则来根据数据更新我们对假设的信念,这一个法则同样告诉我们该如何执行学习过程。学习其实就是将先验知识迁移到后验知识,如果我们获得更多的数据,那么仅仅只是反复对当前的状态应用这一个法则以更新获得新的后验知识。

若将基本贝叶斯法则应用到机器学习中,我们就可以得到以下三个非常基础的方程,即学习、预测和模型对比。此外,值得注意的是,贝叶斯法则并不是最基本的公理,它是由由概率的加法原则与乘法原则组合而成。

其中学习即给定数据与模型预测最可能的参数θ,这样在确定了参数θ后就能确定整个模型,学习后的系统也就确定了。为了计算后验概率 P(θ|D, m),根据贝叶斯法则需要使用θ的先验概率 P(θ|m) 和似然度 P(D|θ, m)。预测即在给定数据 D 和模型 m 的情况下预测出现样本 x 的概率,它可以用一个积分或数学期望表示。

你可能会想,当前深度学习如此成功,基本上任何复杂任务都只需要套入这种端到端的方法就能取得不错的效果,那么我们还需要概率与贝叶斯法则吗?还是说贝叶斯法则只是 18 世纪的老旧研究而跟不上当前 21 世纪的深度方法?Zoubin 非常推崇为任务与模型引入概率,它展示了以下一些原因来说明为什么概率对于机器学习非常重要。

首先我们希望系统能校准模型与预测不确定性,因为我们希望系统明确地知道它到底不知道什么。例如在自动驾驶中,当系统遇到了和以前都不一样或者不合理的场景,我们希望系统能给出回答表示它不知道怎么处理,而不是如同当前深度模型那样给出一个错误的回答。此外,概率框架同样允许我们实现非常优雅的模型复杂度控制或者结构搜索。这表明基于贝叶斯概率,我们都不再需要正则化或其它防止过拟合的方法,因为它能自动调整和控制模型复杂度。

对于 AI 来说,我们希望构建的系统能执行合理的决策。这表明我们希望系统能通过连贯的方式根据数据更新信念,并且根据效用论最大化效用来做出合理与理性的决策。同样,我们需要将先验知识嵌入到学习系统中,并且随着我们获得越来越多的数据,先验知识应该以连续和鲁棒的方式得到更新。

此外,对于 AI 系统来说非常重要的就是基于小数据集进行训练与推断。在实际生活中,很多任务都只有非常少量的数据,深度学习明显并不能解决这样的问题,因为模型复杂度过高或过低分别会导致过拟合或性能不佳等问题。贝叶斯概率能利用先验知识,从而只需要更少的数据就能推断出合理的决策。

下面 Zoubin 具体介绍了一些将概率引入到 AI 所需要的概率论基础,首先即如何表征 AI 系统中的信念。我们希望以数值的方式表示智能体某个信念的强度,也希望能使用某些数学运算对这些信念做一些操作。

若使用 b(x) 表征命题 x 中的信念强度,那么它的取值应该在 0 到 1 之间,且只有在系统完全确信 x 会发生或完全不确信才能取到 1 和 0。此外,b(x|y) 表示在给定 y 可能会出现的信念下,x 会发生的信念强度。早在 1946 年,Cox Axioms 就写下了一些如何表示信念的定理。如上所示信念的强度应该由一个实数表示,信念应该与常识具有定性的一致性等等。此外,信念函数还应该满足概率定理,包括概率加法、乘法和贝叶斯法则。

Zoubin 表示信念函数并不是表示传统概率论中重复实验与频率等的不确定性,它仅仅表示信念的强度,这对于 AI 系统有非常重要的作用。为了说明这种重要性,他进一步从决策论与博弈论中引入一个观点以说明如何根据信念做更好的决策,即 Dutch Book 定理。

根据 Zoubin 在 UberAI 研究院的经历,他发现很多学习与智能过程都依赖于对不确定性的概率表示,例如车主供给与乘客需求关系的预测、对交通和城市的建模以及自动驾驶等。尽管 Uber 在处理这些问题时同样需要使用深度学习拟合适当的函数,但概率是构建能执行理性决策的智能体所必需的。

介绍了概率在机器学习中的重要性后,Zoubin 在后面重点讨论了他在这一领域的研究方向与成果。以下展示了他主要涉及的领域,且都以自动化机器学习为中心。之所以在机器学习前加上「自动化」,是应为他认为目前的机器学习并不是那么合理,它还能在很多地方变得更加高效与自动化。

贝叶斯深度学习

在这一个视频中,Zoubin 并不会介绍全部领域,他只会重点讨论三个方向,即贝叶斯深度学习、概率编程和自动化统计学。首先对于贝叶斯深度学习,他表示前面很多地方都将深度学习与贝叶斯统计立在对立面,但其实它们并不是对立的。深度学习旨在构建不同类型的模型,而贝叶斯推断旨在关注学习的方法,它们是可以相互结合的。

那么到底深度学习中的贝叶斯指的是什么呢?如果我们重新思考深度神经网络,一般的方法会根据损失函数更新模型的权重和偏置项,这也就表示参数上的不确定性。但我们应该同时解决结构上的不确定性,例如神经网络层级的结构或层级数等。目前结构上的不确定性比较难解决,但参数上的不确定性要好解决地多。

如下给定一个神经网络,其中 X、y 和θ分别为输入、输出和模型参数。如果从贝叶斯的角度观察该神经网络,那么先验概率 P(θ|α) 就是说在没有观察到数据之前,给定某些超参数α下神经网络参数θ可能是什么。后验概率 P(θ|α, D) 则表示在观察到数据后,给定某些超参数α下神经网络参数θ的分布应该是什么样的。

有趣的是,Radford Neal 在 1994 年表示如果从贝叶斯的角度观察带有单个隐藏层的神经网络,那么当该隐藏层的神经元数量可以无限增长,那么模型就会收敛到高斯过程,所有权重都会服从高斯分布。当时很多研究者对这一过程非常感兴趣,但是由于神经网络有非常多的局部极小值且很难优化,因此很多研究者转而关注能优雅使用凸优化支持向量机。同时,由于单个隐藏层需要无限的神经元才能近似高斯过程,那么我们为什么不直接使用高斯过程呢,这也是当时很多研究者的心声。

到了现在,Alexander 等研究者在 ICLR 2018 的论文中重新探讨了高斯过程与深度神经网络之间的关系。他们表示在广义条件下,随着我们神经网络架构越来越宽,隐含的随机函数会收敛为高斯过程,这也就是将 Neal 在 1994 年的研究成果扩展到了深度神经网络。研究者们严格证明了多层有限全连接网络最终能收敛到高斯过程,其中隐藏层的数量可以是定值,而隐藏层的单元数需要根据层级的增长严格地以不同的增长率增加。

如下 Zoubin 表示贝叶斯深度学习可以以多种方式实现,它们的关键计算问题是在参数上做贝叶斯推断,并在给定神经网络数据的情况下构建所有参数的概率分布。

如上早期的贝叶斯深度学习主要在于很多研究者并不希望研究神经网络。而自 2011 年以后,很多研究者重新开始关注神经网络中的推断过程,并尝试令贝叶斯推断更快与更简洁。在上图中,神经网络尝试在给定数据的情况下拟合一些参数,而当没有数据点的时候,神经网络那种点估计会出现很大的误差,因此贝叶斯神经网络一般在这种情况下能做得更好。

当然,近来也有将深度学习结合高斯过程的研究,例如 17 年 Bradshaw 等人提出的 GPDNN,它结合了深度神经网络与高斯过程良好的属性,并对于对抗样本有非常好的属性。对于 GPDNN 来说,当我们测试对抗样本时,它输出的最高熵类别概率对应于「don't know」。该网络知道什么时候给定的样本是系统无法判断的,因此 GPDNN 是一种更好的深度架构来表示未见过的潜在数据。

概率编程与自动化统计学

Zoubin 重点展示的第二个方向是概率编程,概率编程让用户可以将生成概率模型指定为程序(program),然后将这些模型「编译(compile)」为推理过程。概率模型本质上也是组合式的,而之前的大部分工作都集中在通过组合随机变量来构建丰富的概率程序上。

首先对于传统模型而言,概率性模型开发与推断算法的推导式非常耗时与容易出错的,因此我们可以借助概率编程语言将概率模型表述为能生成数据的计算机程序。例如概率编程语言 Edward,它构建于两种组合表示的基础上,即随机变量和推理。Edward 可以集成到 TensorFlow,它让我们轻松使用从点估计到变分推理和 MCMC 等各种可组合的推理方法来拟合相同的模型。

Zoubin 随后展示了用概率编程语言所写的隐马尔可夫模型,它只需要不到 10 行的代码就能完成整个模型。他认为概率编程最大的优势是对科学建模的变革,而 Uber 构建的概率编程语言 Pyro 就是这样的尝试。

Pyro 基于 Python 与 PyTorch 之上,专注于变分推理,同时支持可组合推理算法。Pyro 的目标是更加动态(通过使用 PyTorch)和通用(允许递归)。

Zoubin 表示直接指定概率模型是笨重的,其执行也容易出错。概率编程语言(PPL)通过联合概率与编程语言的表征力量来解决上述问题。概率程序是一般确定性计算和随机采样值的混合,随机计算表征了数据的生成性。这一表征中隐含着概率,且这一规范也是通用的:通过这种方式可以编写任意的可计算概率模型。Pyro 全部使用 Python 作为基础语言,清晰而令人熟悉。

Pyro 构建在优秀的 PyTorch 库之上,后者包括使用非常快速、GPU 加速的张量数学的自动微分。PyTorch 动态构建梯度,使得 Pyro 程序包含随机控制结构,即 Pyro 程序中的随机选择能够控制其他随机选择的出现。随机控制结构是 PPL 通用的关键。因此,Pyro 能够表征任意概率模型,同时提供灵活、可扩展到大型数据集的自动优化推断。

最后,Zoubin 展示了一种自动化统计学。因为现在到处都存在数据,那么理解数据、构建模型并作决策会有非常大的价值。但是问题是目前没有那么多合格的数据科学家,因此可能的方向是开发一种自动从数据中构建模型的方法。

那么对于构建 AI 系统,我们到底要遵循什么样的规则?以下展示了感知、学习、推理和决策制定等 AI 系统应该遵循的原则,我们构建自动 AI 系统也应该遵循这些规则。

如上借助深度学习、ReLU 激活函数和各种结构,我们的系统能感知到真实世界中的数据。而贝叶斯法则和最大似然等规则可以让系统以更小的成本学习知识,其它如推理和决策也应该根据概率论、决策论和博弈论等领域的方法完成构建。

对于整个演讲的总结,Zoubin 表示概率建模为构建理性的 AI 系统提供了非常好的框架,在这个框架下我们能将现实世界中的不确定表示出来,并从数据中学习。

以上是 Zoubin 演讲的简要内容,前面主要介绍了为什么概率建模非常重要,后面则讲述了他所关注领域,包括贝叶斯深度学习、概率编程和自动化模型构建等。

理论Zoubin GhahramaniUber概率机器学习
5
相关数据
深度学习技术

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

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

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

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

参数技术

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

收敛技术

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

凸优化技术

凸优化,或叫做凸最优化,凸最小化,是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题。凸优化在某种意义上说较一般情形的数学最优化问题要简单,譬如在凸优化中局部最优值必定是全局最优值。凸函数的凸性使得凸分析中的有力工具在最优化问题中得以应用,如次导数等。 凸优化应用于很多学科领域,诸如自动控制系统,信号处理,通讯和网络,电子电路设计,数据分析和建模,统计学(最优化设计),以及金融。在近来运算能力提高和最优化理论发展的背景下,一般的凸优化已经接近简单的线性规划一样直捷易行。许多最优化问题都可以转化成凸优化(凸最小化)问题,例如求凹函数f最大值的问题就等同于求凸函数 -f最小值的问题。

损失函数技术

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

贝叶斯推断技术

贝叶斯推断(英语:Bayesian inference)是推论统计的一种方法。这种方法使用贝叶斯定理,在有更多证据及信息时,更新特定假设的概率。贝叶斯推断是统计学(特别是数理统计学)中很重要的技巧之一。贝叶斯更新(Bayesian updating)在序列分析中格外的重要。贝叶斯推断应用在许多的领域中,包括科学、工程学、哲学、医学、体育运动、法律等。在决策论的哲学中,贝叶斯推断和主观概率有密切关系,常常称为贝叶斯概率。

超参数技术

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

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

后验概率技术

在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。同样,后验概率分布是一个未知量(视为随机变量)基于试验和调查后得到的概率分布。“后验”在本文中代表考虑了被测试事件的相关证据。

计算机视觉技术

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

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

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

先验知识技术

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

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

规范化技术

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

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

博弈论技术

博弈论,又译为对策论,或者赛局理论,应用数学的一个分支,1944年冯·诺伊曼与奥斯卡·摩根斯特恩合著《博弈论与经济行为》,标志着现代系统博弈理论的的初步形成,因此他被称为“博弈论之父”。博弈论被认为是20世纪经济学最伟大的成果之一

神经元技术

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

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

隐马尔可夫模型技术

隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。

对抗样本技术

对抗样本是一类被设计来混淆机器学习器的样本,它们看上去与真实样本的几乎相同(无法用肉眼分辨),但其中噪声的加入却会导致机器学习模型做出错误的分类判断。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~