当前位置: 首页 > news >正文

ICML 2017: 基于卷积的Seq2Seq解决方案

一.文章概述

通常而言,Seq2Seq解决方案一般都采用循环神经网络,但在本文,作者提出了基于卷积神经网络的解决方案ConvS2S。基于卷积神经网络的方案有两大优势:计算并行化更高,优化更容易(非线性的数量是固定的)。

二.卷积框架

ConvS2S的框架如下图所示,在对源语句English(上)进行编码后,对4个德语目标词进行编码(左下)并计算并计算注意力。然后将注意力(中右)计算的条件输入添加到解码器状态,再预测目标单词(右下)。

Conv2S

2.1 位置编码

给定输入序列 x = ( x 1 , . . . , x m ) \mathbf{x} = (x_1,...,x_m) x=(x1,...,xm),其对应的嵌入表示为 w = ( w 1 , … , w m ) \mathbf{w}=\left(w_1, \ldots, w_m\right) w=(w1,,wm),其中 w j ∈ R f w_j \in \mathbb{R}^f wjRf。对于其嵌入表示,作者加上了绝对位置,即 e = ( w 1 + p 1 , … , w m + p m ) \mathbf{e}=\left(w_1+p_1, \ldots, w_m+p_m\right) e=(w1+p1,,wm+pm)

2.2 卷积块结构

Encoder和Decoder都采用卷积块(一维卷积+非线性层)。令Decoder第 l l l块的输出为 h l = ( h 1 l , … , h n l ) \mathbf{h}^l=\left(h_1^l, \ldots, h_n^l\right) hl=(h1l,,hnl),Encoder第 l l l块输出为 z l = ( z 1 l , … , z m l ) \mathbf{z}^l=\left(z_1^l, \ldots, z_m^l\right) zl=(z1l,,zml) 。给定输入 X ∈ R k × d X \in \mathbb{R}^{k \times d} XRk×d ,经过卷积神经网络的输出为 Y = [ A B ] ∈ R 2 d Y=[A B] \in \mathbb{R}^{2 d} Y=[AB]R2d。对于非线性层,作者采用的是门控线性单元,即:
v ( [ A B ] ) = A ⊗ σ ( B ) v([A B])=A \otimes \sigma(B) v([AB])=Aσ(B)
其中 σ ( B ) \sigma(B) σ(B)控制着当前上下文中哪些输入 A A A是相关的。

此外,为了能堆叠更深的卷积层,作者使用了残差连接。
h i l = v ( W l [ h i − k / 2 l − 1 , … , h i + k / 2 l − 1 ] + b w l ) + h i l − 1 h_i^l=v\left(W^l\left[h_{i-k / 2}^{l-1}, \ldots, h_{i+k / 2}^{l-1}\right]+b_w^l\right)+h_i^{l-1} hil=v(Wl[hik/2l1,,hi+k/2l1]+bwl)+hil1
为了避免decoder看到未来的信息,作者在输入的左侧和右侧都pad k − 1 k-1 k1 0 0 0,并删除了卷积输出末端的 k k k个元素。

h i l = v ( W l [ h i − k / 2 l − 1 , … , h i + k / 2 l − 1 ] + b w l ) + h i l − 1 h_i^l=v\left(W^l\left[h_{i-k / 2}^{l-1}, \ldots, h_{i+k / 2}^{l-1}\right]+b_w^l\right)+h_i^{l-1} hil=v(Wl[hik/2l1,,hi+k/2l1]+bwl)+hil1

2.3 Multi-step Attention

对于每个decoder层,作者引入了单独的注意力机制。作者组合当前解码器状态 h i l h_i^l hil和先前的目标元素 g i g_i gi来计算注意力:
d i l = W d l h i l + b d l + g i d_i^l=W_d^l h_i^l+b_d^l+g_i dil=Wdlhil+bdl+gi
对于解码层 l l l,状态 i i i和源元素 j j j的注意力 a i j l a_{i j}^l aijl是基于点积计算的:
a i j l = exp ⁡ ( d i l ⋅ z j u ) ∑ t = 1 m exp ⁡ ( d i l ⋅ z t u ) a_{i j}^l=\frac{\exp \left(d_i^l \cdot z_j^u\right)}{\sum_{t=1}^m \exp \left(d_i^l \cdot z_t^u\right)} aijl=t=1mexp(dilztu)exp(dilzju)
其中 z j u z_j^u zju表示最后一个编码层的输出。当前解码曾的输入 c i l c_i^l cil即为解码器输出和输入嵌入 e j e_j ej的加权和:
c i l = ∑ j = 1 m a i j l ( z j u + e j ) c_i^l=\sum_{j=1}^m a_{i j}^l\left(z_j^u+e_j\right) cil=j=1maijl(zju+ej)

上述注意力的计算方法与传统的seq2seq中的注意力机制有点不太相同,作者还添加了 e j e_j ej,其类似于键值存储网络,其中键是 z j u z_j^u zju ,值是 z j u + e j z_j^u+e_j zju+ej。编码器的输出 z j u z_j^u zju表示潜在的大输入上下文,而 e j e_j ej提供了特定输入元素的点信息,其对预测比较有效。

2.4 正则化策略

通过缩放残差模块的输出和注意力以确保整个网络的方差不会发生剧烈变化。

对于残差块,将残差块的输入和输出的总和乘以 0.5 \sqrt{0.5} 0.5 ,使总和的方差减半。

由注意力生成的条件输入 c i l c_i^l cil m m m个向量的加权和,作者通过乘以 m 1 / m m \sqrt{1 / m} m1/m 来抵消方差的变化。

相关文章:

ICML 2017: 基于卷积的Seq2Seq解决方案

一.文章概述 通常而言,Seq2Seq解决方案一般都采用循环神经网络,但在本文,作者提出了基于卷积神经网络的解决方案ConvS2S。基于卷积神经网络的方案有两大优势:计算并行化更高,优化更容易(非线性的数量是固定…...

探索GmSSL+Nginx实践及原理

前言 随着大国崛起步伐的迈进,敏感单位的数据安全问题越发受到重视,数据的加密安全传输尤为重要,对于安全问题,国家自研加密算法提供了有力的保障。 作为信创行业的国有企业,十分有必要在网络通信中使用国密算法加密…...

Mybatis框架学习

什么是mybatis? mybatis是一款用于持久层的、轻量级的半自动化ORM框架,封装了所有jdbc操作以及设置查询参数和获取结果集的操作,支持自定义sql、存储过程和高级映射 mybatis用来干什么? 用于处理java和数据库的交互 使用mybat…...

基于微信小程序的电影院订票系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信小程序端的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文参考源码获取 前言 💗博主介绍&…...

LeetCode-热题100-笔记-day32

二分查找 今日刷到二分查找,以前做过的题忘的一干二净;庆幸自己用新的方法做了出来两道“中等”题;(我都能做出来我认为应该标“简单”)由于之前题的难度基本在抄答案,所以停更几天。今天没抄答案就更新一…...

STP生成树协议基本配置示例---STP逻辑树产生和修改

STP是用来避免数据链路层出现逻辑环路的协议,运行STP协议的设备通过交互信息发现环路,并通过阻塞特定端口,最终将网络结构修剪成无环路的树形结构。在网络出现故障的时候,STP能快速发现链路故障,并尽快找出另外一条路径…...

Java版企业电子招标采购系统源码—企业战略布局下的采购寻源

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审…...

华纳云:SQLserver配置远程连接的方法是什么

在 SQL Server 中配置远程连接涉及一些步骤,包括启用远程连接、配置网络协议、设置防火墙规则和授权远程访问。以下是一些配置远程连接的主要步骤: 启用远程连接: 打开 SQL Server Management Studio(SSMS)并连接到你的…...

CryptoCTF easy

文章目录 2023suctionBlue Office 2022Baphomet 2023 suction 题目描述: from Crypto.Util.number import * from flag import flagdef keygen(nbit, r):while True:p, q [getPrime(nbit) for _ in __]e, n getPrime(16), p * qphi (p - 1) * (q - 1)if GCD(e…...

计算机视觉技术的革新:医疗领域的应用

近年来,计算机视觉技术在医疗领域引起了广泛的关注和应用。通过将计算机视觉与医疗技术相结合,我们可以实现更准确、高效的医疗诊断和治疗,为患者提供更好的医疗服务。 首先,计算机视觉在医疗图像分析中的应用是其中的一个重要方…...

python找出文件夹里文件名以特定字符结尾的文件并移动到另一个目录

python找出文件夹里文件名以特定字符结尾的文件并移动到另一个目录 代码 import os import shutil# 源文件夹路径 source_folder "./data/deep/test"# 目标文件夹路径 target_folder "./data/deep/A"# 确保目标文件夹存在,如果不存在则创建…...

面试官问:大量的 TIME_WAIT 状态 TCP 连接,对业务有什么影响?怎么处理?

几个方面: 问题描述:什么现象?什么影响? 问题分析 解决方案 底层原理 1.问题描述 模拟高并发的场景,会出现批量的 TIME_WAIT 的 TCP 连接: 短时间后,所有的 TIME_WAIT 全都消失&#xff0…...

前端就业宝典---目录

工作时候扭螺丝,面试时候造火箭,现状就是如此。不管是背八股文,还是掌握了知识的精华,对答如流才是硬道理。本专栏就是要集具前端精华,规范、算法、架构、封装、原理等一并汇集,让前端的小伙伴有个思路。 大剑师的微信 gis-dajianshi, 欢迎一起交流,并非常期望您能够提…...

Uniboot 系列光纤跳线简介

飞速(FS)Uniboot 系列光纤跳线产品质量可靠,性能优良,可满足数据中心的各种需求。其中,包括LC、CS™、MDC 和 SN 在内的不同类型的连接器能够满足不同应用的特定需求。下面将进一步介绍飞速(FS)…...

【面试题】Promise只会概念远远不够,还需这17道题目巩固!

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 表妹一键制作自己的五星红旗国庆头像,超好看 在学习Promise相关题目之前,我们先做一些知识的回顾:JavaScript 是一门单…...

互联网医院牌照|互联网医院牌照审批流程和材料

随着科技的不断进步和社会的发展,互联网医院已经成为了当前的热点。而互联网医院的准入门槛自然也就越来越高。如果您计划成立一个互联网医院,您需要了解申请互联网医院牌照所需要注意的方面以及申请的流程。 一、资质申请前的准备 1、立项阶段准备 在立…...

第五章:C语言的数组

文章目录 1、数组的理解2、各类数组的定义3、变长数组4、字符数组 1、数组的理解 一维数组:比如定义一个int a[3];,那么可以将其看成两部分,a【3】为①,int为②。意思就是有一个数组名字为a,里面包含3个(池&#xff0…...

Spring面试题3:说一说MVC框架的底层实现

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说一说MVC框架的底层实现 MVC(Model-View-Controller)是一种软件设计模式,常被用于构建用户界面和应用程序的架构。MVC框架的底层实现可以分为…...

云原生周刊:K8s 的 13 个最佳开源监控工具

开源项目推荐 Silver Surfer 该项目旨在检查 Kubernetes 对象的 API 版本兼容性,并为其提供迁移路径,以便为集群升级做好准备。 Actions Runner Controller Actions Runner Controller (ARC) 是一个 Kubernetes 操作器,可为 GitHub Actio…...

怎么克服一篇论文写作前的恐惧感?

作者 代陈锐 中国科学技术大学生命科学与医学部在读博士生,主要探究生理和病理过程中组蛋白翻译后修饰的调控机制。 1. 引言 在我们开始一篇文章的撰写时,往往不知如何下笔或是不停否认自己撰写的内容,最终的结果自然是撰写效率低而且陷入自我纠结。在这里我通过结合平时…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)

Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...

Spring AOP代理对象生成原理

代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】,这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...