-
漏洞名称 : Google TensorFlow远程代码执行漏洞 CVE-2021-37678组件名称 : Google TensorFlow影响范围 : Google TensorFlow < 2.6.0漏洞类型 : 远程代码执行利用条件 :1、触发方式:远程2、利用条件:需要用户运行有漏洞的机器学习模型项目综合评价 :<综合评定利用难度>:中等,需要用户运行有漏洞的机器学习模型项目。<综合评定威胁等级>:高危,能造成远程代码执行。漏洞分析:1、组件介绍Google TensorFlow 是美国谷歌(Google Chrome)公司的一套用户机器学习的端到端开源平台。Google TensorFlow 是拥有一个全面而灵活的生态系统,其中包含各种工具、库和社区资源,可助力研究人员推动先进机器学习技术的发展,并使开发者能够轻松地构建和部署由机器学习提供支持的应用。2、漏洞描述2021年8月23日,深信服安全团队监测到一则Google TensorFlow组件存在远程代码执行漏洞的信息,漏洞编号:CVE-2021-37678,漏洞威胁等级:高危。该漏洞是由于从yaml格式反序列化 Keras 模型时,未对输入的数据做有效验证,攻击者可利用该漏洞构造恶意数据,造成远程代码执行攻击。影响范围:Google TensorFlow 是著名的机器学习模型,在机器学习领域应用比较广泛。目前受影响的Google TensorFlow版本:Google TensorFlow < 2.6.0解决方案:1、如何检测组件系统版本在 cmd 界面输入:python 在 python 环境中输入 :import tensorflow as ftft.__version__即可得到版本号。2、官方修复建议当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:https://github.com/tensorflow/tensorflow/releases参考链接:1.https://github.com/tensorflow/tensorflow/security/advisories/GHSA-r6jx-9g48-2r5r2.https://github.com/tensorflow/tensorflow/releases
-
自1956年达特茅斯会议首次定义“人工智能”(Artificial Intelligence,AI)开始,AI研究已历经65个春秋。现如今,AI技术已深入到生活的方方面面,无论是图像识别、语音识别、还是虚拟助理,辅助驾驶等等领域,AI技术都扮演了至关重要的角色。不难推测,在未来,AI将在更多场景下,为这个世界带来更多让人赏心悦目的事物。华为云社区博客特发起“百变AI秀”有奖征文活动,以便大家可以更好地学习和使用AI技术。本次活动奖品丰富,HUAWEI 体脂称2Pro、JBL音乐金砖GO 2、摩飞榨汁机、智能床头灯 等你来拿。有点心动?看看下面活动细则吧:我们需要哪些主题的稿件?原则上,我们欢迎所有能帮助所有学习AI技术的人成长的文章!如基于自己的实际使用经验,分享跟AI有关的技术分析、使用感受及在项目实战中的经验或踩坑指南等。只要跟人工智能技术有关的内容,我们都欢迎:你可以从以下几类主题和参考文章中,找到自己感兴趣的投稿方向:1.跟AI技术相关的基础知识,比如深度学习入门可以看什么书籍、OpenCV的一些入门学习代码等AI书籍推荐 12本深度学习书籍推荐:有入门,有深度OpenCV(python)——一键入门–第1篇2.所有跟AI算法有关的内容,比如自组织映射网络SOM聚类算法、PageRank算法等自组织映射网络SOM聚类算法排名算法之PageRank3.自然语言处理(NLP)相关的内容,比如情感分析方法、NLP预训练模型库所用框架NLP专栏丨情感分析方法入门下【AI实战】最强NLP预训练模型库PyTorch-Transformers正式开源!支持6个预训练框架,27个预训练模型4.跟机器学习相关的内容,比如线性回归分析、标准化数据预处理等【机器学习基础】机器学习介绍聊聊机器学习中的那些花儿:标准化、归一化、正则化、离散化和白化大神十年编程经验,200篇详细教程,教你从零到一学Python(万字总结之机器学习篇)5.使用AI库、AI架构、AI平台时的学习与研究过程,比如使用Modelarts平台、使用TensorFlow、OpenCV库时的心得体会ModelArts Notebook快速开源项目实战 — U2Net张小白带你在Windows11 预览版的WSL上玩转MindSpore 1.3.0(GPU版)Tensorflow CIFAR-10图像识别OpenCV萌新福音:易上手的数字识别实践案例6.AI技术应用相关的研究与分析,比如自动驾驶、图像识别方面的应用分析与研究5G与自动驾驶那点事python人工智能-图像识别:tesseract-ocr引擎怎么玩你将获得什么?我们会把收到的优质内容汇编成册,并注明原作者,积累行业口碑,开放给圈内开发者下载查阅,提供实践参考。对于贡献优质内容的作者,我们还将送出各项大礼!同时,在华为云站内外10+个技术社区醒目位置进行推荐,给与百万级流量资源。优质作者更可获得长期约稿和更多内容合作机会。评奖规则说明奖品评选依据 :文章投票数* 40%+专家评审打分*60%投票流程 :截稿后评审会选出15-30篇最优秀的文章到论坛进行投票。投票链接 :9月24日开启投票,更新投票链接。专家评分依据 :文章篇幅、技术含金量、排版美观度、阅读量、点赞、收藏等指标综合评分其他说明 :1、一二三等奖不能叠加。2、征文投稿数量不计入月度激励活动文章数量。3、创作小能手奖发文数如果出现并列情况,较早发文者得奖在哪里投稿?文章需要发表在社区博客; 是时候展现真正的技术了, 点击前往发布标题以 【百变AI秀】结尾,例如:一文搞懂机器学习十大算法丨【百变AI秀】。文章末尾需加上活动名称及链接地址:【百变AI秀】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/296704有哪些需要注意的1、文章内容需体现技术看点,图文并茂,建议字数在500字以上;2、文章要求为投稿人原创,凡转载或抄袭一经发现将取消参赛资格;3、文章须在华为云社区为首发,如华为云平台已有文章内容则视为稿件无效;4、稿件投稿后,华为云拥有该稿件的使用权、修改权等。快来华为云社区博客,一起秀起来吧!点击立即发布如果有任何问题,可扫描下方二维码咨询。添加微信时请备注:百变AI秀 + 报名活动时使用的华为云昵称!扫码添加小助手:
-
在许多情况下,神经网络在独立同分布的测试集上进行评估已经达到了人类表现。因此,我们自然要怀疑这些模型在这些任务上是否获得了真正的人类层次的理解。为了探索网络对底层任务的理解层次,我们可以探索这个模型错误分类的例子。 Szegedy et al. (2014b) 发现,在精度达到人类水平的神经网络上通过优化过程故意构造数据点,其上的误差率接近100%,模型在这个输入点 x′ 的输出与附近的数据点 x 非常不同。在许多情况下,x′ 与 x 非常近似,人类观察者不会察觉原始样本和对抗样本(adversarial example)之间的差异,但是网络会作出非常不同的预测。对抗样本在很多领域有很多影响,例如计算机安全,这超出了本章的范围。然而,它们在正则化的背景下很有意思,因为我们可以通过对抗训练(adversarial training)减少原有独立同分布的测试集的错误率——在对抗扰动的训练集样本上训练网络 (Szegedy et al., 2014b; Goodfellow et al., 2014b)。
-
使用Dropout训练时的随机性不是这个方法成功的必要条件。它仅仅是近似所有子模型总和的一个方法。Wang and Manning (2013) 导出了近似这种边缘分布的解析解。他们的近似被称为快速 Dropout(fast dropout),减小梯度计算中的随机性而获得更快的收敛速度。这种方法也可以在测试时应用,能够比权重比例推断规则更合理地(但计算也更昂贵)近似所有子网络的平均。快速 Dropout在小神经网络上的性能几乎与标准的Dropout相当,但在大问题上尚未产生显著改善或尚未应用。随机性对实现Dropout的正则化效果不是必要的,同时也不是充分的。为了证明这一点,Warde-Farley et al. (2014) 使用一种被称为 Dropout Boosting(Dropout Boosting)的方法设计了一个对照实验,具有与传统Dropout方法完全相同的噪声掩码,但缺乏正则化效果。Dropout Boosting训练整个集成以最大化训练集上的似然。从传统Dropout类似于Bagging的角度来看,这种方式类似于Boosting。如预期一样,和单一模型训练整个网络相比,Dropout Boosting几乎没有正则化效果。这表明,使用Bagging解释Dropout比使用稳健性噪声解释Dropout更好。只有当随机抽样的集成成员相互独立地训练好后,才能达到Bagging集成的正则化效果。
-
Dropout的另一个显著优点是不怎么限制适用的模型或训练过程。几乎在所有使用分布式表示且可以用随机梯度下降训练的模型上都表现很好。包括前馈神经网络、概率模型,如受限玻尔兹曼机(Srivastava et al., 2014),以及循环神经网络(Bayer and Osendorfer, 2014; Pascanu et al., 2014a)。许多效果差不多的其他正则化策略对模型结构的限制更严格。虽然Dropout在特定模型上每一步的代价是微不足道的,但在一个完整的系统上使用Dropout的代价可能非常显著。因为Dropout是一个正则化技术,它减少了模型的有效容量。为了抵消这种影响,我们必须增大模型规模。不出意外的话,使用Dropout时最佳验证集的误差会低很多,但这是以更大的模型和更多训练算法的迭代次数为代价换来的。对于非常大的数据集,正则化带来的泛化误差减少得很小。在这些情况下,使用Dropout和更大模型的计算代价可能超过正则化带来的好处。只有极少的训练样本可用时,Dropout不会很有效。在只有不到 5000 的样本的Alternative Splicing数据集上 (Xiong et al., 2011),贝叶斯神经网络 (Neal, 1996)比Dropout表现得更好 (Srivastava et al., 2014)。当有其他未分类的数据可用时,无监督特征学习也比Dropout更有优势。
-
涉及Dropout的一个重要观点 (Hinton et al., 2012b) 是,我们可以通过评估模型中 p(y | x) 来近似 pensemble:该模型具有所有单元,但我们将模型的权重修改为和单元 i 的概率的乘积。这个修改的动机是得到从该单元输出的正确期望值。我们把这种方法称为权重比例推断规则(weight scaling inference rule)。目前还没有在深度非线性网络上对这种近似推断规则的准确性作任何理论分析,但经验上表现得很好。然后像平常一样使用模型。实现相同结果的另一种方法是在训练期间将单元的状态乘 2。无论哪种方式,我们的目标是确保在测试时一个单元的期望总输入与在训练时该单元的期望总输入是大致相同的(即使近半单位在训练时丢失)。
-
在Bagging的情况下,每一个模型在其相应训练集上训练到收敛。在Dropout的情况下,通常大部分模型都没有显式地被训练,因为通常父神经网络会很大,以致于到宇宙毁灭都不可能采样完所有的子网络。取而代之的是,在单个步骤中我们训练一小部分的子网络,参数共享会使得剩余的子网络也能有好的参数设定。这些是仅有的区别。除了这些,Dropout与Bagging算法一样。例如,每个子网络中遇到的训练集确实是替换采样的原始训练集的一个子集。Bagging集成必须根据所有成员的累积投票做一个预测。在这种背景下,我们将这个过程称为推断(inference)。目前为止,我们在介绍Bagging和Dropout时没有要求模型具有明确的概率。现在,我们假定该模型的作用是输出一个概率分布。在Bagging的情况下,每个模型 i 产生一个概率分布 p(i)(y | x)。集成的预测由这些分布的算术平均值给出。
-
回想一下Bagging学习,我们定义 k 个不同的模型,从训练集有替换采样构造k 个不同的数据集,然后在训练集 i 上训练模型 i。Dropout的目标是在指数级数量的神经网络上近似这个过程。具体来说,在训练中使用Dropout时,我们会使用基于小批量的学习算法和较小的步长,如梯度下降等。我们每次在小批量中加载一个样本,然后随机抽样应用于网络中所有输入和隐藏单元的不同二值掩码。对于每个单元,掩码是独立采样的。掩码值为 1 的采样概率(导致包含一个单元)是训练开始前一个固定的超参数。它不是模型当前参数值或输入样本的函数。通常在每一个小批量训练的神经网络中,一个输入单元被包括的概率为 0.8,一个隐藏单元被包括的概率为 0.5。然后,我们运行和之前一样的前向传播、反向传播以及学习更新。说明了在Dropout下的前向传播。
-
Bagging(bootstrap aggregating)是通过结合几个模型降低泛化误差的技术(Breiman, 1994)。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。这是机器学习中常规策略的一个例子,被称为模型平均(model averaging)。采用这种策略的技术被称为集成方法。模型平均(model averaging)奏效的原因是不同的模型通常不会在测试集上产生完全相同的误差。
-
提前终止为何具有正则化效果: 目前为止,我们已经声明提前终止是一种正则化策略,但我们只通过展示验证集误差的学习曲线是一个 U 型曲线来支持这种说法。提前终止正则化模型的真正机制是什么呢?Bishop (1995a) 和 Sjöberg and Ljung (1995) 认为提前终止可以将优化过程的参数空间限制在初始参数值 θ0 的小邻域内。更具体地,想象用学习率 ϵ 进行 τ 个优化步骤(对应于 τ 个训练迭代)。我们可以将 ϵτ 作为有效容量的度量。假设梯度有界,限制迭代的次数和学习速率能够限制从θ0 到达的参数空间的大小,在这个意义上,ϵτ 的效果就好像是权重衰减系数的倒数。事实上,在二次误差的简单线性模型和简单的梯度下降情况下,我们可以展示提前终止相当于 L2正则化。
-
另一个策略是保持从第一轮训练获得的参数,然后使用全部的数据继续训练。在这个阶段,已经没有验证集指导我们需要在训练多少步后终止。相反,我们可以监控验证集的平均损失函数,并继续训练,直到它低于提前终止过程终止时的目标值。此策略避免了重新训练模型的高成本,但表现并没有那么好。例如,验证集的目标不一定能达到之前的目标值,所以这种策略甚至不能保证终止。我们会在算法中更正式地介绍这个过程。提前终止对减少训练过程的计算成本也是有用的。除了由于限制训练的迭代次数而明显减少的计算成本,还带来了正则化的益处(不需要添加惩罚项的代价函数或计算这种附加项的梯度)。
-
另一个提前终止的额外代价是需要保持最佳的参数副本。这种代价一般是可忽略的,因为可以将它储存在较慢较大的存储器上(例如,在 GPU 内存中训练,但将最佳参数存储在主存储器或磁盘驱动器上)。由于最佳参数的写入很少发生而且从不在训练过程中读取,这些偶发的慢写入对总训练时间的影响不大。提前终止是一种非常不显眼的正则化形式,它几乎不需要改变基本训练过程、目标函数或一组允许的参数值。这意味着,无需破坏学习动态就能很容易地使用提前终止。相对于权重衰减,必须小心不能使用太多的权重衰减,以防网络陷入不良局部极小点(对应于病态的小权重)。提前终止可单独使用或与其他的正则化策略结合使用。即使为鼓励更好泛化,使用正则化策略改进目标函数,在训练目标的局部极小点达到最好泛化也是非常罕见的。提前终止需要验证集,这意味着某些训练数据不能被馈送到模型。为了更好地利用这一额外的数据,我们可以在完成提前终止的首次训练之后,进行额外的训练。在第二轮额外的训练步骤中,所有的训练数据都被包括在内。有两个基本的策略都可以用于第二轮训练过程。
-
这个超参数在验证集上具有 U 型性能曲线。很多控制模型容量的超参数在验证集上都是这样的 U 型性能曲线。在提前终止的情况下,我们通过拟合训练集的步数来控制模型的有效容量。大多数超参数的选择必须使用高代价的猜测和检查过程,我们需要在训练开始时猜测一个超参数,然后运行几个步骤检查它的训练效果。‘‘训练时间’’ 是唯一只要跑一次训练就能尝试很多值的超参数。通过提前终止自动选择超参数的唯一显著的代价是训练期间要定期评估验证集。在理想情况下,这可以并行在与主训练过程分离的机器上,或独立的 CPU,或独立的 GPU 上完成。如果没有这些额外的资源,可以使用比训练集小的验证集或较不频繁地评估验证集来减小评估代价,较粗略地估算取得最佳的训练时间。
-
在比较机器学习基准测试的结果时,考虑其采取的数据集增强是很重要的。通常情况下,人工设计的数据集增强方案可以大大减少机器学习技术的泛化误差。将一个机器学习算法的性能与另一个进行对比时,对照实验是必要的。在比较机器学习算法 A 和机器学习算法 B 时,应该确保这两个算法使用同一人工设计的数据集增强方案进行评估。假设算法 A 在没有数据集增强时表现不佳,而 B 结合大量人工转换的数据后表现良好。在这样的情况下,很可能是合成转化引起了性能改进,而不是机器学习算法 B 比算法 A 更好。有时候,确定实验是否已经适当控制需要主观判断。例如,向输入注入噪声的机器学习算法是执行数据集增强的一种形式。通常,普适操作(例如,向输入添加高斯噪声)被认为是机器学习算法的一部分,而特定于一个应用领域(如随机地裁剪图像)的操作被认为是独立的预处理步骤。
-
让机器学习模型泛化得更好的最好办法是使用更多的数据进行训练。当然,在实践中,我们拥有的数据量是很有限的。解决这个问题的一种方法是创建假数据并添加到训练集中。对于一些机器学习任务,创建新的假数据相当简单。对分类来说这种方法是最简单的。分类器需要一个复杂的高维输入 x,并用单个类别标识 y 概括 x。这意味着分类面临的一个主要任务是要对各种各样的变换保持不变。我们可以轻易通过转换训练集中的 x 来生成新的 (x, y) 对。这种方法对于其他许多任务来说并不那么容易。例如,除非我们已经解决了密度估计问题,否则在密度估计任务中生成新的假数据是很困难的。数据集增强对一个具体的分类问题来说是特别有效的方法:对象识别。图像是高维的并包括各种巨大的变化因素,其中有许多可以轻易地模拟。即使模型已使用卷积和池化技术(第九章)对部分平移保持不变,沿训练图像每个方向平移几个像素的操作通常可以大大改善泛化。许多其他操作如旋转图像或缩放图像也已被证明非常有效。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签