Eric Jang作者吴攀编译evjang选自

如何创造可信任的机器学习模型?先要理解不确定性


不确定性是机器学习领域内一个重要的研究主题,Eric Jang 近日的一篇博客对这一主题进行了详细的阐述。顺便一提,他的博客还有一些有趣的深度学习迷因。

在谈到人工智能安全、风险管理、投资组合优化、科学测量和保险时,人们都会提到「不确定性(uncertainty)」的概念。下面有几个人们言语中涉及不确定性的例子:

  • 「我们想让机器学习模型知道它们不知道的东西。」

  • 「负责诊断病人和给出治疗方案的 AI 应该告诉我们它对自己的推荐的信心。」

  • 「科学计算中的显著性值代表了测量中的不确定性。」

  • 「我们想让自动智能体探索它们不确定(对于奖励或预测)的区域,这样它们也许能发现稀疏的奖励。」

  • 「在投资组合优化中,我们希望最大化回报,同时限制风险。」

  • 「由于地缘政治不确定性增大,美国股市 2018 年在失望中收尾。」

那「不确定性」究竟是什么?

不确定性度量反映的是一个随机变量的离散程度(dispersion)。换句话说,这是一个标量,反应了一个随机变量有多「随机」。在金融领域,这通常被称为「风险」。

不确定性不是某种单一形式,因为衡量离散程度的方法有很多:标准差、方差、风险值(VaR)和熵都是合适的度量。但是,要记住一点:单个标量数值不能描绘「随机性」的整体图景,因为这需要传递整个随机变量本身才行!

尽管如此,为了优化和比较,将随机性压缩成单个数值仍然是有用的。总之要记住,「越高的不确定性」往往被视为「更糟糕」(除了在模拟强化学习实验中)。

不确定性的类型 

统计机器学习关注的是模型 p(θ|D) 的估计,进而又估计的是未知随机变量 p(y|x)。其中有多种不同形式的不确定性。某些不确定性的概念描述了我们能够预期的固有的随机性(比如抛硬币的结果),另一些概念则描述了我们对模型参数的最佳猜测的信心缺乏程度。

为了说得具体一点,我们假设有一个循环神经网络(RNN)需要根据一个每日气压表读数序列预测当天的降雨量。气压表能检测大气压,大气压下降往往是降雨的前兆。下图总结了降雨量预测模型与不同类型的不确定性。

图 1:试图根据气压表读数序列预测每日降雨量的简单机器学习模型可能考虑的不确定性。偶然事件不确定性(Aleatoric Uncertainty)源自数据收集过程,是不可降低的随机性。认知不确定性(Epistemic Uncertainty)反映的是模型做出正确预测的置信程度。最后,超出分布的误差(Out-of-Distribution error)是指当模型的输入不同于其训练数据时出现的不确定性(比如太阳温度等其它异常现象)。

偶然事件不确定性

偶然事件不确定性得名于拉丁语词根 aleatorius,意为「将几率纳入创造过程」。这描述的是源自数据生成过程本身的随机性;不能简单地通过收集更多数据而消除的噪声。就像你不能预知结果的抛硬币。

在降雨量预测的类比中,偶然事件不确定性源自气压表的不准确度。也还存在这种数据收集方法没有观察的重要变量:昨日的降雨量是多少?我们测量大气压的时代是现代还是上个冰河时代?这些未知是我们的数据收集方法中固有的,所以用该系统收集更多数据无法帮助我们消除这一不确定性。

偶然事件不确定性会从输入传播到模型的预测结果。假设有一个简单模型 y=5x,它的输入取自正态分布 x∼N(0,1)。在这一案例中,y∼N(0,5),因此该预测分布的偶然事件不确定性可描述为 σ=5。当然,当输入数据 x 的随机结构未知时,预测结果的偶然事件不确定性将更难估计。

也许有人会想:因为偶然事件不确定性是不可约减的,所以我们对此无能无力,直接忽略它就好了。这可不行!在训练模型时,应该注意选择能够正确地代表偶然事件不确定性的输出表征。标准的 LSTM 不会得出概率分布,所以学习抛硬币的结果时只会收敛成均值。相对而言,用于语言生成的模型能够得出一系列类别分布(词或字符),这能纳入句子完成任务中的固有歧义性。

认知不确定性

「好的模型都是相似的;差的模型各有不同。」

认知不确定性来自希腊语词根 epistēmē,属于与知识相关的知识。这衡量了我们对「源自我们对正确模型参数的无知程度」的正确预测的无知程度。

下图展示了一个在某个简单的一维数据集上的高斯过程回归模型。其置信区间反映了认知不确定性;训练数据的认知不确定性为零(红点)。随着我们离训练数据点的距离越远,模型应该给预测分布分配越高的标准差。不同于偶然事件不确定性,认知不确定性可以通过收集更多数据和「去除」模型缺乏知识的输入区域而降低。

图 2:一维高斯过程回归模型,展现了训练集之外的输入上的认知不确定性

深度学习高斯过程之间有丰富的关联。人们希望能通过神经网络的表征能力扩展高斯过程的能感知不确定性的性质。不幸的是,高斯过程难以扩展用于大数据集的统一随机小批量设置,而且研究大型模型和数据集的人也已经不再支持这种方法。

如果人们希望在选择模型族时有最大的灵活度,使用集成(ensemble)方法来估计不确定性是一个好选择,这实际上就是使用「多个独立的学习后的模型」。高斯过程模型是分析式地定义预测分布,而集成方法则被用于计算预测的经验分布(empirical distribution)。

由于训练过程中出现的随机化偏差,任何单个模型都会有一些误差。在集成方法中,其它模型往往会揭示出单个模型特有的错处之处,同时认同推理正确的预测结果;因此集成模型是很强大的。

我们该如何随机取样模型以构建一个集成模型呢?在使用 bootstrap aggregation 构建集成模型时,我们首先从一个大小为 N 的训练数据集开始,并从原始训练集采样 M 个大小为 N 的数据(有替换,这样每个数据集都不会占据整个数据集)。分别在这些数据集上训练 M 个模型,再将它们的预测结果综合起来得到一个经验预测分布。

如果训练多个模型的成本过高,也可以使用 dropout 训练来近似模型集成。但是,引入 dropout 会涉及到一个额外的超参数并且也可能有损单个模型的表现(对于实际应用而言往往是不可接受的;在实际应用中,校准不确定性估计相对准确度而言是次要的)。

因此,如果能使用大量计算资源(就像谷歌那样),通常只需要重复训练多个模型副本,这要更加容易。这还能在无损性能的前提下享受集成方法的好处。这篇深度集成论文就采用了这一方法:https://arxiv.org/pdf/1612.01474.pdf。这篇论文的作者还提到由不同的权重初始化带来的随机训练动态足以得到一个多样化的模型集合,而不必通过 bootstrap aggregation 来降低训练集多样性。从实际的工程开发角度看,押注不会影响模型性能的风险估计方法或研究者想要尝试的其它方法是明智的

超出分布的不确定性

对于我们的降雨量预测器,如果我们为其提供的输入不是气压表读数序列,而是太阳的温度呢?要是提供一个全是零的序列呢?或者用不同的单位记录的气压表读数呢?RNN 还是会继续计算,为我们提供一个预测,但结果很可能毫无意义。

这个模型完全没有能力基于通过不同于训练集创建流程的流程生成的数据进行预测。在基准驱动的机器学习研究领域,这是一种常被忽视的失败模式,因为我们通常假设训练、验证和测试集都完全由独立同分布的数据构成。

确定输入是否「有效」是实际部署机器学习所面临的一个严峻问题,这也被称为超出分布(OoD/ Out of Distribution)问题。OoD 与「模型误设错误」和「异常检测」是同义词。

异常检测不仅对增强机器学习系统稳健性很重要,而且本身也是一种非常有用的技术。举个例子,我们可能想构建一个能监控健康人士的生命体征的系统,让该系统能在指标异常时发出警报,这并不需要系统之前见过这种异常的病理模式。我们也可以用异常检测来管理数据中心的「健康」,一旦有不同寻常的事情发生(磁盘满载、安全漏洞、硬件故障等),我们就能得到通知。

因为 OoD 输入仅出现在测试时间,所以我们不应假设我们事先知道模型会遇到的异常的分布。这正是 OoD 检测的棘手之处——我们必须针对模型在训练阶段从未见过的输入来增强该模型对这些输入的抗性!这正是对抗式机器学习中描述的标准的攻击场景。

机器学习模型有两种处理 OoD 输入的方法:1)在输入到达模型前就识别出糟糕的输入;2)根据模型预测结果的「怪异性」来帮助我们鉴别可能存在问题的输入。

在第一种方法中,我们不会对下游机器学习任务做任何假设,只会考虑输入是否处于训练分布中的问题。这正是生成对抗网络(GAN)中判别器的工作。但是,单个判别器并不具有完美的稳健性,因为它只擅长辨别真实数据分布和生成器得到的分布;对于不属于其中任意一个分布的输入而言,它有可能得出任意的预测结果。

除了判别器,我们也可以构建一个分布内数据的密度模型,比如一个核密度估计器或用一个 Normalizing Flow 来拟合数据。Hyunsun Choi 和我最近研究过这一问题,参阅我们最近使用现代生成模型执行 OoD 检测的论文:https://arxiv.org/abs/1810.01392

第二种 OoD 检测方法涉及到使用任务模型的预测(认知)不确定性来辨别哪些输入是 OoD。理想情况下,模型在收到错误的输入时应该会得到「怪异的」的预测分布 p(y|x)。举个例子,Hendrycks and Gimpel(https://arxiv.org/abs/1610.02136)表明 OoD 输入的最大化 softmax 概率(预测得到的类别)往往低于分布内的输入。这里,不确定性反比于最大 softmax 概率建模的「置信度」。高斯过程这样的模型能通过构造为我们提供这些不确定性估计,或者我们也可通过深度集成来计算认知不确定性。

强化学习领域,人们实际上假设 OoD 输入是一件好事,因为这是智能体还不知道如何处理的世界输入。鼓励策略寻找自己的 OoD 输入能实现「内在的好奇心」,从而探索模型的预测效果较差的区域。这是很好的做法,但我很好奇如果将这种好奇心驱动的智能体部署到现实世界(其中传感器很容易损坏,也会发生其它实验异常)中会怎样。机器人如何区分「未曾见过的状态」(好)和「传感器损坏情况」(坏)?这能得到能学习与它们的传感机制交互从而生成最大化新颖度的智能体吗?

谁来看住看门狗?

正如前一节提到的那样,保护自己免受 OoD 输入影响的一种方法是设置一个能够「像看门狗一样」监控模型输入的似然模型(likelihood model)。我更喜欢这种方法,因为这能将 OoD 输入问题与任务模型中的认知和偶然事件不确定性隔开。从工程开发角度看,这能让分析工作更轻松。

但我们不应该忘记这个似然模型也是一个函数近似器,可能存在自己的 OoD 错误!我们近期的生成式集成方法(Generative Ensembles,https://arxiv.org/abs/1810.01392,也可参阅 DeepMind 的同期研究 https://arxiv.org/abs/1810.09136)研究表明,在使用一个 CIFAR 似然模型时,来自 SVHN 的自然图像实际上比 CIFAR 分布内的图像本身还有更高的可能性!

图 3:似然估计涉及到一个本身也可能易受 OoD 输入影响的函数近似器。比起 CIFAR 测试图像,CIFAR 的似然模型会给 SVHN 图像分配更高的概率!

但是,希望还是有的!研究表明,似然模型的认知不确定性对该似然模型自身而言是出色的 OoD 检测器。通过将认知不确定性估计与密度估计结合起来,我们能以一种与模型无关的方式使用似然模型的集成来保护机器学习模型免受 OoD 输入影响。

校准:下一件大事?

警告:只是因为一个模型能够确定一个预测结果的置信区间,并不意味着该置信区间能真正反映结果在现实中的实际概率!

置信区间(比如 2σ)隐式地假设预测分布是高斯分布,但如果你想要预测的分布是多模态分布或重尾分布,那么你的模型将不会得到很好的校准!

假设我们的降雨量预测 RNN 告诉我们今日的降雨将为 N(4,1) 英寸,如果我们的模型经过校准,那么如果我们一次又一次地在同样的条件下重复这个实验(也许每一次都重新训练该模型),那么我们实际将会观察到实际的降雨量分布正是 N(4,1)。

当今学术界开发的机器学习模型大都是针对测试准确度或某个拟合度函数优化的。研究者执行模型选择的方式不是通过重复相同的实验来部署模型,再衡量校准误差,所以不出意外,我们的模型往往只有很差的校准,参阅:https://arxiv.org/abs/1706.04599

展望未来,如果我们要信任部署在现实世界中的机器学习系统(机器人、医疗系统等),我认为「证明我们的模型能够正确理解世界」的一种远远更为强大方法是针对统计校准测试它们。优良的校准也意味着优良的准确度,所以这是一个更严格的更高的优化指标。

不确定性应该是标量吗?

尽管标量的不确定性很有用,但它们的信息量永远不及它们所描述的随机变量,我发现粒子滤波和分布式强化学习等方法非常酷,因为它们是在整个分布上运行的算法,让我们无需借助简单的正态分布来跟踪不确定性。除了使用单标量的「不确定性」来塑造基于机器学习的决策,现在我们也可以在决定要做什么时查询分布的整体结构。

Dabney et al. 的 Implicit Quantile Networks 论文(https://arxiv.org/pdf/1806.06923.pdf)很好地讨论了如何基于回报的分布构建「风险敏感型智能体」。在某些环境中,人们可能更偏好倾向于探索未知的机会主义策略;而在另一些环境中,未知事物可能并不安全,应当避开。风险度量的选择本质上决定了如何将回报的分布映射成一个标量数量,然后再根据这个量进行优化。所有的风险度量都可以根据分布计算得到,所以预测整个分布能让我们将多个风险定义轻松地组合起来。此外,支持灵活的预测分布似乎也是一个提升模型校准的好方法。

图 4:多种风险度量在 Atari 游戏上的表现,来自这篇 IQN 论文:https://arxiv.org/abs/1806.06923

对金融资产管理者而言,风险度量是一个非常重要的研究主题。简单纯粹的马科维茨(Markowitz)投资组合的目标是最小化投资组合回报 的一个加权的方差。但是,方差是「风险」在金融语境的一个不直观的选择:大多数投资者根本不在乎回报超出预期,而只是希望最小化回报少或亏损的可能性。由于这个原因,Value-at-Risk、Shortfall Probability 和 Target Semivariance 等仅关注「糟糕」结果的概率的风险度量是更有用的优化目标。

不幸的是,它们也更难分析。我希望在分布式强化学习、蒙特卡洛方法和灵活的生成模型上的研究能让我们构建起能与投资组合优化器很好地协同工作的风险度量的可微分弛豫(differentiable relaxations)。如果你在金融行业工作,我强烈建议你阅读 IQN 论文中的「强化学习中的风险」一节。

总结

下面总结了本文的一些要点:

  • 不确定性/风险度量是「随机性」的标量度量。为了优化和数学计算的方便,将随机变量浓缩成了单个数值。

  • 预测不确定性可以分解成偶然事件不确定性(来自数据收集过程的不可约减的噪声)、认知不确定性(对真实模型的无知)和超出分布的不确定性(在测试时,输入存在问题)。

  • 认知不确定性可以通过 softmax 预测阈值设置或集成方法降低。

  • 我们可以不将 OoD 不确定性传播到预测中,而是使用一种与任务无关的过滤机制来滤除「有问题的输入」。

  • 密度模型是在测试时过滤输入的一个好选择。但是,需要认识到,密度模型只是真实密度函数的近似,本身也可能易受分布之外的输入的影响。

  • 自我插拔:生成式集成方法能降低似然模型的认知不确定性,所以它们可被用于检测 OoD 输入。

  • 校准很重要,而且在研究模型中被低估了。

  • 某些算法(分布式强化学习)能将机器学习算法延展成能产出灵活分布的模型,这能比单个风险度量提供更多的信息。

原文地址:https://blog.evjang.com/2018/12/uncertainty.html

入门高斯过程不确定性
2
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

深度学习技术

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

权重技术

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

机器学习技术

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

感知技术

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

高斯分布技术

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

人工智能技术

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

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

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

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

收敛技术

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

异常检测技术

在数据挖掘中,异常检测(英语:anomaly detection)对不符合预期模式或数据集中其他项目的项目、事件或观测值的识别。 通常异常项目会转变成银行欺诈、结构缺陷、医疗问题、文本错误等类型的问题。 异常也被称为离群值、新奇、噪声、偏差和例外。

粒子滤波技术

粒子滤波器(particle filter)是一种使用蒙地卡罗方法(Monte Carlo method)的递回滤波器,透过一组具有权重的随机样本(称为粒子)来表示随机事件的后验机率,从含有噪声或不完整的观测序列,估计出动态系统的状态,粒子滤波器可以运用在任何状态空间的模型上。

超参数技术

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

神经网络技术

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

高斯过程技术

集成方法技术

在统计学和机器学习中,集成方法使用多种学习算法来获得比单独使用任何组成学习算法更好的预测性能。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

置信区间技术

在统计学中,一个概率样本的置信区间(Confidence interval),是对这个样本的某个总体参数的区间估计(Interval Estimation)。置信区间展现的是,这个总体参数的真实值有一定概率落在与该测量结果有关的某对应区间。置信区间给出的是,声称总体参数的真实值在测量值的区间所具有的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平。举例来说,如果在一次大选中某人的支持率为55%,而置信水平0.95上的置信区间是(50%, 60%),那么他的真实支持率落在50%和60%之区间的机率为95%,因此他的真实支持率不足50%的可能性小于2.5%(假设分布是对称的)。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

独立同分布技术

在概率论与统计学中,独立同分布(缩写为IID)是指一组随机变量中每个变量的概率分布都相同,且这些随机变量互相独立。一组随机变量独立同分布并不意味着它们的样本空间中每个事件发生概率都相同。例如,投掷非均匀骰子得到的结果序列是独立同分布的,但掷出每个面朝上的概率并不相同。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

暂无评论
暂无评论~