拆 Transformer 系列一:Encoder-Decoder 模型架构详解

本文深入探讨了深度学习中常见的Encoder-Decoder框架,解释了其在机器翻译、图像描述生成等领域的应用,以及如何通过引入Attention机制解决长序列翻译问题。同时,介绍了Transformer模型中的Encoder-Decoder结构,包括Self-Attention和Multi-Head Attention机制。

人工智能的发展非常迅速,翻译的准确性越来越高,以至于有人担心译员是否会失业,甚至有的家长担心孩子学习外语专业将来找不到工作。哎呀,扯远了,本人认为:机器翻译可以便于人们更好的获得国外的信息,提高专业译员的翻译速度,但是更深层次的思考,仍然还要依赖人工翻译。

机器翻译目前只在通用领域 (商业领域,口语领域等) 的短句上效果不错,复杂结构的长句,需要结合知识尝试和上下文判断歧义句,特定领域的翻译上,一些小众语种以及一些特别复杂的语言结构,效果还远不能让人满意。

研究算法,除了调参就是洗数据,数据不好再收集更多数据,接着洗数据,调参,调参。在我们调参结束的时候,我们有没有思考过,我们对调参的这个模型的原理真的理解吗?

我曾经在跑一个 Bert 模型,我只是粗略的看了大致的原理,总以为自己很懂了,由于 Bert 模型效果确实挺不错,以至于我用一个模型打天下了很久,直到某天我遇到了一个问题,我着实不懂如何解决,后来,翻看源码,改了其中某一个参数值,总算解决了。

所以,我们工作之余,对一些模型,架构的思想要理解,更要明白原理,今天,我们就先来学习 Encoder-Decoder 框架,本着死磕模型原理的原则,面对心中一堆的疑问,我觉得有必要好好谈谈 Encoder-Decoder。

追溯 Encoder-Decoder 的由来

Encoder-Decoder 通常称作 编码器-解码器,是深度学习中常见的模型框架,很多常见的应用都是利用编码-解码框架设计的,如:

  • 无监督算法的 auto-encoding 就是利用编码-解码结构设计的。
  • image caption 的应用也是利用 CNN-RNN 的编码-解码框架。
  • 神经网络机器翻译 NMT 模型,就是 LSTM-LSTM 的编码-解码框架。

综合上述的应用,我们可以知道 Encoder-Decoder 并不是一个具体的模型,而是一个通用的框架。Encoder 和 Decoder 部分可以是任意文字,语音,图像,视频数据,模型可以是 CNN,RNN,LSTM,GRU,Attention 等等。所以,基于 Encoder-Decoder,我们可以设计出各种各样的模型。

上面提到的编码,就是将输入序列转化转化成一个固定长度向量。解码,就是讲之前生成的固定向量再转化出输出序列。

由此,Encoder-Decoder 有 2 点需要注意:

  • 不管输入序列和输出序列长度是什么,中间的「向量 c」长度都是固定的,这也是它的一个缺陷。
  • 不同的任务可以选择不同的编码器和解码器 (RNN,CNN,LSTM,GRU)。

Encoder-Decoder 有一个比较显著的特征就是它是一个 End-to-End 的学习算法,以机器翻译为力,可以将法语翻译成英语。这样的模型也可以叫做 Seq2Seq。

Seq2Seq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值