计算机视觉中的编码-解码器结构总结(持续更新)

文章目录

编码器-解码器结构:编码器原始输入信号转化为中间格式,然后解码器将中间格式转化为目的信号。在NLP领域的机器翻译、摘要提取等部分,在视觉领域的目标检测、场景感知,在传统的机器学习中MLP等等都是Encoder-Decoder的结构。

NLP领域的编码解码器结构

直接用一个函数完成数据转化,可能会存在困难。例如对机器翻译来说输入和输出的长度是不固定的,二者还可能不相等,因此通过一个中间格式来完成输出与输入的转化。

对于NLP任务,Embedding是从语义空间到向量空间的映射,语义相近的两个词汇在向量空间的位置也比较接近,编码器-解码器网络是一个成功的翻译模型,接受一个序列作为输入,并将序列中的信息编码作为中间表示,解码器将中间表示解码为目标语言。

计算机视觉中的编码-解码器结构总结(持续更新)
如上图所示,RNN中的Seq-to-Seq结构,处理机器翻译问题,将原始语言向量输入通过RNN编码为中间形式,后面通过Decoder解码为另一种语言向量序列。

; 机器学习中的编码器

自动编码器

最简单的,PCA在机器学习领域作为一种降维的工具,可以将样本投影在新的坐标系下,相当于一种新的中间表示形式,我们后面用线性回归或者SVM进行分类等任务,这时候机器学习模型扮演解码器的结构,这是一种 非自动编码器,需要先人工干预编码,然后训练解码器。

计算机视觉中的编码-解码器结构总结(持续更新)

如上图所示,自动编码器(Auto-Encoder,简称AE)是一种特殊的神经网络,用于特征提取和数据降维络。最简单的自动编码器由一个输入层,一个隐含层,一个输出层组成。隐含层的映射充当编码器,输出层的映射充当解码器。训练时编码器对输入向量进行映射,得到编码后的向量;解码器对编码向量进行映射,得到重构后的向量,它是对输入向量的近似。

编码器和解码器同时训练,训练的目标是最小化重构误差,即让重构向量与原始输入向量之间的误差最小化,这与PCA非常类似。因此样本x的标签值就是样本自身。训练完成之后,在预测时只使用编码器而不再需要解码器,编码器的输出结果被进一步使用,用于分类,回归等任务。

; 视觉领域中的编码解码器结构

  • Transfuser:多模态领域
    计算机视觉中的编码-解码器结构总结(持续更新)
    如上图所示,模型将图像和雷达信息编码成512长度的一维向量,表示场景语义信息,后面用MLP组合RNN进行解码,预测车辆的行动轨迹。
    这种结构,其实就是将CNN产生的局部注意力图用作transformer计算全局注意力,从而达到 快速收敛和稳定的效果
  • SRN-DeblurNet:高质量图像生成
    计算机视觉中的编码-解码器结构总结(持续更新)
    对原图像(带有噪声、低分辨率)编码并解码生成高分辨率去噪图片。
  • DETR:目标检测
    计算机视觉中的编码-解码器结构总结(持续更新)

利用CNN和Encoder作为编码器生成中间形式的查询向量,然后通过Decoder解码用来FFN预测目标信息。
利用CNN做预处理的优点是,虽然牺牲了浅层部分的全局注意力,但是CNN特征图可以带来有效的局部信息和较少的噪声(这里的噪声是指无关的像素),我认为是起到一种过滤器的效果。

Original: https://blog.csdn.net/weixin_43253464/article/details/123525214
Author: naca yu
Title: 计算机视觉中的编码-解码器结构总结(持续更新)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/648596/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球