Transformer直接预测完整数学表达式,推理速度提高多个数量级

Transformer长期时序预测 transformer主要对输入特征进行编码、解码等,在这里原理并不过多的介绍,我们通过实例来完成transformer在时间序列上的预测应用。transformer预测的结果并不是单一的值,而是一个集合,预测出在该时间序列的可能值,然后再根据具体的业务需求完成最后的值,下图展示了结果中的某一样本的预测值。我们使用的是某一零件的耗用量,预测未来半年的该零件的耗用情况,时间维度是月,数据的示意图如下图所示。如上图所示,蓝色部分为训练数据,红色为测试部分。紧接着搭建训练样本、测试样本以及验证样本的数据加载器。 阅读详情

前言

来自 Mata AI、法国索邦大学、巴黎高师的研究者成功让 Transformer 直接预测出完整的数学表达式。

转载自丨机器之心

符号回归,即根据观察函数值来预测函数数学表达式的任务,通常涉及两步过程:预测表达式的「主干」并选择数值常数,然后通过优化非凸损失函数来拟合常数。其中用到的方法主要是遗传编程,通过多次迭代子程序实现算法进化。神经网络最近曾在一次尝试中预测出正确的表达式主干,但仍然没有那么强大。

在近期的一项研究中,来自 Meta AI(Facebook)、法国索邦大学、巴黎高师的研究者提出了一种 E2E 模型,尝试一步完成预测,让 Transformer 直接预测完整的数学表达式,包括其中的常数。随后通过将预测常数作为已知初始化提供给非凸优化器来更新预测常数。

图片

论文地址:https://arxiv.org/abs/2204.10532

该研究进行消融实验以表明这种端到端方法产生了更好的结果,有时甚至不需要更新步骤。研究者针对 SRBench 基准测试中的问题评估了该模型,并表明该模型接近 SOTA 遗传编程的性能,推理速度提高了几个数量级。

方法

Embedder

该模型提供了 N 个输入点 (x, y) ∈ R^(D+1),每个输入点被表征为 d_emb 维度的 3(D + 1) 个 token。随着 D 和 N 变大,这会导致输入序列很长(例如,D = 10 和 N = 200 时有 6600 个 token),这对 Transformer 的二次复杂度提出了挑战。

为了缓解这种情况,该研究提出了一个嵌入器( embedder )来将每个输入点映射成单一嵌入。嵌入器将空输入维度填充(pad)到 D_max,然后将 3(D_max+1)d_emb 维向量馈入具有 ReLU 激活的 2 层全连接前馈网络 (FFN) 中,该网络向下投影到 d_emb 维度,得到的 d_emb 维的 N 个嵌入被馈送到 Transformer。

该研究使用一个序列到序列的 Transformer 架构,它有 16 个 attention head,嵌入维度为 512,总共包含 86M 个参数。像《 ‘Linear algebra with transformers 》研究中一样,研究者观察到解决这个问题的最佳架构是不对称的,解码器更深:在编码器中使用 4 层,在解码器中使用 16 层。该任务的一个显著特性是 N 个输入点的排列不变性。为了解释这种不变性,研究者从编码器中删除了位置嵌入。

如下图 3 所示,编码器捕获所考虑函数的最显著特征,例如临界点和周期性,并将专注于局部细节的短程 head 与捕获函数全局的长程 head 混合在一起。

图片

训练

该研究使用 Adam 优化器优化交叉熵损失,在前 10000 步中将学习率从 10^(-7) 提升到 2.10^(-4),然后按照论文《 Attention is all you need 》中的方法将其衰减为步数的平方根倒数(inverse square root)。该研究提供了包含来自同一生成器的 10^4 个样本的验证集,并训练模型,直到验证集的准确率达到饱和(大约 50 个 epoch 的 3M 个样本)。

输入序列长度随点数 N 显著变化;为了避免浪费填充,该研究将相似长度的样本一起批处理,确保一个完整的批处理包含至少 10000 个 token。

实验结果

该研究不仅评估了域内准确性,也展示了在域外数据集上的结果。

域内性能

表 2 给出了该模型的平均域内结果。如果不进行修正,E2E 模型在低精度预测(R^2 和 Acc_0.1 指标)方面优于在相同协议下训练的 skeleton 模型,但常数预测中存在的错误会导致在高精度(Acc_0.001)下的性能较低。

图片

修正之后的程序显著缓解了这个问题,让 Acc_0.001 提升了三倍,同时其他指标也有所改进。

图片

图 4A、B、C 给出了 3 个公式难度指标的消融实验结果(从左到右):一元算子的数量、二元算子的数量和输入维数。正如人们所预料的那样,在所有情况下,增加难度系数会降低性能。这可能会让人认为该模型在输入维度上不能很好地扩展,但实验表明,与并发方法相比,该模型在域外数据集上的扩展性能非常好,如下图所示。

图片

图 4D 显示了性能与输入模型的点数 N 之间的关系。在所有情况下,性能都会提高,但 E2E 模型比 skeleton 模型更显著,这证明大量数据对于准确预测表达式中的常数是非常重要的。

外推和稳健性。如图 4E 所示,该研究通过改变测试点的规模来检查模型内插 / 外推的能力:该研究没有将测试点归一化为单位方差,而是将它们归一化为 σ。随着 σ 的增加,性能会下降,但是即使远离输入(σ = 32),外推性能仍然不错。

最后,如图 4F 所示,研究者检查了使用方差 σ 的乘性噪声(multiplicative noise)对目标 y 的影响:y → y(1 + ξ), ξ ∼ N (0, ε)。这个结果揭示了一些有趣的事情:如果不进行修正,E2E 模型对噪声的稳健性不强,实际上在高噪声下性能比 skeleton 模型差。这显示了 Transformer 在预测常数时对输入的敏感程度。修正之后 E2E 模型的稳健性显著提高,但将常数初始化为估计值的影响较小,因为常数的预测被噪声破坏了。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

【课程总结】day21(上):Transformer源码深入理解之预测过程 在上一章【课程总结】day20:Transformer源码深入理解-训练过程总结中,我们对Transformer的训练过程进行了详细的分析,本章将介绍Transformer的预测过程。 阅读详情

相关推荐

符号回归技术:从遗传编程到LLM融合的数学表达式发现

符号回归是一种通过算法自动发现数据背后数学表达式的机器学习技术,其核心价值在于同时实现高精度预测和可解释模型构建。该技术通过遗传编程、深度学习和强化学习等方法,在数学表达式空间中进行智能搜索。其中,遗传编程采用进化算法迭代优化表达式,而深度学习方法如E2E和NeSymReS利用Transformer架构实现端到端训练。最新进展显示,结合大语言模型(LLM)的符号回归框架(如LLM-SR)能显著提升方程发现效率,在材料科学、物理建模等领域展现出强大应用潜力。实践表明,符号回归特别适合解决需要明确数学表达的科学

weixin_30345577的博客 399

时间序列预测实战(十四)Transformer模型实现长期预测并可视化结果(附代码+数据集+原理介绍)

这篇文章给大家带来是Transformer在时间序列预测上的应用,这种模型最初是为了处理自然语言处理(NLP)任务而设计的,但由于其独特的架构和能力,它也被用于时间序列分析。Transformer应用于时间序列分析中的基本思想是:Transformer 在时间序列分析中的应用核心在于其自注意力机制,这使其能够有效捕捉时间序列数据中的长期依赖关系。通过并行处理能力和位置编码,Transformer 不仅提高了处理效率,而且确保了时间顺序的准确性。定制化训练个人数据集进行训练利用python和pytorch实现

Snu77的博客 3万+

YOLO与Transformer核心原理及工程实践:从代码实现到生产部署

目标检测和序列建模是计算机视觉与自然语言处理的基础技术。目标检测通过定位和识别图像中的物体,为自动驾驶、安防监控等应用提供核心能力;序列建模则利用自注意力机制处理文本、语音等序列数据。YOLO模型采用端到端的回归方法实现高效实时检测,其网格划分和边界框预测机制显著提升了推理速度。Transformer架构通过多头自注意力机制捕获长距离依赖关系,解决了传统RNN的梯度消失问题。在工程实践中,YOLOv8的anchor-free设计和Transformer的编码器-解码器结构为模型部署提供了优化基础。通过PyT

weixin_33046983的博客 264

Transformer神经网络回归预测的MATLAB实现

Transformer网络由Vaswani等人在2017年提出,其核心是自注意力机制(Self-Attention Mechanism)。它在处理序列数据时,能够同时考虑序列中所有位置的信息,而不像循环神经网络(RNN)和卷积神经网络(CNN)那样依赖于固定的输入序列顺序。Transformer神经网络在序列数据处理中展现出了强大的能力,其自注意力机制能够有效地捕捉长距离依赖关系,适用于多种回归预测任务,包括但不限于时间序列预测。在实际应用中,需要根据具体任务调整网络结构和参数设置,以达到最佳的预测性能。

沅的博客 2276

MTP技术解析:大语言模型如何实现多token预测与性能提升

自回归语言模型是自然语言处理的基础技术,其核心原理是通过前文预测下一个词元(token)。传统方法采用逐词预测方式,虽然实现简单,但在训练效率和学习深度上存在局限。多token预测(MTP)技术通过让模型同时预测多个未来词元,改变了这一范式。从技术价值看,MTP迫使模型学习更深层次的语言结构,而不仅仅是表面词序关系,显著提升了模型的语言理解能力。在应用场景上,这项技术特别适合需要长文本理解和生成的任务,如文档摘要、代码生成等。基于Transformer架构的MTP实现需要对输出层进行改造,增加多个预测头来处

weixin_34195142的博客 340

数学推理模型优化:MHPO框架设计与性能提升

数学推理是人工智能领域的关键挑战,要求模型具备逻辑推导、符号运算和多步推理能力。传统Transformer架构在处理数学表达式时存在符号表示效率低、误差累积等问题。通过引入分层优化架构和动态注意力机制,MHPO框架显著提升了模型性能。该框架包含符号表示层、推理过程层和知识整合层,支持数学专用token嵌入和状态追踪。在MATH数据集测试中,代数正确率提升46%,几何正确率提升64%。这种优化方法不仅适用于数学问题求解,也为复杂逻辑推理任务提供了新的技术思路,特别是在教育科技和自动定理证明等领域具有广泛应用前

weixin_33713707的博客 373

Deep Learning阅读笔记:Chapter 2—Linear Algebra

Linear Dependence and Span(线性相关和生成子空间) 其实这部分推导了中b具有唯一解的条件。 从矩阵和向量相乘入手: ,其中是一个的已知的矩阵,就是一个维的未知的列向量,得到的就是一个维的已知的列向量。等式左侧可以写为该形式: 简化版就是: 相当于A视为一组(n个)列向量,每一个列向量与x中一个对应的元素(x有n个元素)相乘得到一个新的列向量,新的列向量相...

lynlindasy的博客 684

基于Transformer的车道线检测:LSTR模型实战解析

本文深入解析了基于Transformer的端到端车道线检测模型LSTR。该模型摒弃了传统的像素级分割与后处理流程,通过直接预测车道线的参数化曲线方程,实现了高效、鲁棒的检测。文章详细阐述了其架构原理,包括轻量化Backbone、Transformer编码器-解码器及匈牙利损失,并提供了从环境搭建、数据准备到模型训练与部署的完整实战指南,助力开发者在自动驾驶等场景中应用。

weixin_29062671的博客 379

【深度学习】Transformer直接预测完整数学表达式,推理速度提高多个数量级

机器之心报道机器之心编辑部来自 Mata AI、法国索邦大学、巴黎高师的研究者成功让 Transformer 直接预测出完整的数学表达式。符号回归,即根据观察函数值来预测函数数学表达式的任务,通常涉及两步过程:预测表达式的「主干」并选择数值常数,然后通过优化非凸损失函数来拟合常数。其中用到的方法主要是遗传编程,通过多次迭代子程序实现算法进化。神经网络最近曾在一次尝试中预测...

fengdu78的博客 927

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码)

本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。

weixin_29186249的博客 311

手机也能跑大模型?QNN框架实战:从模型量化到Android部署全流程

本文详细介绍了如何利用QNN框架将大模型部署到Android手机端进行端侧推理。通过实战演示了从模型量化(如INT4/INT8混合精度)到Android应用集成的全流程,包括内存优化、性能调优及常见问题排查,帮助开发者实现大模型在资源受限设备上的高效本地运行。

joy55的博客 500

NeurIPS|基于Transformer的端到端符号回归方法

这是一项具有挑战性的任务,通常需要通过两步流程完成:首先预测表达式的“骨架”(即不包含具体数值常数的结构),随后通过优化一个非凸损失函数来拟合其中的常数参数。ill-posed problem),难以提供充分的监督信息:同一骨架的不同实例可能具有截然不同的函数形状,而结构完全不同的骨架在函数空间中却可能非常接近。骨架决定了表达式的大体形式,但尚未确定具体的数值常数,例如。后一类方法虽然放宽了对潜在规律的假设,但其得到的模型通常较难解释,并且在小规模实验数据上容易发生过拟合,从而导致较差的外推性能。

zuiyishihefang的博客 384

SAR ADC和sigma delta ADC的区别

0、ADC基本概念 ADC,即analog to digital converter,模拟到数字的转换器,简称模数转换器。 为什么需要ADC?因为现实的世界中,电信号是连续的,例如心电信号,或者声音信号,这些连续的信号被称为“模拟信号”。 图1:心电信号 图2:声音信号 然而这种连续的信号是无法被计算机处理的,计算机只认识0和1组成的“数字信号“。ADC就充当了这样一个桥梁,将“模拟信号”转换为计算机能识别的“数字信号”。举个例子,当前的心电电压为1.2V(实际没有这么高),ADC可能会得

长河柱天的博客 2万+

【论文+代码】基于transformer的端到端符号回归算法

✅作者简介:双一流博士,人工智能领域学习者,深耕机器学习,交叉学科实践者。已发表SCI1/区top论文10+,发明专利10+。可提供论文服务,代码复现,专利思路和指导,提供科研小工具,分享科研经验,欢迎交流!📌个人主页: https://blog.youkuaiyun.com/allein_STR?📞联系博主:博文留言+主页底部联系方式+WeChat: Allein_STR📙本文内容:【基于transformer的端到端符号回归算法】

allein_STR的博客 2810

ADBMS1818芯片

 可测量多达18串电池电压 3 mV最大总测量误差 内置isoSPI接口 使用单根双绞线,长达100米 290 μs内可完成系统中所有单体电池电压测量。

m0_61973119的博客 4274

Cadence PSpice 仿真6:反向放大器傅里叶仿真(FFT,谐波分析)实战图文教程

总谐波失真(THD)指音频信号源通过功率放大器时,由于非线性元件所引起的输出信号比输入信号多出的额外谐波成分。比如理想运放输出为5V 1Khz的正玄波时,实际输出的信号按照傅里叶展开后不但含有5V 1KHZ的分量,还有1V 2KHZ的分量,那么多出来的1V的分量就是二次谐波,二次谐波失真系数就是20%,由于任意1个波形按照傅里叶展开是可以展开到n次的,所以除了二次谐波外,输出的信号还有3,4,5……n次谐波,随着n的变大谐波的分量会变小,总谐波失真系数就是所有谐波分量和1次谐波(基波)的比值。Cadence

fydar的博客 4956

杜克大学研究揭示:简单模型在时序预测中超越Transformer

杜克大学研究揭示:简单模型在时序预测中超越Transformer

至顶AI实验室 679

【AI产品与商业航图】Flux.1 完全开源 AI 绘图模型:本地部署与 ComfyUI 实战指南

Flux.1是一个开源项目,用户可以自由使用和修改,完全免除使用费用。🖥️本地部署支持:与一些依赖云端计算的工具不同,Flux.1支持本地部署,确保用户可以离线使用并自主控制数据隐私。🔄兼容ComfyUI框架:Flux.1可以无缝集成到ComfyUI中,用户可以享受更加简便和直观的操作界面。🎨卓越的图像生成能力:Flux.1能够生成高质量、细腻的图像,支持多种风格与创作主题的切换。💾低硬件要求。

高校图书馆高级系统架构师/研究馆员,推动高校AI从概念演示到可评审、可交付、可运维:路线图与立项评审、PoC交付、评测回归与上线运维(Baseline/Eval/Ops)。 1737

从各个角度讲透一个强大的算法模型,Transformer !!

摘要:本文深入解析Transformer模型的核心原理与优势。Transformer通过自注意力机制突破传统RNN/LSTM的序列处理局限,实现全局并行信息检索。其核心架构包含编码器-解码器结构、位置编码、多头注意力等模块,具有效率高、建模能力强、适用性广等特点。文章通过时间序列预测任务进行实战演示,详细讲解模型各组件实现细节,包括注意力机制、残差连接、层归一化等关键技术,并提供了完整的训练流程和可视化分析方法。最后总结了Transformer的核心优势在于其全局注意力机制和多头多视角的并行学习能力。

一个不怎么正经的算法工程师的博客~不定期更新一些我所覆盖领域的干货~~~包你满意噢~~ 1118

FineReport FCP模拟题五

新建决策报表,设置 移动端 格式,采用绝对布局。数据来源:FRDemo中的订单表/雇员表。

Davina_yu的博客 725

RT-DETR改进策略【卷积层】| CVPR-2020 Strip Pooling 空间池化模块 处理不规则形状的对象 含二次创新

一、本文介绍 本文记录的是利用Strip Pooling模块优化RT-DETR的目标检测网络模型。Strip Pooling结合了长而窄的卷积核形状在一个空间维度上的长程关系捕捉能力和在另一个空间维度上的局部细节捕捉能力,有效地处理复杂的场景信息。这一机制通过采用1×N1×N1×N或N×1N×1N×1的池化核形状来适应不同的图像特征,提高模型对目标形状和分布的适应性。在场景解析网络中,Strip Pooling可以被用于提升对具有长程带状结构或离散分布目标的解析能力,特别是在复杂场景或不同对象布局条件下效果

Limiiiing的博客 580

MTP多令牌预测:突破自回归生成的文本生成新范式

自回归生成是自然语言处理中的基础技术,模型通过逐个预测令牌来生成文本序列。其核心原理是基于当前上下文预测下一个最可能的令牌,这种串行生成方式虽然简单直观,但在实际应用中面临误差累积和效率瓶颈等挑战。多令牌预测技术通过让模型一次性预测多个未来令牌,不仅提升了生成效率,更重要的是改善了模型的梯度信号和长程依赖建模能力。在代码生成、公式推导等具有强结构性的应用场景中,MTP技术能够显著提升生成质量和连贯性。本文探讨的MTP实现方案展示了如何通过修改模型架构和训练策略,让传统Transformer具备前瞻预测能力,

weixin_30819085的博客 376

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

基于Transformer的高频风险因子挖掘,实现30%投资回报率提升

本文提出了IRFT,一种利用Transformer直接从高频交易数据挖掘公式型风险因子的端到端方法。该方法通过将风险因子挖掘转化为符号序列生成任务,成功生成包含运算符、特征与常数在内的闭合式数学表达式,并利用BFGS对常数进行精修,提升了对短期市场波动的拟合精度。实证结果显示,该方法不仅在预测性能上显著领先多种基线方法,而且在推断时间和稳定性方面有明显优势。同时,在多市场、多维特征与大规模数据情境下仍保持良好的泛化能力。

m0_59164304的博客 2238

深度学习工具包 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")

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

从BERT到ViT:Transformer架构的NLP与CV实战指南

Transformer架构通过自注意力机制实现了序列数据的并行化处理,其核心价值在于突破RNN的顺序计算限制,显著提升长距离依赖建模能力。在自然语言处理领域,以BERT为代表的预训练模型通过掩码语言建模任务,实现了上下文感知的词向量表示;而在计算机视觉领域,ViT创新性地将图像分块编码为token序列,证明Transformer同样适用于非序列数据。这两种技术都依赖于预训练-微调范式,其中模型蒸馏和量化部署是关键工程实践。当前技术演进呈现高效化(如Linformer)、多模态(如CLIP)和专业化(如Cod

weixin_30572613的博客 350

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 超越卷积滤波器,HyCoT利用Transformer捕捉高光谱图像的全局依赖性 !
下一篇: 分享一本大模型内行人都在学的大模型神书——《从零构建大语言模型》(附PDF)
少喝冰美式
博客等级 码龄3年 6839粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值