通过搜索动态自举法使用 Transformer 进行更好的规划

VLN新突破:双尺度Graph Transformer如何解决全局规划与局部感知的平衡难题? 本文深入探讨了双尺度图变换器(Dual-scale Graph Transformer)在视觉语言导航(VLN)领域的突破性应用。该架构通过构建全局拓扑图的粗尺度通道与聚焦局部视觉细节的细尺度通道,并引入动态融合机制,有效解决了智能体在复杂环境中宏观规划与微观感知的平衡难题,显著提升了导航成功率和任务执行精度。 阅读详情

24年2月来自Meta 田博的团队论文“ Beyond A∗: Better Planning with Transformers via Search Dynamics Bootstrapping”。

尽管 Transformer 在各种应用环境中取得了巨大进步,但此类架构在解决复杂决策任务方面仍然落后于传统的符号规划器。这项工作是有关如何训练 Transformer 来解决复杂的规划任务。其训练编码器-解码器 Transformer 模型来预测 A 搜索算法的搜索动态。对该模型进行微调,可获得 Searchformer,这是一个 Transformer 模型,可以在 93.7% 的时间内以最佳方式解决以前未见过的 Sokoban puzzle,同时使用的搜索步骤比最初用于训练的 A 实现少 26.8%。在训练方法中,A 的搜索动态表示为一个token序列,概述了在符号规划期间何时将任务状态添加到搜索树中以及从搜索树中删除任务状态。Searchformer 的表现明显优于直接预测最佳规划的基线,其模型要小 5-10 倍,训练数据集小 10 倍。


基于 Transformer 的架构 (Vaswani,2017) 在不同任务中表现出吸引人的性能,包括在人类层面进行对话 (Shuster,2022;OpenAI,2022、2023;Touvron,2023)、高质量图像理解 (Caron,2021;Oquab,2024;Assran,2023) 和视频生成 (Singer,2023)、多模态生成 (Girdhar,2023;Radford,2021) 和代码完成 (Roziere,2023;OpenAI,2021)。通过在互联网规模的数据集上训练这些架构,生成的模型(例如大语言模型)可以在实际用例中很好地推广。

尽管取得了这些成功,但基于 Transformer 的架构和 LLM 在解决规划和推理任务时仍然举步维艰。先前的研究表明,LLM 在多步规划任务(Valmeekam,2023a、b)或执行高阶推理(Momennejad,2023;Fan,2020)中表现不佳。

近年来,人们提出了各种方法来提高 Transformer 在这些环境中的性能。一种方法是模拟人类的思维过程并在输出响应之前产生中间“想法”。思维链 (CoT) 提示 (Wei,2022) 和思维树 (ToT) 方法 (Yao,2023) 鼓励模型一步一步地“思考”。虽然这些技术通常很有效,但它们也可能导致性能下降,例如由于自我强化 (Huang,2023)。此外,由于所涉及的推理类型变化(例如,空间推理与数学推理),在一个数据集上有效的技术可能不适用于其他数据集。如何使 Transformers 和 LLM 能够规划、解决多步决策任务并执行推理仍然难以捉摸,也是一个活跃的研究领域。

虽然现有研究(Trinh,2024;Ruoss,2024)利用合成数据集来学习推理策略,但本文研究在这方面有根本的不同,专注于提高 Transformer 权重中嵌入的推理能力。AlphaZero(Silver,2018)、MuZero(Schrittwieser,2020)和 AlphaGeometry(Trinh,2024)等现有算法,使用现有符号规划算法的输出来优化神经网络,这些算法的内部状态未被使用(即被视为黑盒)。例如,(Silver,2017)使用 MCTS 作为策略改进运算符来更新神经网络的权重。相比之下,所提出的搜索动态自举方法使用 Transformer 模型来推广到更高效的搜索模式,并改进模型本身。规划算法(连同其内部搜索动态)用于初始训练 Transformer 模型。

先前的工作重点是训练神经网络执行推理任务的轨迹(Nye,2021)或训练神经网络预测最佳动作(Yang,2022;Pallagani,2022;Ruoss,2024)。相比之下,本文专注于训练 Transformer 以在计算最佳规划时生成 A∗ 的整个搜索过程。提出的模型不是只预测单个动作,而是预测解决任务的整个多步规划。

在强化学习 (RL) 环境中,先前的研究已经研究了使用 Transformer 架构来解决复杂的顺序决策任务 (Chen,2021;Janner,2021;Laskin,2023)。然而,先前的研究提出了不同的方法来建模试错交互的轨迹,并侧重于预测下一个动作、状态或奖励或它们的组合。相比之下,本文演示如何使用 Transformer 来建模计算最佳多步规划所涉及的搜索步骤。MCTSNet (Guez,2018) 也试图学习搜索过程本身,但仍然将 MCTS 搜索过程 (Coulom,2006) 硬编码到神经网络中,这会导致二次反向传播开销,并且只能处理最多 500 步展开,而本文方法可以处理更长的搜索执行轨迹。Transformers 不仅可以模仿符号规划算法,还可以通过微调发现更有效的启发式方法。


如图概述合成数据集的生成过程。考虑两个领域:迷宫导航(图 (a))和 Sokoban puzzle(图(d))。在迷宫导航中,目标是找到穿过 n×n 迷宫的最短路径。在 Sokoban 中,一个工人可以向上、向下、向左或向右移动,并且必须将每个箱子推到码头上才能解决难题。错误的移动可能会立即导致死胡同,因此需要跨多个时间步进行推理才能解决难题。难题中的每个状态都由箱子和工人位置的组合组成,这使得推箱子在计算上比迷宫导航更难解决。

在这里插入图片描述

图片

(d)Sokoban puzzle

在图 (a) 中的迷宫示例中,每个节点都对应一个空的(非墙)网格单元。对于每个节点,算法都会计算一个启发式值和起始值的一个成本。在任何给定的迭代中,下一个搜索的节点由边界和封闭集的内容以及启发式值和起始值成本决定(图 ©,左图)。A 的执行轨迹通过跟踪所有插入边界和封闭集的操作以及启发式值和起始值成本来收集(图 ©,右图)。图 © 中的右图,显示图 (b) 中所示的迷宫示例结果轨迹。每一行对应于将节点插入边界(由create token表示)或将节点移动到封闭集(由close token表示)。每个节点都由其在迷宫中的 (x, y) 位置以及两个成本tokens表示。然后将结果规划附加到此轨迹。此轨迹的构造使得给定任何前缀,都可以正确预测下一个token。对于迷宫数据集,A* 用距目标位置的曼哈顿距离作为启发式方法。在 Sokoban 中,A* 首先将每个箱子与最近的码头匹配,然后计算每个箱子和码头对之间所有曼哈顿距离的总和。

对于每个实验,生成两个 token 序列变型,如上图所示:

  • • 格式为 的仅解决方案序列,其中 部分编码任务描述, 部分编码最佳规划(图 (b))。
  • • 格式为 的搜索增强序列,其中 部分编码 A 的执行轨迹(图 ©)。

由于每个模型都是从头开始训练的,因此生成的模型经过专门训练,仅预测概述一组不同规划任务的最佳规划序列。训练后,将解析并评估模型的输出是否包含最佳或可行的解决方案规划。

在生成 token 序列数据集时,每个任务都是唯一的,并且测试集的构造方式使其不包含任何训练集的重复项。通过这种实验设计,深入了解如何使用 Transformers 来解决规划任务并推广到以前从未见过的测试任务。

通过包含中间计算步骤,Transformer 模型经过训练可以有效地模仿 A* 算法执行的计算。与过程克隆 (Yang et al., 2022) 不同,在过程克隆中,神经网络被学习来预测最佳状态/动作序列(在我们的例子中是任务提示和最佳计划),本文的 Transformer 模型还学习预测整个思考过程,包括尝试但失败的路径,从而得出最佳规划。

对于每个实验,都使用编码器-解码器 T5 架构 (Raffel et al., 2020) 的改版,该架构集成旋转位置嵌入 (RoPE) (Su et al., 2023)。编码器处理训练序列的 部分,解码器处理 格式的序列(搜索增强模型)或仅处理 格式的序列(仅解决方案模型)。根据模型变型,每个网络都经过训练以最大化解码器生成分布与从训练数据集中采样相应序列的分布之间的交叉熵。

为了减少搜索增强模型在推理过程中生成的tokens数量,实现一种方法来迁移解码器生成执行轨迹的分布。首先,训练搜索增强模型来模仿 A 搜索的搜索动态。为了使用此搜索增强模型发现新的搜索动态并探索执行轨迹空间,搜索增强模型必须为同一任务提示生成不同的序列。在训练数据中引入非确定性来实现这一点,并使用非确定性的 A 实现,该实现随机打破成本关系并随机化子节点的扩展顺序。这种方法不会降低 A 搜索本身的效率,而只改变搜索不同节点的顺序,同时仍然尊重 A* 的启发式和成本计算。然后,生成的搜索增强模型将近似生成训练序列的概率分布。

再说,所有数据集都是通过首先随机抽样任务,然后执行 A* 获得最佳规划来生成。迷宫任务,首先通过随机选择 30-50% 的所有单元作为墙单元来生成。然后随机选择起点和目标位置,并执行 A* 以获得最佳规划。如果规划的长度至少为迷宫的宽度或高度(例如,对于 10 × 10 迷宫,最佳规划需要包含至少 10 个步骤),则将任务添加到数据集中。对于 Sokoban,对 7 × 7 网格进行采样,并添加两个额外的墙单元作为地图内部的障碍物。然后随机放置两个码头、箱子和工人位置。如果采样的任务可以通过 A* 解决,则该任务被纳入数据集。 由于生成的数据量很大,所有数据都存储在 MongoDB(MongoDB Inc.)实例中并使用 map-reduce 技术进行转换。此外,在对任务进行采样时,数据集被构建为拒绝重复任务,以确保训练和测试数据以及每个提示都是不同的。一旦生成每个任务和轨迹数据集,每个执行轨迹就会转换为提示和响应tokens序列,如图所示。

在这里插入图片描述

添加图片注释,不超过 140 字(可选)

由于 Sokoban 任务非常复杂且难以用 A* 解决,因此生成的tokens序列部分非常长,几乎达到 100000 个tokens。由于 GPU 内存要求,Sokoban 数据集被进一步切片为仅包含最多 10000 个tokens的序列。如图比每个数据集的序列长度分布。

在训练期间,每个数据集也被排序和切片为仅包含报告的训练序列数量。此外,每个模型在每个任务数据集中的相同测试任务上进行评估。测试数据集包含与训练数据长度相当的规划和轨迹。

​

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

Beyond A∗ : Better Planning with Transformers via Search Dynamics Bootstrapping 虽然Transformers在各种应用程序设置中取得了巨大的进步,但在解决复杂的决策任务方面,这种架构仍然落后于传统的符号规划者。在这项工作中,我们展示了如何训练Transformer来解决复杂的规划任务,并展示了Searchformer,这是一种Transformer模型,它可以在93.7%的时间内最优地解决以前看不见的Sokoban难题,同时比标准A星少用26.8%的搜索步骤。搜索Searchformer是一个编码器-解码器转换器模型,用于预测A星的搜索动态。 阅读详情

相关推荐

【JCR一区级】Matlab实现改进麻雀搜索优化算法ISSA-Transformer-GRU负荷数据回归预测算法研究

电力负荷预测是电力系统安全稳定运行和优化调度的关键环节。传统负荷预测方法在处理复杂非线性电力负荷数据时存在精度不足的问题。本文提出一种基于改进麻雀搜索优化算法(ISSA)优化的Transformer-GRU模型用于负荷数据回归预测。该模型利用Transformer模型强大的序列建模能力提取负荷数据的时序特征,再通过GRU模型进行短期预测,同时采用ISSA算法对Transformer-GRU模型的关键超参数进行优化,以提高预测精度。

qq_59747472的博客 197

Meta最新路径搜索算法 Beyond A*: Better Planning with Transformers via Search Dynamics Bootstrapping详细讲解

transform终于理解了空间问题

jiayoushijie的博客 1918

ILI9488 TFT屏驱动与触摸协同开发指南

TFT-LCD显示模块是嵌入式人机交互系统的核心外设,其工作原理依赖于专用显示控制器(如ILI9488)对GRAM显存的精确读写,并通过SPI等串行总线接收指令与图像数据。理解RGB接口时序、寄存器初始化流程及DC/CS信号控制逻辑,是实现稳定显示的基础技术前提;而四线电阻式触摸功能则需配合XPT2046类ADC控制器,通过独立SPI或模拟时序完成坐标采集。该方案兼顾低功耗、高集成与工程可移植性,广泛应用于工业HMI、仪器仪表及STM32F407等MCU平台的教学与产品开发。本文围绕3.5英寸320×480

weixin_33814090的博客 149

超越 A*:通过搜索动态自举法使用 Transformer 进行更好的规划

24年2月来自Meta 田博的团队论文“ Beyond A*: Better Planning with Transformers via Search Dynamics Bootstrapping”。

yorkhunter的博客 850

告别手动处理:用 Bruker NSMatlabUtilities 工具箱批量分析 AFM 力曲线数据的实战案例

本文介绍了如何使用 Bruker NSMatlabUtilities 工具箱实现 AFM 力曲线数据的批量分析,解决传统手动处理耗时且易出错的问题。通过实战案例展示工具箱的核心功能,包括数据读取、力曲线分析和可视化,帮助科研人员提升数据处理效率和准确性。

weixin_28362173的博客 214

springboot 启动方式 装配流程 自定义starter 文件加载顺序 常见设计模式

springboot 启动方式 装配流程 自定义starter 文件加载顺序 常见设计模式

sv 937

Transformer 的训练过程:从数据预处理到模型收敛的完整解析

其次,通过 Q 与 K 的转置进行点积运算,除以键向量维度的平方根(√dk)进行缩放,避免维度过高导致的梯度消失,再经过 Softmax 函数归一化,得到注意力权重矩阵;Transformer 的训练过程是一个融合数据工程、神经网络原理、优化理论的系统性工作,从数据预处理的精细化处理,到注意力机制的深度建模,再到优化策略的科学设计,每个环节都直接影响模型的最终性能。模型训练并非终点,科学的评估的和高效的部署是 Transformer 技术落地的关键。二、核心训练机制:注意力与网络前向传播​。

wangchenxu815的博客 492

Cadence Virtuoso VIVA波形分析:从背景色修改到线宽调整的完整指南

本文详细介绍了Cadence Virtuoso VIVA波形分析工具的核心使用技巧,包括背景色修改、线宽调整等高级功能。通过具体操作步骤和配置方法,帮助工程师优化波形显示效果,提升工作效率。特别强调了与Calculator组件的配合使用,以及专业波形图的输出技巧。

weixin_27330481的博客 621

补齐Transformer规划短板,田渊栋团队新作Searchformer火了

©作者 |Panda单位 | 机器之心最近几年,基于 Transformer 的架构在多种任务上都表现卓越,吸引了世界的瞩目。使用这类架构搭配大量数据,得到的大型语言模型(LLM)等模型可以很好地泛化用于真实世界用例。尽管有如此成功,但基于 Transformer 的架构和 LLM 依然难以处理规划和推理任务。之前已有研究证明 LLM 难以应对多步规划任务或高阶推理任务。为了提升 Transfo...

Paper weekly 275

SimpleFOC STM32实战:基于F103与HAL库,剖析速度环与电流环的协同控制

本文详细介绍了基于STM32F103与HAL库的SimpleFOC实战应用,重点剖析速度闭环控制与电流环的协同工作原理。通过开发环境搭建、参数调试技巧及性能优化方案,帮助开发者高效实现无刷电机精准控制,适用于机器人、无人机等高精度应用场景。

weixin_29170327的博客 476

【Android Performance】Android CPU调度模式详解:从performance到schedutil的Governor调优指南

本文系统讲解Android/Linux系统中的CPU频率调节策略(Governor),涵盖六大调度模式的底层工作原理:performance(性能优先)、powersave(省电优先)、conservative(保守调频)、ondemand(按需调频)、userspace(手动控制)以及schedutil(调度器驱动)。文中深入拆解每种Governor的调频决策逻辑、上升/下降曲线的差异、适用场景与选型建议,并配以实操命令演示如何查看可用Governor列表、动态切换调度模式以及多Cluster架构下的统一

weixin_44081096的博客 432

补齐Transformer规划短板,田渊栋团队的Searchformer火了

机器之心报道编辑:PandaTransformer 强大的泛化能力再次得到证明!最近几年,基于 Transformer 的架构在多种任务上都表现卓越,吸引了世界的瞩目。使用这类架构搭配大量数据,得到的大型语言模型(LLM)等模型可以很好地泛化用于真实世界用例。尽管有如此成功,但基于 Transformer 的架构和 LLM 依然难以处理规划和推理任务。之前已有研究证明 LLM 难以应对多步规划任务...

zenRRan的博客 209

微信公众号 - 解决报错 “err_msg“:“system:access_denied“,微信环境浏览器真机使用微信支付、微信授权登录、分享朋友圈转发好友报错system:access_denied

微信公众号,微信网页,手机h5网页,微信报错,system:access_denied,微信支付,提示报错,微信登录授权报错,微信朋友圈分享,微信转发,WeixinJSBridge,微信环境下,微信内置浏览器,微信公众号项目报错system:access_denied,如何解决,invoke(),API调用后出现报错,微信内部H5 WeixinJSBridge.invoke system:access_denied,使用微信jssdk时报access_denied错误,还是报错,真机运行,真机调试api返回

🏆 前端领域优质创作者 1万+

PianoPlayer:基于动态规划算法的智能钢琴指法优化引擎

在钢琴演奏的艺术与技术之间,指法选择是连接两者的关键桥梁。传统指法教学依赖经验积累和规则记忆,而PianoPlayer项目通过计算智能重新定义了这一过程。这个开源工具利用动态规划算法,为任意钢琴谱自动生成符合人体工程学的最优指法方案,将复杂的音乐分析转化为精确的数学优化问题。 ## 技术架构:从音符序列到指法路径的数学映射 PianoPlayer的核心引擎位于`pianoplayer/core

gitblog_00916的博客 945

华为OD机试真题 新系统 9月16号 【园区基站节能部署规划】

华为OD机试真题 新系统【园区基站节能部署规划】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【园区基站节能部署规划】多语言题解。

qq_45776114的博客 356

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

电动汽车路径规划与调度的智能突破!小小Transformer,拿捏~

【摘要】动态融合与多尺度建模技术因其自适应性强、计算效率高的特点,正成为深度学习研究热点,在CVPR、ICML等顶会持续涌现创新成果。三篇代表性论文分别提出:1)TSPRank方法将排序问题转化为旅行商问题,通过双线性模型优化全局排序;2)基于双注意力网络的场景处理模块,强化随机调度问题的鲁棒性;3)Transformer模型实现电动车队规模无关的路径规划,显著提升求解效率。这些研究均展现"理论简洁+工业价值"的显著优势,建议研究者关注跨模态、轻量化等应用场景窗口期。关注【学术鲸】获取更

Tulingjin的博客 619

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LLM智能体如何通过树搜索实现深度规划与决策优化

在人工智能领域,智能体的决策能力是其核心价值体现。传统基于大语言模型的智能体虽在单步任务上表现出色,但在处理多步骤、长序列的复杂问题时,常因缺乏系统性规划而陷入局部最优或矛盾决策。树搜索作为一种经典的搜索与规划算法,通过构建和遍历可能性空间来寻找最优解,其原理在于将决策过程形式化为树状结构,通过模拟、评估和回溯来优化行动序列。这一技术为现代LLM智能体提供了关键的“慢思考”认知层,弥补了LLM在长程逻辑推演和战略规划上的不足。结合蒙特卡洛树搜索等技术,智能体能够在工具调用、复杂游戏、科研模拟及商业决策等应用

weixin_34392435的博客 435

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Searchformer

这个过程会得到一种神经规划算法,其隐式地编码在该 Transformer 的网络权重之中,并且它有很高的概率以少于 A∗ 搜索的搜索步数找到最优规划。该方法首先是训练一个 Transformer 模型来模仿 A∗ 的搜索过程(如图 1 所示,然后对其进行微调,使其能用更少的搜索步数找到最优规划。整体而言,尽管当使用的训练数据集足够大和足够多样化时,仅使用解训练的模型也能预测得到最优规划,但当数据量少时,经过搜索增强的模型的表现明显好得多,并且也能更好地扩展用于更困难的任务。whaosoft aiot htt

whaosoft143ai的博客 603

长视野智能体搜索范式革新:从复杂规划到高效搜索的实践路径

在人工智能领域,智能体(Agent)的规划与搜索能力是解决复杂任务的核心技术。传统方法依赖大语言模型进行长序列任务分解和逐步规划,但面临计算效率低下和泛化能力不足的挑战。其原理在于过度复杂的内部推理会导致‘思考瘫痪’和误差累积,尤其在动态环境中表现脆弱。技术价值体现在通过重构搜索范式,将智能嵌入搜索行动本身,实现更高效的资源利用和更强的环境适应性。应用场景广泛覆盖自动化文献调研、复杂信息检索、旅行规划等需要多步骤决策的领域。本文聚焦‘Search More, Think Less’新范式,探讨如何将长程规划

weixin_33842304的博客 367

ARMATA框架:基于自回归Transformer的动态多智能体任务分配

多智能体系统(MAS)通过多个自主智能体的协同,解决单个智能体难以完成的复杂任务,其核心挑战在于高效的任务分配与协同决策。传统静态分配方法在动态、不确定环境中适应性不足,而自回归(Auto-Regressive)机制将分配建模为序列决策问题,使系统能根据实时状态持续调整。Transformer架构凭借其强大的序列建模和注意力机制,成为实现动态编码与决策生成的理想选择,通过捕捉智能体、任务及环境间的复杂关系,输出最优分配动作。结合强化学习在仿真环境中训练,该系统能显著提升任务完成率、资源利用率及系统鲁棒性。该

weixin_34214500的博客 348

【序列建模新范式】Trajectory Transformer:用波束搜索统一离线RL与模仿学习

本文深入解析了Trajectory Transformer如何通过序列建模统一离线强化学习与模仿学习。该模型利用Transformer架构和波束搜索技术,将强化学习过程转化为序列生成问题,显著提升了数据效率和长程依赖捕捉能力。实验证明,在多种标准环境中,Trajectory Transformer性能超越传统方法20-35%,尤其在离线RL和模仿学习任务中表现突出。

weixin_32308101的博客 225

【创新未发表】Matlab实现麻雀搜索优化算法SSA-Kmean-Transformer-BiLSTM组合状态识别算法研究

【内容导语】在机器学习领域不断演进的今天,状态识别技术迎来了革命性的创新。利用Matlab的强大计算能力,结合麻雀搜索优化算法(SSA)、K-means聚类、Transformer模型和双向长短时记忆网络(BiLSTM),我们成功实现了一种全新的状态识别算法。这一算法不仅提升了数据处理的效率,还极大地改善了模式识别的准确度,为智能系统的发展开辟了新天地。【正文章节】第一章:麻雀搜索优化算法(SSA)简介。

qq_72962865的博客 481

视觉原生智能体搜索:从多模态理解到主动推理的下一代搜索范式

多模态搜索是信息检索领域的重要演进方向,它旨在让机器能够同时理解和处理文本、图像、视频等多种形态的信息。其核心原理在于通过视觉语言模型等先进技术,将不同模态的数据映射到统一的语义空间,实现跨模态的语义对齐与匹配。这一技术的核心价值在于突破了传统关键词搜索的局限,能够更精准地捕捉用户的复杂意图,尤其是在需求难以用文字精确表述的场景中。在应用层面,它正广泛赋能于创意设计、电商购物、内容管理等领域,极大地提升了素材发现和商品推荐的效率与精度。本文聚焦的“视觉原生智能体搜索”正是这一趋势下的前沿实践,它通过引入智能

weixin_30550081的博客 477

【Transformer时序预测】基于Transformer实现股价数据预测附matlab代码

Transformer模型在自然语言处理领域取得了巨大成功,其强大的并行计算能力和长距离依赖建模能力也使其在时间序列预测领域展现出巨大潜力。本文将详细介绍如何利用Transformer模型进行股价预测,并提供完整的MATLAB代码实现。1. 引言股票价格预测是金融领域的重要研究课题,传统的预测方法如ARIMA、SVM等往往受限于对时间序列数据的线性假设和局部依赖建模能力,难以捕捉复杂的时间依赖关系。

qq_59747472的博客 1073

Transformer与Yan架构对比:AI模型设计的两种哲学

深度学习架构设计存在两种主要路线:通用型Transformer与专用型Yan架构。Transformer基于自注意力机制,擅长处理长序列数据和迁移学习,但计算复杂度高;Yan架构则针对边缘计算优化,具有低延迟和高效能特性。在AI工程实践中,模型压缩和部署优化是关键环节,包括知识蒸馏、量化技术和算子融合等方法。随着AI应用场景的多样化,混合架构和硬件感知设计成为趋势,特别是在移动端和边缘设备部署场景中,需要权衡计算效率与模型精度。

weixin_34314962的博客 512
上一篇: 5个简单好用的本地运行大模型的方法
下一篇: 不需要AI产品经理岗了?
AI程序猿人
博客等级 码龄3年 6517粉丝 561原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值