4. 机器翻译任务

seq2seq(Sequence to Sequence)架构翻译任务:

seq2seq模型架构包括三部分:encoder(编码器)、decoder(解码器)、中间语义张量c。图中表示的是一个中文到英文的翻译:欢迎来北京 - -> welcome to BeiJing。编码器首先处理中文输入"欢迎来北京",通过 GRU模型获得每个时间步的输出张量,最后将它们拼接成一个中间语义张量c;接着解码器将使用这个中间语义张量 c以及每一个时间步的隐层张量,逐个生成对应的翻译语言。

早期在解决机器翻译这一类 seq2seq问题时,通常采用的做法是利用一个编码器 (Encoder)和一个解码器 (Decoder)构建端到端的神经网络模型,但是基于编码解码的神经网络存在两个问题:

问题1:如果翻译的句子很长很复杂,比如直接一篇文章输进去,模型的计算量很大,并且模型的准确率下降严重。

问题2:在翻译时,可能在不同的语境下,同一个词具有不同的含义,但是网络对这些词向量并没有区分度,没有考虑词与词之间的相关性,导致翻译效果比较差。

(解释:先把这3个词转成Embedding即词嵌入,一个向量,每个时间步通过 GRU也叫 RNN循环神经网络,本身是通过循环神经网络,每个时间步都会得到一个隐藏层张量的输出:'欢迎' 送到GRU得到 h1、'来' 送到GRU得到 h2、'北京' 送到GRU得到 h3、这些h1 h2 h3是每个时间步的输出张量;即将 3个单词进行 GRU进行转换:当前只有一个样本即一个句子 batch_size=1,3个单词即 seq_len=3:input=1, 3,5,GRU(5,10,1),则 output=1, 3, 10,此 output就是中间语义张量 C,它承接了所有编码信息,即原始的中文语义信息,拿到 C之后 再一个时间步一个时间步解码(或者说翻译);也可以将 output中 3个张量:1、3、10相加再平均来充当 C。hn=1, 1, 10 也可以充当 C,因为它代表了最后一个单词输出的词向量维度,它已经具备了上下文所有的语义;三种说法:① 可以用 output结果充当 C,因为它具备了上下文整个编码所有信息;② 可以把这 3个张量相加再平均来充当 C;③ 可以拿最后一个单词词向量维度当做 C;因为三者都包含了原始语义的所有信息。拿到 C之后,编码器部分和中间语义张量 C结束。)(每一步在翻译出新单词时都要用到中间语义张量 C,因为翻译成英文时必须要知道原始中文。如:解码预测时根据拿到的中间语义张量 C如何预测出 'welcome'?:首先要有一个 GO表示翻译的开始字符(对应有一个翻译的结束字符 EOS-End of Sentence),'GO'这个单词变成 Embedding,此 Embedding再和中间语义张量 C共同送给 GRU来预测出 'Welcome';图中的 S0、S1、S2、S3都是隐藏层张量,它们不仅可以横向箭头也可以向上箭头表示,但向上的如 S1不能直接得到 'welcome',它要经过一个 nn.Linear() 因为 linear才能输出,才能进行预测。图中 GRU接收了 3个参数:中间语义张量 C、GO、S0

)

相关推荐
筑梦之路11 分钟前
os-pilot-ai 项目分析:把“一句话装系统“塞进一个 52MB 的 mini-ISO——筑梦之路
人工智能
IT_陈寒20 分钟前
SpringBoot启动慢得像蜗牛?原来是这个配置在捣鬼
前端·人工智能·后端
Zootopia62634 分钟前
多架 eVTOL集群排班调度方案思考
人工智能·算法·数学建模·matlab·动态规划·无人机·evtol
代码方舟38 分钟前
零信任架构实战:基于天远学历信息高级版构建自动化智库入驻审查网关
运维·人工智能·架构·自动化
lank_M41 分钟前
浏览器端为什么导不出渐进式JPEG
图像处理·人工智能·计算机视觉
指针向南44 分钟前
Chrome读不了HEIC怎么办:原生解码和WASM两条路
前端·图像处理·人工智能·chrome·计算机视觉·wasm
林伽一1 小时前
100 万输出词元与窄开放,前沿模型发布范式正在改写|2026年10月02日
人工智能·科技·安全·ai
和裕1 小时前
年度框架直供 vs 零散按需采购:定制纸箱采购成本、交付与服务核心区别全对比
大数据·运维·网络·人工智能·算法
小淮AI1 小时前
我有一个漫画梦,但更擅长用文字讲故事:AI漫画工具使用体验
人工智能
zhangfeng11331 小时前
Reward Hacking 奖励钻空子 / 奖励作弊 Specification Gaming(规范博弈)
人工智能·华为·ai编程·npu