Re71:读论文 Sequence to Sequence Learning with Neural Networks

诸神缄默不语-个人CSDN博文目录
诸神缄默不语的论文阅读笔记和分类

论文名称:Sequence to Sequence Learning with Neural Networks
ArXiv下载地址:https://arxiv.org/abs/1409.3215

本文是2014年NeurIPS论文(那时候这个会还叫NIPS),作者来自谷歌。本文是seq2seq (sequence to sequence) 模型的开山之作,一般来说现在写到seq2seq模型的时候就会引用这篇论文。

文章目录

  • 1. Seq2Seq模型
  • 2. 实验
  • 3. 本文撰写过程中参考的其他网络资料

1. Seq2Seq模型

Seq2Seq模型处理输入和输出都是一组序列的数据,在自然语言处理领域主要就是文本生成相关的任务,如机器翻译、文本摘要、问答等。
Seq2Seq 模型由两个主要的组成部分构成:编码器(Encoder)和解码器(Decoder),两部分都是RNN。编码器将输入序列转换为固定长度的上下文向量,然后解码器使用这个上下文向量来生成输出序列。

类似思路的工作之前也见:
(2013 EMNLP) Recurrent continuous translation models:这篇是用的CNN
(2014 EMNLP) Learning phrase representations using RNN encoder-decoder for statistical machine translation:关注于将RNN嵌入统计翻译模型。用纯RNN,因为长程依赖问题所以效果不好
(2015 ICLR) Neural machine translation by jointly learning to align and translate:在上一篇的基础上加入attention,试图解决长序列问题

原论文示例图:
在这里插入图片描述

由4层LSTM(Long Short-Term Memory)将输入序列转换为固定维度的向量,再用另一个LSTM将向量解码为输出序列。本文是在机器翻译领域做的,但显然后来这个模型被扩展到了各种文本到文本的任务上。
用LSTM来对SOTA(SMT统计机器翻译模型)输出结果重排序(计算LSTM对hypothesis表征的对数似然作为LSTM得分,和原始得分求平均作为最终得分)后,可以提升BLEU指标。
本文还发现倒转输入序列顺序能提高模型效果。(一个trick)这个很奇怪,我也没太搞懂,我怀疑是因为RNN对最后的输入最敏感,但是语句就是最前面的最重要,所以就这样了。原文说是因为这么干能引入短程信息。

RNN:
在这里插入图片描述

在这里插入图片描述

训练目标:
在这里插入图片描述
在这里插入图片描述

当时应该还没有系统性总结为encoder-decoder架构,一个encoder-decoder架构更清晰的示意图见:(我后来又看了一下,之前的参考文献里就有了,但是s2s这篇没有按照这种格式来画)
在这里插入图片描述

原始Seq2Seq有显著的长程依赖问题,后续研究提出注意力(attention)机制减缓这一问题。
transformer还有一个idea就是RNN不能并行,所以直接用矩阵乘法实现并行,然后改进了编码方式,来将token的位置信息编码进模型。

2. 实验

当年条件还是很艰苦的,要用C++手写代码,一个4层LSTM模型要分到8个GPU上并行,一次要跑10天……

在这里插入图片描述

当年论文也是不需要超过SOTA的。

句子向量可视化:
在这里插入图片描述

案例分析:
在这里插入图片描述

长度对模型效果的影响和少见词语对模型效果的影响:
在这里插入图片描述

3. 本文撰写过程中参考的其他网络资料

  1. Understanding Encoder-Decoder Sequence to Sequence Model | by Simeon Kostadinov | Towards Data Science
  2. Sequence to Sequence Learning with Neural Networks - 知乎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HBase的简单学习四

一 HBase的进阶 1.1 hbase的写流程 Hbase读取数据的流程: 1)是由客户端发起读取数据的请求,首先会与zookeeper建立连接 2)从zookeeper中获取一个hbase:meta表位置信息,被哪一个regionserver所管理着 hbase:meta表…

C语言:循环结构

循环结构 1. for循环概念举例示例结果分析 补充 2. while循环概念举例示例结果分析补充 3. do-while循环概念举例示例结果分析 补充 4.循环控制举例示例结果分析 C语言中的循环结构是一种重要的编程构造,它允许我们重复执行一段代码,直到满足某个条件为止…

Hive优化以及相关参数设置

1.表层面设计优化 1.1 表分区 分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要…

Angular基础-搭建Angular运行环境

这篇文章介绍了在Angular项目中进行开发环境搭建的关键步骤。包括node.js安装和配置、安装Angular CLI工具、安装angular-router、创建Angular项目等步骤。这篇文章为读者提供了清晰的指南,帮助他们快速搭建Angular开发环境,为后续的项目开发奠定基础。 …

Python中动画显示与gif生成

1. 动画生成 主要使用的是 matplotlib.animation ,具体示例如下: import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy as np fig, ax plt.subplots() t np.linspace(0, 3, 40) g -9.81 v0 12 z g * t**2 / …

【项目学习01_2024.05.02_Day04】

学习笔记 4 课程分类查询4.1需求分析4.2 接口定义4.3 接口开发4.3.1 树型表查询4.3.2 开发Mapper 4 课程分类查询 4.1需求分析 有课程分类的需求 course_category课程分类表的结构 这张表是一个树型结构,通过父结点id将各元素组成一个树。 利用mybatis-plus-gen…

第十五届蓝桥杯Java软件开发大学B组自我经验小结

自我介绍 23届大一 双非 计院科班 软件工程 江苏人在吉林上大学 Java蒟蒻 在学校的宣传下 有幸参加了第十五届蓝桥杯Java大学b组省赛 蓝桥杯说明 就是一个算法比赛吧 考试时间9.00到1.00 四小时 带准考证和身份证和笔 草稿纸会发 赛制是IOC就是不会给任何反馈 就是你…

IDEA 创建Servlet-HelloWorldServlet

servlet 1.创建空项目2.配置web项目3.配置Tomcat4.加载Tomcat包5.创建HelloWorldServlet类6.配置web.xml7.运行get与post请求 1.创建空项目 2.配置web项目 3.配置Tomcat 4.加载Tomcat包 5.创建HelloWorldServlet类 public class controller extends HttpServlet {Override//get…

java入门-包装类

包装类 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。基本类型的数据不具备"对象"的特性(没有属性和方法可以调用),因此,java为每种数据类型分别设计了对应的类,即*…

《与 Apollo 共创生态——Apollo7周年大会干货分享》

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” 文章目录 阿波罗X企业自动驾驶解决方案自动驾驶技术提升与挑战自动驾驶系统功能与性能的详细解析<td alig…

在智慧城市的建设中智能车载监控录像机发挥什么作用

引言 随着科技的快速发展&#xff0c;智慧城市的概念逐渐深入人心。在智慧城市的建设中&#xff0c;智能车载监控录像机作为一种重要的技术工具&#xff0c;发挥着越来越重要的作用。本文将从多个方面探讨智能车载监控录像机在智慧城市建设中的作用。 一、智能车载监控录像机概…

纯血鸿蒙APP实战开发——主页瀑布流实现

介绍 本示例介绍使用ArkUIWaterFlow组件和LazyForEach实现瀑布流场景。该场景多用于购物、资讯类应用。 效果图预览 使用说明 加载完成后显示整个列表&#xff0c;超过一屏时可以上下滑动。 实现思路 创建WaterFlowDataSource类&#xff0c;实现IDataSource接口的对象&…

C语言/数据结构——每日一题(链表的中间节点)

一.前言 今天我在LeetCode刷到了一道单链表题&#xff0c;想着和大家分享一下这道题&#xff1a;https://leetcode.cn/problems/middle-of-the-linked-list。废话不多说让我们开始今天的知识分享吧。 二.正文 1.1题目描述 1.2题目分析 这道题有一个非常简便的方法——快慢指…

Vue+Element UI el-progress进度条内显示自定义数字及文字

需求 进度条内展示 具体的数字值&#xff0c;进度条外展示 百分比数值 数据 data() {return {reNum: 3214,rePer:40,warmPer: 40,warmNum:2132,}}因为样式要求&#xff0c;显示的百分数也是自己写的哈 &#xff0c;没有用进度条自带的 代码 <div class"pick"&g…

2024五一杯数学建模A题思路分析-钢板最优切割路径问题

文章目录 1 赛题选题分析 2 解题思路3 最新思路更新 1 赛题 A题 钢板最优切割路径问题 提高钢板下料切割过程中的工作效率&#xff0c;是模具加工企业降低成本和增加经济效益的重要途径&#xff0c;其中钢板切割的路径规划是钢板切割过程的一个关键环节。 钢板切割就是使用特殊…

【C++】哈希的应用---布隆过滤器

目录 1、引入 2、布隆过滤器概念 3、选择哈希函数个数和布隆过滤器长度 4、布隆过滤器的实现 ①框架的搭建 ②设置存在 ③检查存在 ④不支持 reset 5、布隆过滤器计算误差 6、布隆过滤器的优缺点 ①布隆过滤器优点 ②布隆过滤器缺陷 7、布隆过滤器的实际应用 8、完…

KUKA机器人KR3 R540维护保养——涂润滑脂

KUKA机器人在保养时少不了润滑脂&#xff0c;不同型号的机器人需要的润滑脂类型也不一样&#xff0c;保养时注意选用合适的润滑脂。本篇文章以KUKA机器人KR3 R540为例&#xff0c;在轴盖板 A2、A3、A5 的内侧涂上润滑脂。 一、涂润滑脂的作用 拆开机器人一个轴的盖板&am…

Android Kernel源码下载方法

Android Kernel的源码是git管理的&#xff0c;和之前下载的Android源码管理方式不一样&#xff0c;所以下载方式也不一样&#xff0c;直接用git下载就可以了&#xff1b;去网上搜的下载方式五花八门&#xff0c;有很多问题&#xff0c;因为服务器经常无法访问&#xff0c;也一直…

质谱原理与仪器3-笔记

质谱原理与仪器3-笔记 一、质量分析器类型1、聚焦磁场分析器&#xff1a;A、单聚焦磁场分析器B、双聚焦磁场分析器 2、四极杆质量分析器3、飞行时间质谱仪(Time of Flight MS, TOF-MS)4、离子阱质量分析器 二、质谱仪的主要性能指标1、质量范围(mass range)2、分辨率(resolutio…

C语言编译的优化等级应该选哪个?O0、O1、O2还是O3

在使用IDE开发STM32程序时&#xff0c;IDE一般都会提供优化等级设置的选项&#xff0c;例如下图中KEIL软件优化等级的设置。 从上图中也可以看出&#xff0c;设置不同的优化等级&#xff0c;实际上是修改了编译器的编译参数。这个编译器是由ARM公司提供的C/C编译器armclang或者…