深度学习中的Encoder-Decoder框架(编码器-解码器框架)

深度学习中的Encoder-Decoder框架(编码器-解码器框架)

一、概述

Encoder-Decoder框架可以看作是一种深度学习领域的研究模式,应用场景异常广泛。图1是文本处理领域里常用的Encoder-Decoder框架最抽象的一种表示。

图1 文本处理领域的Encoder-Decoder框架
图1 文本处理领域的Encoder-Decoder框架

二、介绍

文本处理领域的Encoder-Decoder框架可以这么直观地去理解:可以把它看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。对于句子对 ( S o u r c e , T a r g e t ) (Source,Target) (Source,Target),我们的目标是给定输入句子 S o u r c e Source Source,期待通过Encoder-Decoder框架来生成目标句子 T a r g e t Target Target S o u r c e Source Source T a r g e t Target Target 可以是同一种语言,也可以是两种不同的语言。而 S o u r c e Source Source T a r g e t Target Target 分别由各自的单词序列构成:

S o u r c e = ⟨ x 1 , x 2 … x m ⟩ Source =\langle\mathbf{x_1},\mathbf{x_2}\ldots\mathbf{x_m}\rangle Source=x1,x2xm
T a r g e t = ⟨ y 1 , y 2 … y n ⟩ Target=\langle\mathbf{y_1},\mathbf{y_2}\ldots\mathbf{y_n}\rangle Target=y1,y2yn

Encoder顾名思义就是对输入句子 S o u r c e Source Source 进行编码,将输入句子通过非线性变换转化为中间语义表示 C C C

C = F ( x 1 , x 2 … x m ) \mathbf{C}={\mathcal F}(\mathbf{x_{1}},\mathbf{x_{2}}\ldots\mathbf{x_{m}}) C=F(x1,x2xm)

对于解码器Decoder来说,其任务是根据句子 S o u r c e Source Source 的中间语义表示 C C C 和之前已经生成的历史信息

y 1 , y 2 … y i − 1 \mathbf{y_1},\mathbf{y_2}\ldots\mathbf{y_{i-1}} y1,y2yi1,来生成i时刻要生成的单词 y i \mathbf{y_i} yi

每个 y i \mathbf{y_i} yi 都依次这么产生,那么看起来就是整个系统根据输入句子 S o u r c e Source Source 生成了目标句子 T a r g e t Target Target。如果 S o u r c e Source Source 是中文句子, T a r g e t Target Target 是英文句子,那么这就是解决机器翻译问题的Encoder-Decoder框架;如果 S o u r c e Source Source 是一篇文章, T a r g e t Target Target 是概括性的几句描述语句,那么这是文本摘要的Encoder-Decoder框架;如果 S o u r c e Source Source 是一句问句, T a r g e t Target Target 是一句回答,那么这是问答系统或者对话机器人的Encoder-Decoder框架。由此可见,在文本处理领域,Encoder-Decoder的应用领域相当广泛。

Encoder-Decoder框架不仅仅在文本领域广泛使用,在语音识别、图像处理等领域也经常使用。比如对于语音识别来说,图1所示的框架完全适用,区别无非是Encoder部分的输入是语音流,Decoder部分的输出是对应的文本信息;而对于“图像描述”任务来说,Encoder部分的输入是一副图片,Decoder的输出是能够描述图片语义内容的一句描述语。一般而言,文本处理和语音识别的Encoder部分通常采用RNN模型,图像处理的Encoder一般采用CNN模型。

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值