seq2seq

深度学习中的Attention机制

蓝咒 提交于 2021-02-19 01:51:21
1.深度学习的seq2seq模型 从rnn结构说起 根据输出和输入序列不同数量rnn可以有多种不同的结构,不同结构自然就有不同的引用场合。如下图, one to one 结构,仅仅只是简单的给一个输入得到一个输出,此处并未体现序列的特征,例如图像分类场景。 one to many 结构,给一个输入得到一系列输出,这种结构可用于生产图片描述的场景。 many to one 结构,给一系列输入得到一个输出,这种结构可用于文本情感分析,对一些列的文本输入进行分类,看是消极还是积极情感。 many to many 结构,给一些列输入得到一系列输出,这种结构可用于翻译或聊天对话场景,对输入的文本转换成另外一些列文本。 同步 many to many 结构,它是经典的rnn结构,前一输入的状态会带到下一个状态中,而且每个输入都会对应一个输出,我们最熟悉的就是用于字符预测了,同样也可以用于视频分类,对视频的帧打标签。 seq2seq 在 many to many 的两种模型中,上图可以看到第四和第五种是有差异的,经典的rnn结构的输入和输出序列必须要是等长,它的应用场景也比较有限。而第四种它可以是输入和输出序列不等长,这种模型便是seq2seq模型,即Sequence to Sequence。它实现了从一个序列到另外一个序列的转换

InvalidArgumentError: Received a label value of 8825 which is outside the valid range of [0, 8825) SEQ2SEQ model

这一生的挚爱 提交于 2021-01-27 18:48:30
问题 I have been trying to build RNN with Seq2Seq model from Udemy course called DeepLearning_NLP_Chatbot, and I followed him step by step, but I face when training an error: InvalidArgumentError : Received a label value of 8825 which is outside the valid range of [0, 8825). The dataset here. here is the data procesing dataset # Building a Chatbot with Deep NLP. # Importing the libraries. import numpy as np import tensorflow as tf import re import time # ---Data Processing---# #-------------------

突破2.4kstar!一个Seq2seq模型的Pytorch实现库

做~自己de王妃 提交于 2021-01-05 08:00:56
注:文末附【深度学习与自然语言处理】交流群 介绍一个Seq2seq模型的实现tutorial,使用pytorch和torchtext实现。目前已经有2400个start,质量应该不错。有代码参考比没有代码参考可好太多了,尤其对于新手! 还给出了一些其他Seq2seq的实现仓库: 机器学习算法-自然语言处理交流群 已建立机器学习算-自然语言处理微信交流群!想要进交流群进行学习的同学,可以直接加我的微信号: HIT_NLP 。加的时候备注一下: 知乎+学校+昵称 (不加备注不会接受同意,望谅解) ,即可。然后我们就可以拉你进群了。群里已经有非得多国内外高校同学,交流氛围非常好。 推荐阅读 156个参考文献!Visual Transformer 调研survey NLP生成任务痛点!58页generation评价综述 机器学习画图模板ML Visuals更新 谷歌最新28页高效 Transformer 模型综述 Papers with Code 2020 全年回顾 最新14页《图神经网络可解释性》综述论文 陶大程等人编写!最新41页深度学习理论综述 使用PyTorch时,最常见的4个错误 加拿大蒙特利尔大学助理教授刘邦招收2021/2022年博士生 【EMNLP2020】基于动态图交互网络的多意图口语语言理解框架 一文搞懂 PyTorch 内部机制 AAAI 2021论文接收列表放出!!

PTMs| 2020最新NLP预训练模型综述

点点圈 提交于 2020-12-25 17:17:41
本篇文章主要介绍邱锡鹏老师在2020年发表的一篇预训练模型的综述: 「Pre-trained Models for Natural Language Processing: A survey」 [1] 。 该综述系统地介绍了nlp中的预训练模型。主要的贡献包括: 1.深入盘点了目前主流的预训练模型 ,如word2vec,ELMo,BERT等。 2. 提出了一种预训练模型的分类体系 ,通过四种分类维度来划分目前已有的预训练模型。包括: 表征的类型,即:是否上下文感知 编码器结构,如:LSTM、CNN、Transformer 预训练任务类型,如:语言模型LM,带掩码的语言模型MLM,排列语言模型PLM,对比学习等 针对特定场景的拓展和延伸。如:知识增强预训练,多语言预训练,多模态预训练和模型压缩等 3. 如何将PTMs学到的知识迁移到下游的任务中。 4. 收集了目前关于PTMs的学习资料。 5. 指明PTMs未来的研究方向 ,如:局限、挑战、建议。 由于篇幅原因,本文主要针对前面两点进行梳理,即 「目前主流的预训练模型」 和 「预训练模型的分类体系」 。 我们建立了 自然语言处理、机器学习等 讨论组,欢迎大家加入讨论。人数达到上限,添加下方好友手动邀请,注意一定要 备注 ,不然无法通过。 1. 背景 「nlp、cv领域的传统方法极度依赖于手动特征工程」 。例如nlp中的log

阿里深度兴趣网络模型paper学习

Deadly 提交于 2020-12-17 23:48:12
论文地址: Deep Interest Network for Click-Through Rate ... 这篇论文来自阿里妈妈的精准定向检索及基础算法团队。文章提出的Deep Interest Network (DIN),实现了推荐系统CTR预估模型中,对用户历史行为数据的进一步挖掘。同时,文章中提出的Dice激活函数和自适应正则方法也优化了模型的训练过程。 Motivation CTR预估任务是,根据给定广告、用户和上下文情况等信息,对每次广告的点击情况做出预测。其中,对于用户历史行为数据的挖掘尤为重要,从这些历史行为中我们可以获取更多的关于用户兴趣的信息,从而帮助作出更准确的CTR预估。 许多应用于CTR预估的深度模型已经被提出。它们的基本思路是将原始的高维稀疏特征映射到一个低维空间中,也即对原始特征做了embedding操作,之后一起通过一个全连接网络学习到特征间的交互信息和最终与CTR之间的非线性关系。这里值得注意的一点是,在对用户历史行为数据进行处理时,每个用户的历史点击个数是不相等的,我们需要把它们编码成一个固定长的向量。以往的做法是,对每次历史点击做相同的embedding操作之后,将它们做一个求和或者求最大值的操作,类似经过了一个pooling层操作。论文认为这个操作损失了大量的信息,于是引入attention机制,提出一种更好的表示方式。

知乎热议:科研有很水的idea应该发表出来吗?

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-01 08:47:16
科研有很水的idea应该发表出来吗? - 来源:https://www.zhihu.com/question/372648294 小伙伴们,对于只能发EI,水会,OA SCI期刊那种,自己看到都觉得很垃圾的idea,你认为有发表的价值吗? 作者: Jeremy Zhou https://www.zhihu.com/question/372648294/answer/1030507968 我认为这个水的idea该不该发要看自身的情况。 情况1. 假如,马上毕业就缺那么一篇OA SCI或者EI之类的,那就发。 火烧眉毛了还不发那不是认不清形势么。 只要这个水的idea也是idea,而不是靠弄虚作假编造一片文章,我认为就无伤大雅。 情况2. 假如,不是那么着急毕业(可能刚博士第一年),那我认为完全没有必要。 你自己都认为idea水,为什么要发呢? 总发水文,很可能就形成路径依赖了,后期很可能只能发水文,idea质量也都不行。 “仓廪实而知礼节,衣食足而知荣辱”,私以为科研很多时候也是这样。 刚入门的研究生发一点水的idea也算是一种入门的过程。 但是如果发了好几篇,还在那只发水idea,那就没什么意思了。 再说说题主说的OA SCI期刊: 以我最近审稿的情况举例。 之前帮IEEE Access审过一篇文章,发现太水了。 后来再找我审稿,扫了一下abstract也都觉得太没意思

从attention到self-attention

爷,独闯天下 提交于 2020-11-30 22:12:14
attention的本质   通过计算Query和一组Key的相似度(或者叫相关性/注意力分布),来给一组Value赋上权重,一般地还会求出这一组Value的加权和。      一个典型的soft attention如下公式所示:      先用Query求出分别和一组Key计算相似度,计算相似度的方法有很多种,常用的有点乘、perceptron   然后用softmax归一化,得到每个Key对应的概率分布α(或者叫权重),即attention   由于Key和Value是一一对应的,再用α对Value做加权求和,得到加权和 Seq2Seq模型中attention的应用      在Seq2Seq模型中,Key = Value = encoder hidden state(即h),而 Query = decoder hidden state(即z)   其实际的含义也很好理解:通过计算当前decode出来的hidden state和encode时的hidden state的关系,给原来所有的encode的hidden state加一个权重,然后求加权和,相当于计算当前输出词对每个输入词的相关性,用这个相关性做加权求和,得到最终的hidden state。   (上图刚好没有计算Q、K、V的过程,计算顺序是这样的:z0、h -> α0 -> c0 -> z1 ... ..., 其中

一文搞懂NLP中的Attention机制(附详细代码讲解)

点点圈 提交于 2020-11-23 07:38:35
机器学习算法与自然语言处理出品 @公众号原创专栏作者 Don.hub 单位 | 京东算法工程师 学校 | 帝国理工大学 Outline Intuition Analysis Pros Cons From Seq2Seq To Attention Model seq2seq 很重要,但是缺陷也很明显 attention was born Write the encoder and decoder model Taxonomy of attention number of sequence distinctive co-attention self number of abstraction single-level multi-level number of positions soft/global hard local number of representations multi-representational multi-dimensional summary Networks with Attention encoder-decoder CNN/RNN + RNN Pointer Networks Transformer Memory Networks Applications NLG Classification Recommendation Systems ref 1

论文浅尝

[亡魂溺海] 提交于 2020-11-17 03:55:17
论文笔记整理:谭亦鸣,东南大学博士生。 来源:WWW 2020 链接: https://dl.acm.org/doi/pdf/10.1145/3366423.3380114 概述 这篇论文关注的任务是:基于给定文本的“多跳问题生成”(多关系问题)。 作者提出的方法大致可以描述为: 1.基于实体的上下文关系,将分布于文本中的实体融合为一个实体图; 2.通过证据关系及类型,从实体图中抽取子图,构成推理链(同时也获得对应的局部文本信息); 3.基于推理链,构建了一个整合的“生成-评价”网络模型,实现多跳问题的生成。 其中,作者将生成过程(生成器)设计为一个强化了问题句法和语义合理性的seq2seq模型; 在评价方面,作者通过建立一个混合监督学习与强化学习的评价机制,同时用于生成模型的优化。 本工作使用的数据集为:HotpotQA 问题生成方法的主要作用是构建伪训练标注集用于弥补数据集不足的问题。 背景与动机 本工作主要关联的一个NLP是:多跳机器阅读理解:即使机器完全理解文本语义,并回答一般的问题(尤其是需要学习推理)。因此这里的问题生成主要基于包含多实体/关系的文本数据。 从现有的问题生成方法上看: 1. 基于模板的方法受限于手写模板对于问题类型的覆盖能力; 2. 目前的 seq2seq 问题生成方法无法捕获和合成多个句子之间的证据(evidence,本质上,连续的relation)。

【译】深度双向Transformer预训练【BERT第一作者分享】

徘徊边缘 提交于 2020-11-10 01:51:49
翻译自Jacob Devlin分享的slides [TOC] NLP中的预训练 词嵌入是利用深度学习解决自然语言处理问题的基础。<div align=center><img src="https://img2018.cnblogs.com/blog/1135245/201902/1135245-20190213113114332-1584404544.png" /></div> 词嵌入(例如word2vec,GloVe)通常是在一个较大的语料库上利用词共现统计预训练得到的。例如下面两个句子中,由于 king 和 queen 附近的上下文时常相同或相似,那么在向量空间中,这两个词的距离较为接近。<div align=center><img src="https://img2018.cnblogs.com/blog/1135245/201902/1135245-20190213113201532-413625814.png" /></div> 语境表示 问题:通常的词嵌入算法无法表现一个词在不同语境(上下文)中不同的语义。例如 bank 一词在下列两个句子中有着不同的语义,但是却只能使用相同的向量来表示。<div align=center><img src="https://img2018.cnblogs.com/blog/1135245/201902/1135245