ConvS2S总结

目录

1 Introduction

2 Network

2.1 Symbols

2.2 Convolutional Architecture

2.3 Multi-step Attention

2.4 Generation

References


论文地址 《Convolutional Sequence to Sequence Learning》

1 Introduction

众所周知,RNN本身的一个缺陷:由于下一个时刻的输出要依赖于上一个时刻的输出,从而导致无法在整个序列上进行并行处理,这会引起训练时间过长的问题。针对这一问题,ConvS2S的做法是将CNN引入到Seq2Seq中,这样既可以处理序列变长的问题,又可以实现在序列不同位置的并行计算。

以前典型的seq2seq任务中,大多数都是使用RNN来实现的。RNN链式结构,可以很好的序列结构信息。FB一直执着于使用CNN来解决问题也正是因为RNN存在上units之间的时序传递,不可以并行计算,计算速度很慢,还有就是RNN中只依赖于最后state的状态很难利用句子中的结构信息,以及对于句子中的初始单词的信息保留的程度不够,很难把握很复杂句子结构中的信息。相比较CNN而言以上这几个缺点都可以很好的被解决。一方面CNN可以并行计算,效率变高。另一方面CNN可以通过层级结构捕获句子中词语之间的远距离依赖关系,也就可以处理复杂句子信息。

2 Network

上左encoder部分:通过层叠的卷积抽取输入源语言(英语)sequence的特征,图中直进行了一层卷积。卷积之后经过GLU激活做为encoder输出。
下左decoder部分:采用层叠卷积抽取输出目标语言(德语)sequence的特征,经过GLU激活做为decoder输出。
中左attention部分:把decoder和encoder的输出做点乘,做为输入源语言(英语)sequence中每个词权重。
中右Residualconnection:把attention计算的权重与输入序列相乘,加入到decoder的输出中输出输出序列。

2.1 Symbols

2.2 Convolutional Architecture

2.3 Multi-step Attention

2.4 Generation

References

从《Convolutional Sequence to Sequence Learning》到《Attention Is All You Need》

论文笔记<1> ConvS2S:Convolutional Seq to Seq Learning

 

### 多尺度特征融合技术概述 多尺度特征融合是一种广泛应用于计算机视觉领域的关键技术,旨在通过整合来自多个尺度的特征来提高模型性能。这种技术的核心在于有效利用不同层次的空间和语义信息。 #### 1. 多尺度输入网络 多尺度输入网络是指通过对同一图像的不同缩放版本分别进行处理,从而获取多尺度特征的一种方法[^1]。这种方法的优点是可以捕捉到目标对象在不同尺寸下的细节,但在实际应用中可能会增加计算开销。 #### 2. 特征金字塔网络 (FPN) 特征金字塔网络(Feature Pyramid Network, FPN)是一种经典的多尺度特征融合架构,在深度学习领域具有重要地位[^2]。FPN的主要思想是从底层到高层逐步构建特征图,并将高层次的语义信息与低层次的空间信息相结合。具体实现过程如下: - **自顶向下的路径**:从深层特征出发,逐层上采样并与浅层特征相加。 - **横向连接**:将相同分辨率的高维特征与低维特征拼接在一起。 以下是基于PyTorch的一个简单FPN实现示例: ```python import torch.nn as nn class FPN(nn.Module): def __init__(self, in_channels_list, out_channels): super(FPN, self).__init__() self.lateral_convs = nn.ModuleList() self.fpn_convs = nn.ModuleList() for i in range(len(in_channels_list)): lateral_conv = nn.Conv2d(in_channels_list[i], out_channels, kernel_size=1) fpn_conv = nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1) self.lateral_convs.append(lateral_conv) self.fpn_convs.append(fpn_conv) def forward(self, inputs): laterals = [lateral_conv(inputs[i]) for i, lateral_conv in enumerate(self.lateral_convs)] used_backbone_levels = len(laterals) for i in range(used_backbone_levels - 1, 0, -1): prev_shape = laterals[i - 1].shape[2:] laterals[i - 1] += nn.functional.interpolate( laterals[i], size=prev_shape, mode='nearest') outs = [ self.fpn_convs[i](laterals[i]) for i in range(used_backbone_levels) ] return tuple(outs) ``` #### 3. 多尺度特征预测融合 除了简单的特征叠加外,还可以采用更复杂的策略来进行多尺度特征预测融合。例如,可以通过设计特定的损失函数或者引入额外的监督信号来优化最终输出的质量。 #### 4. 自注意力机制的应用 近年来,自注意力机制也被用于增强多尺度特征融合的效果[^4]。该机制使得模型能够在全局范围内动态调整权重分配,进一步提升了跨尺度关联的学习能力。 --- ### 总结 综上所述,多尺度特征融合技术主要包括但不限于多尺度输入、特征金字塔网络以及结合自注意力机制的方法。这些方法各有优劣,需根据具体的任务需求选择合适的方案实施。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值