ICML 2017: 基于卷积的Seq2Seq解决方案
一.文章概述
通常而言,Seq2Seq解决方案一般都采用循环神经网络,但在本文,作者提出了基于卷积神经网络的解决方案ConvS2S。基于卷积神经网络的方案有两大优势:计算并行化更高,优化更容易(非线性的数量是固定的)。
二.卷积框架
ConvS2S的框架如下图所示,在对源语句English(上)进行编码后,对4个德语目标词进行编码(左下)并计算并计算注意力。然后将注意力(中右)计算的条件输入添加到解码器状态,再预测目标单词(右下)。

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 wj∈Rf。对于其嵌入表示,作者加上了绝对位置,即 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} X∈Rk×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[hi−k/2l−1,…,hi+k/2l−1]+bwl)+hil−1
为了避免decoder看到未来的信息,作者在输入的左侧和右侧都pad k − 1 k-1 k−1个 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[hi−k/2l−1,…,hi+k/2l−1]+bwl)+hil−1
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(dil⋅ztu)exp(dil⋅zju)
其中 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=1∑maijl(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 全都消失࿰…...
前端就业宝典---目录
工作时候扭螺丝,面试时候造火箭,现状就是如此。不管是背八股文,还是掌握了知识的精华,对答如流才是硬道理。本专栏就是要集具前端精华,规范、算法、架构、封装、原理等一并汇集,让前端的小伙伴有个思路。 大剑师的微信 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个(池࿰…...
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 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
