【Python机器学习】序列到序列建模——对序列到序列模型的增强

news2024/9/20 6:24:18

有两种增强训练序列到序列模型的方法,可以提高模型的精确率和可扩展性。

使用装桶法降低训练复杂度

输入序列可以有不同的长度,这使短序列的训练数据添加了大量填充词条。过多的填充会使计算成本高昂,特别是当大多数序列都很短,只有少数序列接近最大词条长度时。假设用数据训练序列到序列网络,其中几乎所有的样本都是100个词条长,只有几个包含1000个词条的异常值除外。若不进行装桶,我们需要用900个填充词条填充大部分训练数据,并且在训练阶段,序列到序列网络必须对填充词条进行循环遍历。这种填充数据会大大减缓训练速度。在这种情况下,装桶法可以较少计算量。我们可以按长度对序列排序,并在不同的批处理期间使用不同的序列长度。我们将输入序列分配到不同长度的桶中,例如长度在5~10个词条之间的所有序列放在一个桶中,然后训练该批次时使用这个序列的桶,例如,先训练5~10个词条之间的所有序列,然后训练10~15个词条之间的所有序列,等等。一些深度学习框架提供了一些装桶工具为输入数据提供最佳装桶方式。

如上图,序列首先按照长度排序,然后仅填充到特定桶的最大词条长度。这样,在训练序列到序列网络时,可以减少所有批处理所需的时刻数量。在特定的批处理中,只在需要的范围内(到最长的序列)展开网络。

注意力机制

与隐性语义分析一样,较长的输入序列(文档)倾向于产生不精确表示这些文档的思想向量。思想向量受LSTM层(神经元数量)维数的限制。对于短输入/输出序列,一个思想向量就够了,类似于聊天机器人示例。但是,如果想训练一个序列到序列模型来概述在线文章。在这种情况下,输入序列可以使一篇很长的文章,要将这篇文章压缩到一个思想向量中,以生成一个标题。可以想想,训练网络来确定较长的文档中最相关的信息是很棘手的。标题或摘要(以及相关的思想向量)必须关注该文档的某个特定方面或部分,而不是试图表示其具有的所有复杂含义。

对于这一问题的解决方案就是注意力机制(如上图)。顾名思义,这个想法是要告诉解码器应该注意输入序列中的哪些部分。这种“预演”是通过允许解码器除查看思想向量外,还允许查看编码器网络的所有状态来实现。整个输入序列上的“热图”版本将于网络的其他部分一起学习。每个时刻不同的映射会与解码器共享。当它解码序列的某个特定部分时,思想向量产生的概念会被它直接产生的信息所增强扩充。换句话说,注意力机制通过选择与输出相关的输入部分,允许输入和输出之间直接相连。这并不意味着输入和输出序列的词条要对齐,因为那样就违背了目标,使我们返回了自编码器的阶段。无论概念的表示出现在序列中的哪个部分,它(注意力机制)都可以使它们更加丰富。

有了注意力机制,在给定解码器时刻时,解码器都会接受一个额外的具有每个时刻的输入,表示要“注意”的输入序列中的一个(或多个)系统。编码器中所有序列的重要程度将由解码器各个时刻的加权平均值表示。

配置和调优注意力机制并不简单,但是各种深度学习框架都提供了简单的实现方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2142508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你的绩效是不是常年都是B

原创不易,求赞,求关注,🙏🙏🙏🙏🙏🙏🙏🙏 目录 原创不易,求赞,求关注,🙏🙏&#x1f64…

村落检测系统源码分享

村落检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

Chainlit集成Langchain并使用通义千问AI知识库高级检索(多重查询)网页对话应用教程

前言 之前写过几篇利用Chainlit集成Langchain和国内通义千问大模型集成的知识库检索增加的网页对话应用的技术文章。文章中关于Langchain的知识库检索只是入门级别的教学,本篇文章针对Langchain的知识库高级检索技术和之前对话应用的代码进行完善。 本次主要改进的…

月薪14K的网安公司,来做一下笔试题呀~

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 网络安全简介…

leetcode-枚举算法

1.两数之和 题目一:两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素…

JVM JMM 专题篇 ( 12000 字详解 )

一:JVM 简介 JVM 是 Java Virtual Machine 的简称,意为 Java 虚拟机,虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。 常见的虚拟机:JVM、VMwave、Virtual Box,JVM 和其…

微调大模型不再难:LoRA方法带你轻松节省99%的训练成本!

我们之前说大模型有四种玩家,其中前三种都是要做模型训练的。而大部分公司或个人,都是在第二种开源大模型的基础上来做训练。 而这种训练方式又分为两种。一种要么就是从头训练,要么就Fine-tuning接着开源模型来训练,在基座模型已…

IP 协议分析《实验报告》

目录 一、 实验目的 二、实验设备和环境 三、实验记录 1、实验环境搭建 2、IP 协议分析 1.设置抓包接口 2.IP 报文分析 3.报文长度计算 4.生存时间 TTL 5.分析总结 3、IP分片 1.IP 分片简介 2.捕获分组 3.结果分析 一、 实验目的 1、掌握 IP 协议数据报格式&…

知识图谱与异构图神经网络(7)--1

知识图谱是由实体(节点)和关系( 不同类型的边) 组成的多关系图。作为一种非常重要又特殊的图结构数据,知识图谱被广泛应用在人工智能和自然语言处理领域,从语义解析、命名实体消歧到问答系统、推荐系统中都可以看到来自知识图谱的技术推动。本质上&#…

树和二叉树基本术语、性质

目录 树的相关知识 常见考点1:结点数总度数+1 常见考点2: 度为m的树和m叉树 常见考点3:度为m的树第i层至多有结点数 常见考点4:高度为h的m叉树至多有结点 ​编辑 常见考点5:高度为h的m叉树,高…

可靠性:MSTP 和 VRRP 配置实验

一、拓扑: 说明: 1、交换机 SW1、2、3 分别起 vlan 10、20,都以 trunk 方式连接 2、 PC1、2 分别属于 vlan 10、20 3、SW1、2 起 vlan 100 做为管理段,网关地址分别以 100.1.1.1/24 和 200.1.1.2/24 和 AR1相连 …

监控易监测对象及指标之:全面监控InterSystems Cache数据库

随着企业数字化转型的深入,数据库作为核心的信息资产,其性能和稳定性对于保障业务连续性至关重要。InterSystems Cache作为一款高性能、可扩展的数据库管理系统,广泛应用于医疗、金融、制造等行业。为了确保Cache数据库的高效运行和稳定性能&…

Oracle 启动动态采样 自适应执行计划

为了解决因为统计信息缺失或者统计不够准确而引起的问题,从9iR2的版本开始Oracle推出了动态采样(Dynamic Sampling)功能,使SQL文在硬解析过程中动态地收集统计信息。 该功能在以后的版本上得到更进一步的增强,从11.2.0…

创建一个Java项目并在项目中新建文件,最后实现程序简单的输出

目录 前言 一、建立项目及新建Java类 二、输入简单代码实现输出 前言 1.本文所讲的是java程序设计语言,其内容是如何在id中新建一个项目,并新建一个Java文件,在其内输入相关代码并对其输出; 2.Java文件的编写以收入到我的专栏…

Docker torchserve 部署模型流程

1.拉取官方镜像 地址: https://hub.docker.com/r/pytorch/torchserve/tags docker pull pytorch/torchserve:0.7.1-gpu2. docker启动指令 CPU docker run --rm -it -d -p 8380:8080 -p 8381:8081 --name torch-server -v /path/model-server/extra-files:/home/model-serve…

计算机毕业设计选题推荐-4S店试驾平台-小程序/App

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

js 如何代码识别Selenium+Webdriver

Python 的 Selenium 可以模拟用户操作打开浏览器,前端如何去识别是人机还是真人: window.navigator.webdriver Selenium 人机下是这样的: 正常使用:

Makefile语法详解

目录 1 Makefile基本常识1.1 基本格式1.2 makefile规则1.3 伪目标1.4 变量的使用1.5 赋值方式1.6 常用函数 2 Makefile整体编译2.1 编译选项2.2三个.c整体编译2.3 静态库编译2.4 动态库编译 1 Makefile基本常识 1.1 基本格式 如下所示为Makefile的基本格式,特别需…

高等数学 2.5 函数的微分

文章目录 一、微分的定义二、微分的几何意义三、微分运算1、函数和、差、积、商的微分法则2、复合函数的微分法则 四、微分在近似计算中的应用 一、微分的定义 定义 设函数 y f ( x ) y f(x) yf(x) 在某区间内有定义, x 0 x_0 x0​ 及 x 0 Δ x x_0 \Delta x …

大模型时代:普通人如何获利

随着人工智能技术的飞速发展,我们正步入一个以大模型为驱动力的新时代。这些大型语言模型,如GPT-3和BERT,已经在各个领域展现出惊人的能力,包括文本生成、翻译、问答等。这些技术的进步不仅改变了我们的生活,也为普通人…