多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL

面向视觉任务(如图像分类)的深度学习模型,通常用来自单一视觉域(如自然图像或计算机生成的图像)的数据进行端到端的训练。

 一般情况下,一个为多个领域完成视觉任务的应用程序需要为每个单独的领域建立多个模型,分别独立训练,不同领域之间不共享数据,在推理时,每个模型将处理特定领域的输入数据。 

即使是面向不同领域,这些模型之间的早期层的有些特征都是相似的,所以,对这些模型进行联合训练的效率更高。这能减少延迟和功耗,降低存储每个模型参数的内存成本,这种方法被称为多领域学习(MDL)。

此外,MDL模型也可以优于单领域模型,在一个域上的额外训练,可以提高模型在另一个域上的性能,这称为「正向知识迁移」,但也可能产生负向知识转移,这取决于训练方法和具体的领域组合。 虽然以前关于MDL的工作已经证明了跨领域联合学习任务的有效性,但它涉及到一个手工制作的模型架构,应用于其他工作的效率很低。 

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL 

论文链接:https://arxiv.org/pdf/2010.04904.pdf 

为了解决这个问题,在「Multi-path Neural Networks for On-device Multi-domain Visual Classification」一文中,谷歌研究人员提出了一个通用MDL模型。 

文章表示,该模型既可以有效地实现高精确度,减少负向知识迁移的同时,学习增强正向的知识迁移,在处理各种特定领域的困难时,可以有效地优化联合模型。 

多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL 

为此,研究人员提出了一种多路径神经架构搜索(MPNAS)方法,为多领域建立一个具有异质网络架构的统一模型。 

该方法将高效的神经结构搜索(NAS)方法从单路径搜索扩展到多路径搜索,为每个领域联合寻找一条最优路径。同时引入一个新的损失函数,称为自适应平衡域优先化(ABDP),它适应特定领域的困难,以帮助有效地训练模型。由此产生的MPNAS方法是高效和可扩展的。 

新模型在保持性能不下降的同时,与单领域方法相比,模型大小和FLOPS分别减少了78%和32%。 

多路径神经结构搜索

为了促进正向知识迁移,避免负向迁移,传统的解决方案是,建立一个MDL模型,使各域共享大部分的层,学习各域的共享特征(称为特征提取),然后在上面建一些特定域的层。 然而,这种特征提取方法无法处理具有明显不同特征的域(如自然图像中的物体和艺术绘画)。另一方面,为每个MDL模型建立统一的异质结构是很耗时的,而且需要特定领域的知识。

多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL

多路径神经搜索架构框架 NAS是一个自动设计深度学习架构的强大范式。它定义了一个搜索空间,由可能成为最终模型一部分的各种潜在构建块组成。 

搜索算法从搜索空间中找到最佳的候选架构,以优化模型目标,例如分类精度。最近的NAS方法(如TuNAS)通过使用端到端的路径采样,提高了搜索效率。 

受TuNAS的启发,MPNAS在两个阶段建立了MDL模型架构:搜索和训练。 

在搜索阶段,为了给每个领域共同找到一条最佳路径,MPNAS为每个领域创建了一个单独的强化学习(RL)控制器,它从超级网络(即由搜索空间定义的候选节点之间所有可能的子网络的超集)中采样端到端的路径(从输入层到输出层)。 

在多次迭代中,所有RL控制器更新路径,以优化所有领域的RL奖励。在搜索阶段结束时,我们为每个领域获得一个子网络。 最后,所有的子网络被结合起来,为MDL模型建立一个异质结构,如下图所示。

奇域 奇域

奇域是一个专注于中式美学的国风AI绘画创作平台

奇域 30 查看详情 奇域

 多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL 

由于每个域的子网络是独立搜索的,所以每一层的构件可以被多个域共享(即深灰色节点),被单个域使用(即浅灰色节点),或者不被任何子网络使用(即点状节点)。 

每个域的路径在搜索过程中也可以跳过任何一层。鉴于子网络可以以优化性能的方式自由选择沿路使用的区块,输出网络既是异质的又是高效的。 

下图展示了Visual Domain Decathlon的其中两个领域的搜索架构。

 多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL 

Visual Domain Decathlon是CVPR 2017中的PASCAL in Detail Workshop Challenge的一部分,测试了视觉识别算法处理(或利用)许多不同视觉领域的能力。 可以看出,这两个高度相关的域(一个红色,另一个绿色)的子网,从它们的重叠路径中共享了大部分构建块,但它们之间仍然存在差异。 

多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL

图中红色和绿色路径分别代表 ImageNet 和Describable Textures的子网络,深粉色节点代表多个域共享的块,浅粉色节点代表每条路径使用的块。图中的“dwb”块代表 dwbottleneck 块。图中的Zero块表示子网跳过该块 下图展示了上文提到的两个领域的路径相似性。 相似度通过每个域的子网之间的Jaccard相似度得分来衡量,其中越高意味着路径越相似。

 多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL

图为十个域的路径之间的Jaccard相似度得分的混淆矩阵。分值范围为0到1,分值越大表示两条路径共享的节点越多。 

训练异构多域模型

在第二阶段,MPNAS 产生的模型将针对所有领域从头开始训练。 为此,有必要为所有领域定义一个统一的目标函数。 为了成功处理各种各样的领域,研究人员设计了一种算法,该算法在整个学习过程中进行调整,以便在各个领域之间平衡损失,称为自适应平衡领域优先级 (ABDP)。 下面展示了在不同设置下训练的模型的准确率、模型大小和FLOPS。我们将MPNAS与其他三种方法进行比较: 

独立于域的 NAS:分别为每个域搜索和训练模型。

单路径多头:使用预训练模型作为所有域的共享主干,每个域都有单独的分类头。

多头 NAS:为所有域搜索统一的骨干架构,每个域都有单独的分类头。

 从结果中,我们可以观察到NAS需要为每个域构建一组模型,从而导致模型很大。 尽管单路径多头和多头NAS可以显着降低模型大小和FLOPS,但强制域共享相同的主干会引入负面的知识转移,从而降低整体准确性。

 多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL 

相比之下,MPNAS可以构建小而高效的模型,同时仍保持较高的整体精度。 MPNAS的平均准确率甚至比领域独立的NAS方法高1.9%,因为该模型能够实现积极的知识转移。 下图比较了这些方法的每个域top-1准确度。

 多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL 

评估表明,通过使用 ABDP 作为搜索和训练阶段的一部分,top-1 的准确率从 69.96% 提高到 71.78%(增量:+1.81%)。 

‍未来方向

MPNAS是构建异构网络以解决MDL中可能的参数共享策略的数据不平衡、域多样性、负迁移、域可扩展性和大搜索空间的有效解决方案。 通过使用类似MobileNet的搜索空间,生成的模型也对移动设备友好。 对于与现有搜索算法不兼容的任务,研究人员正继续扩展MPNAS用于多任务学习,并希望用MPNAS来构建统一的多域模型。

以上就是多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/540172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 14:47:02
下一篇 2025年11月9日 14:50:20

相关推荐

  • HTMLPagelinks怎么优化_分页链接SEO优化技巧

    答案是:分页SEO的核心在于通过“查看全部”页面集中权重或构建清晰的内部链接结构来引导搜索引擎理解页面关系。应优先创建“查看全部”页面整合内容,并设置canonical标签指向该页,同时确保分页导航为可抓取的HTML链接,包含前后页、首尾页及附近页码链接,以提升抓取效率、传递权重并改善用户体验,从而…

    2025年12月22日
    000
  • javascript的机器学习如何入门_有哪些可用的JavaScript库

    JavaScript适合浏览器端轻量推理与教学,不宜训练大模型;推荐从线性回归、KNN等简单任务入手,优先掌握张量操作、模型流程及Chrome调试技巧。 JavaScript 做机器学习确实可行,但得明确一点:它不适合训练大型模型,更适合在浏览器端做轻量推理、数据预处理、教学演示或与 Web 应用集…

    2025年12月21日
    000
  • JavaScript数学计算与数值分析库

    math.js适合日常复杂计算,numeric.js专精数值分析,simple-statistics用于统计分析,TensorFlow.js适用于AI与大规模数值运算。 JavaScript虽然原生支持基本的数学运算,但在处理复杂数学计算、数值分析或科学计算时,依赖第三方库能大幅提升开发效率和计算精…

    2025年12月21日
    000
  • JavaScript机器学习库应用

    答案:JavaScript机器学习库适用于多种场景。TensorFlow.js支持浏览器端图像分类与姿态识别,利用WebGL加速;ML5.js封装简洁,适合初学者快速调用预训练模型;Synaptic.js灵活构建自定义神经网络;Brain.js专注数值预测任务。选择依据为:功能全面选TensorFl…

    2025年12月21日
    100
  • LangChain HNSWLib 向量存储机制与数据持久化指南

    本文详细解析langchain中hnswlib向量存储的工作原理,明确其作为内存存储的特性,指出数据实际存储在项目部署的服务器上,而非langchain官方服务器。同时,文章将指导如何通过save_local()方法将内存中的向量数据持久化到本地文件,确保数据安全与可靠性,并探讨在实际应用中的注意事…

    2025年12月20日
    000
  • 如何用机器学习库(如TensorFlow.js)在浏览器中训练模型?

    完全可行,适合轻量级任务与隐私保护场景。通过CDN引入TensorFlow.js后,使用tf.sequential()构建模型,编译时配置优化器、损失函数等。将数据转为张量并归一化,调用model.fit()训练,支持回调监控。训练后可保存至本地或导出文件,后续加载进行预测。虽计算力受限,但合理设计…

    2025年12月20日
    000
  • 如何利用 JavaScript 实现一个简单的机器学习模型进行预测或分类?

    答案是JavaScript可实现简单机器学习模型。通过手动实现线性回归和kNN算法,可在前端完成基础预测与分类任务;结合TensorFlow.js则能训练神经网络,支持更复杂场景,适合轻量级应用开发。 用 JavaScript 实现一个简单的机器学习模型是完全可行的,尤其适合初学者理解基本原理或在前…

    2025年12月20日
    000
  • 如何用WebGPU加速浏览器端的机器学习推理?

    WebGPU通过提供现代、低开销的GPU计算能力,显著提升了浏览器端机器学习推理的性能。相比为图形渲染设计的WebGL,WebGPU原生支持通用计算,具备更低API开销、更高效的内存管理和更强的并行处理能力,能直接执行计算着色器,避免WebGL将数据编码到纹理等间接操作。其核心优势包括更高的执行效率…

    2025年12月20日
    000
  • JS 前端微前端架构 – 实现多个独立应用协同工作的解决方案

    微前端架构的核心优势是实现团队自治、技术栈自由、独立部署和代码解耦,适用于大型企业级应用、遗留系统重构及多团队协作场景。其主流实现方案包括基于 Webpack 5 的 Module Federation 和基于路由的 Single-SPA 或 Qiankun,前者在构建时共享模块更高效,后者对旧项目…

    2025年12月20日
    000
  • JS 机器学习入门实践 – 使用 TensorFlow.js 实现基础神经网络

    使用TensorFlow.js可在浏览器或Node.js中用JavaScript实现基础神经网络,核心步骤包括:引入库、准备数据(如张量形式的输入输出)、定义模型架构(如序贯模型和全连接层)、编译模型(指定优化器和损失函数)、训练模型(设置epochs并监控损失)以及进行预测。以线性回归y=2x+1…

    2025年12月20日
    000
  • 如何用WebNN API在浏览器中运行神经网络模型?

    WebNN API通过提供标准化接口直接调用设备AI硬件,实现浏览器内高性能、低延迟的本地AI推理。它需将预训练模型转换为ML计算图,经编译后在支持的硬件上执行,相比TF.js等方案减少中间层开销,提升效率与隐私性。当前面临模型格式兼容性、浏览器与硬件支持碎片化、调试工具不足及内存管理挑战。未来将推…

    2025年12月20日
    000
  • c++如何实现一个简单的神经网络推理框架_c++ ONNX Runtime集成【AI】

    推荐集成ONNX Runtime而非手写推理框架,因其专为高效推理设计,支持多硬件后端、量化、图优化及原生C++ API,只需加载ONNX模型并执行推理即可。 用 C++ 实现一个“从零开始”的完整神经网络推理框架工程量大、易出错,不推荐;实际项目中更高效可靠的做法是集成成熟推理引擎——ONNX R…

    2025年12月19日
    000
  • 在嵌入式系统中构建C++驱动的低功耗算法模型

    在嵌入式系统中实现低功耗运行的关键之一是优化驱动层与算法模型的协同效率。c++++ 因其兼具高性能与面向对象的优势,成为构建高效驱动和轻量级算法模型的理想选择。重点在于如何利用 c++ 的特性,在资源受限的环境中实现响应迅速、能耗极低的系统行为。 使用C++封装硬件驱动以提升能效 直接操作寄存器虽然…

    好文分享 2025年12月19日
    000
  • 怎样在C++中实现神经网络_深度学习基础实现

    在c++++中实现神经网络的关键在于选择合适的库、定义神经元和层、实现激活函数、前向传播、反向传播,并选择优化算法。1. 选择合适的库,如eigen进行矩阵运算;2. 定义神经元和层类以实现前向传播;3. 实现sigmoid、relu等激活函数;4. 实现前向传播计算输出;5. 实现反向传播用于训练…

    2025年12月18日 好文分享
    000
  • 剖析 C++ 框架与其他框架的架构设计理念:比较与借鉴

    c++++ 框架采用编译模型,执行效率高、跨平台性好,面向对象程度重;其他框架常采用解释模型,执行效率相对较低,依赖管理更简单。实战案例表明,可借鉴 python 的自动垃圾回收理念优化 c++ 框架,提升其稳定性。通过比较学习,可优化 c++ 框架开发:引入轻量级依赖管理、探索函数式编程、借鉴自动…

    2025年12月18日
    000
  • C++ 框架架构剖析:揭秘内部运作原理

    c++++ 框架提供结构和抽象,由内核、插件系统、事件系统、抽象层和辅助类组成。使用 qt 框架示例,事件循环由内核管理,小部件插件处理用户交互,事件系统将用户交互转换为应用程序事件,以供小部件响应。 C++ 框架架构剖析:揭秘内部运作原理 框架在现代 C++ 开发中扮演着至关重要的角色,它们为应用…

    2025年12月18日
    000
  • C++在金融人工智能中的神经网络模型实现

    c++++适合实现神经网络,因其性能优异且提供内存管理。使用神经网络库(如tensorflow或eigen)可以构建神经网络模型,包括输入层、隐藏层和输出层。神经网络通过反向传播算法训练,涉及前向传播、计算损失、反向传播和权重更新。在股票价格预测的实战案例中,可以定义输入和输出数据,创建神经网络,并…

    2025年12月18日
    000
  • 使用C++的云计算基础:架构与组件

    答案:c++++ 中的云计算架构包含三个层:iaas(基本资源)、paas(应用程序环境)和 saas(现成应用程序)。组件:计算实例:可伸缩虚拟服务器存储:数据和应用程序文件存储数据库:结构化数据管理和存储网络:连接计算实例、存储和数据库管理控制台:云资源部署和管理 C++ 中的云计算基础:架构与…

    2025年12月18日
    000
  • XML如何表示神经网络模型? 用XML描述神经网络层结构与参数的规范方法

    XML通过结构化标签描述神经网络的层类型、连接方式和参数,如定义全连接层,存储权重矩阵,并支持Base64编码或外部文件引用以提高效率,适用于模型架构交换而非大规模权重存储。 XML在表示神经网络模型时,通常通过定义一套结构化的标签和属性来描述模型的各个组成部分,比如层类型、连接方式、激活函数以及具…

    2025年12月17日
    000
  • XML如何表示神经网络模型?

    XML可用于表示神经网络模型,其优势在于结构化、可读性强、平台无关,适合描述模型架构;但局限性明显:文件冗余大、解析效率低、不擅长存储大型数值矩阵,导致在实际应用中多用于保存模型配置,权重等数据常分离存储于HDF5、NumPy等二进制文件;更高效的序列化格式如HDF5、JSON、Protobuf和O…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信