基于attention机制的中英文机器翻译

本文介绍了基于Attention机制的中英文机器翻译,详细阐述了Sequence to Sequence网络、Attention的Decoder、整体网络结构及实现细节。通过Attention机制,翻译过程能更好地聚焦输入句子的不同部分,提高翻译效果。实验表明,改进后的Attention分布更理想,避免了无效关注,提高了翻译质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

为了准备3月中旬的复试,今天回顾整理一下大三下学期做的机器学习课程设计,当时做的是基于attention机制的中英文机器翻译。参考的资料是pytorch官网的英法文间的机器翻译。pytorch参考链接

sequence to sequence介绍

一般的机器翻译是通过sequence to sequence network序列到序列网络的简单而强大的想法实现的,其中两个RNN递归神经网络一起工作以将一个序列转换为另一个。编码器encoder网络将输入序列压缩成矢量,解码器decoder网络将该矢量展开为新的序列。

递归神经网络(RNN)是一个网络,它按照一个序列进行操作,并将其自己的输出用作后续步骤的输入。一个输入对应一个输出的个RNN网络难以用于序列的转换学习,因为转换前后的序列长度在通常情况下是不同的,比如“一 袋 苹果”这样一个包含三个词汇的中文句子对应了“a bags of apples”四个词汇的英文句子。

而encoder模型把输入的序列数据转换为一个一定长度的矢量,这个矢量表示了这一个输入序列句子的整体意思。Encoder RNN模型如下图:
图1:
在得到encoder最后的隐层输出即得到输入序列数据的整体表达的矢量,将这一矢量作为decoder的第一个隐层状态,并将“SOS”(start of sequence)的编码作为decoder的第一个输入,然后依次将上一时刻的输出编码作为下一时刻的输入编码。从而把encoder的输出含义矢量转换为序列数据,从而实现两条序列的转换。一般的decoder如图所示。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值