***CA-RNN: Using Context-Aligned Recurrent Neural Networks for Modeling Sentence Similarity(CA-RNN:使用上下文对齐的递归神经网络建模句子相似度)***
**论文通读:**
## 1. 概要:
 大多数RNN专注于基于当前句子对隐藏状态进行建模,而在隐藏状态生成过程中,其他句子的上下文信息却没有得到很好的研究。在本文中,我们提出了**一种上下文对齐的RNN(CA-RNN)模型**,该模型在句子对中**合并了对齐单词的上下文信息**,以生成内部隐藏状态。具体来说,我们首先执行单词对齐检测,以识别两个句子中对齐的单词。然后,我们提出一种**上下文对齐门控机制**,并将其嵌入到我们的模型中,以自动吸收对齐单词的上下文以进行隐藏状态更新
## 2. 具体工作:
 
 1. 提出了一个新的上下文对齐RNN模型,其中两个句子中对齐单词的上下文被很好地利用以更好地产生隐藏状态;
 2. 提出了一种上下文对齐选通机制,并将其很好地嵌入到我们的模型中,该机制可以自动吸收相关上下文并减少生成特定隐藏状态的噪声;
 3. 我们对两个句子相似性任务进行了实验结果的详尽分析,从而更好地理解了模型的有效性相关工作
 
 
## 3. 模型分解:
 - 神经网络:
  其模型如下:
  
  输入特征项:x1,x2,x3,最后h(x)为输出。
layer2为隐藏层,这里面的值我们不知道。所有输出层和输入层都是隐藏层。
上述的神经元,计算过程如下:

每个输入值,在一个节点中,有不同的权值,根据不同的权值来计算输出。
其中为矩阵相乘的相关知识,g为sigmode函数:

 - 损失函数,反向传播
  损失函数:
  反向传播:(具体算式略):即采用正向传播得出的结果与真实值进行比较,得出误差,然后通过代价函数和误差推导输出前一层的神经网络的误差,然后通过得出的误差一直向前推导,直到输入层的下一层,然后再通过调整权值,调整误差,尽量使得误差较小。
 - RNN:递归神经网络,其模型如下:

我们在处理文字等问题的时候,我们的输入会把上一个时间输出的数据作为下一个时间的输入数据进行处理。
例如:我们有一段话,我们将其分词,得到t个数据,我们分别将每一个词传入到x0,x1…xt里面,当x0传入后,会得到一个结果h0,同时我们会将处理后的数据传入到下个时间,到下个时间的时候,我们会再传入一个数据x1,同时还有上一个时间处理后的数据,将这两个数据进行整合计算,然后再向下传输,一直到结束。
rnn本质来说还是一个bp回路,不过他只是比bp网络多一个环节,即它可以反馈上一时间点处理后的数据。
 - LSTM(长短期记忆网络)

上图有三个门:输入门 忘记门 输出门
1.输入门:通过input * g 来判断是否输入,如果不输入就为0,输入就是0,以此判断信号是否输入
2.忘记门:这个信号是否需要衰减多少,可能为50%,衰减是根据信号来判断。
3.输入门:通过判断是否输出,或者输出多少,例如输出50%。
所以通过上述神经网络和RNN模型以及LSTM我们可以通读此论文。
按照上述要求:
**上下文对齐选通机制:**
 - 1.基于单词重叠
 单词重叠即相同单词,获取相同单词的上下文信息即可。
 - 2.基于语义相似度
 基于语义,即为相似词,例如:爸爸也叫老爸,通过词或字的相似性来进行选择上下文。(基于Stanford Core NLP工具2的单语单词aligner1算法(语义算法))
**上下文对齐门控机制**
 - 1.相关性度量
 - 2.上下文吸收
1.测量对齐的单词所在的句子(HX)的表示与当前单词对应的隐藏状态(hy j)之间的相关性,这是确定多少上下文信息的良好标准另一个句子中对齐的单词中要吸收的部分。(即为激励函数求概率)
2.由RNN获得的原始隐藏状态(hy j)将根据所测量的相关性直接吸收其他句子中对齐单词的上下文信息(hx i)。结果,将生成新的隐藏状态,其公式为:hyj = g hx i +(1- g)hy j(3)其中,g是通过公式(2)获得的内插相关参数,表示逐元素相乘,并且hyj是新生成的隐藏状态

综上,ca-rnn即为其流程

CA-RNN论文读取的更多相关文章

  1. 序列模型(2)-----循环神经网络RNN

    一.RNN的作用和粗略介绍: RNN可解决的问题: 训练样本输入是连续的序列,且序列的长短不一,比如基于时间的序列:一段段连续的语音,一段段连续的手写文字.这些序列比较长,且长度不一,比较难直接的拆分 ...

  2. RNN,LSTM

    RNN: Vanilla Neural Network :对单一固定的输入给出单一固定输出 Recurrent Neural Network:对单一固定的输入给出一系列输出(如:可边长序列),例:图片 ...

  3. 神经机器翻译 - NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

    论文:NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE 综述 背景及问题 背景: 翻译: 翻译模型学习条件分布 ...

  4. deep learning新征程

    deep learning新征程(一) zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouwan  2015-11-26   声明: 1 ...

  5. 软工结对项目之词频统计update

    队友 胡展瑞 031602215 作业页面 GitHub 具体分工 111500206 赵畅:负责WordCount的升级,添加新的命令行参数支持(自定义输入输出文件,权重词频统计,词组统计等所有新功 ...

  6. Fabric-Ca使用

    Fabric-Ca的概念不再解释了,这里只说明使用方法: 前置条件 Go语言1.10+版本 GOPATH环境变量正确设置 已安装libtool和libtdhl-dev包 Ubuntu系统 通过以下命令 ...

  7. Tensorflow Probability Distributions 简介

    摘要:Tensorflow Distributions提供了两类抽象:distributions和bijectors.distributions提供了一系列具备快速.数值稳定的采样.对数概率计算以及其 ...

  8. 一篇提及如何通过串口读取并提取GPS信号的论文

    一篇提及如何通过串口读取并提取GPS信号的论文 作者:崔杰 梁计春 王国军 目前,在用计算机进行数据传输时,常用的是串行通信方式.在Visual C++的编程中,既可以用Windows API函数进行 ...

  9. RNN(2) ------ “《A Critical Review of Recurrent Neural Networks for Sequence Learning》RNN综述性论文讲解”(转载)

    原文链接:http://blog.csdn.net/xizero00/article/details/51225065 一.论文所解决的问题 现有的关于RNN这一类网络的综述太少了,并且论文之间的符号 ...

随机推荐

  1. git .gitignore详解

    1.最近使用git又遇到一个陷阱: 场景:A和B使用的不同的编译器做的同一个解决方案下的不同的项目工程,刚开始没考虑到版本问题,后来发现A上传的csproj在B需要做很麻烦修改才能打开,后来想到各自用 ...

  2. 天天玩微信,Spring Boot 开发私有即时通信系统了解一下

    1/ 概述 利用Spring Boot作为基础框架,Spring Security作为安全框架,WebSocket作为通信框架,实现点对点聊天和群聊天. 2/ 所需依赖 Spring Boot 版本 ...

  3. python super原理,不是指父类

    class a(object): def __init__(self): print('in a') class b(a): def __init__(self): print('in b') sup ...

  4. 刷题翻车:python 布尔运算操作符的优先级

    前两天在 xue.cn 体验答题挑战,我有道题做错了,却不明白错在哪里.题目大概如下,代码运行后将打印什么? if True or False and False: print('1') else: ...

  5. 水管局长数据加强版:lct,时光倒流,最小生成树,边化点

    Description: SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到 ...

  6. docker基本操作教程

    镜像操作 获取镜像 从Docker Hub搜索镜像: docker search ubuntu 下载镜像: docker pull ubuntu:18.04 若下载镜像速度较慢,更改镜像源: Ubun ...

  7. (十二)golang--进制和位运算

    1.基本进制 (1)二进制:0,1,满2进1 在golang中,不能直接使用一个二进制表示一个整数,可以用八进制.十进制和十六进制表示 (2)十进制:0-9,满10进1 (3)八进制:0-7,满8进1 ...

  8. day7-集合

    一.定义变量是为了吹处理状态的变化,定义变量名是为了获取变量值.字符串.数字.列表.元组.字典都是为了更好的描述变量的状态1.可变不可变:变量名不变时,里面内容是否可以变化# 可变:列表.字典.修改变 ...

  9. SqlServer2005 查询 第一讲 计算列

    数据库查询[最重要且在数据库中难度最大] 声明一下我这里用的数据库样例是郝斌老师的(scott库) 我尽最大努力把复杂的问题简单化,方便理解,希望我写的东西能够帮助到你们 有些复杂的东西我我用自己的方 ...

  10. poj 3281 Dining (Dinic)

    Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 22572   Accepted: 10015 Descript ...