30、基于Keras的神经机器翻译模型实现

基于Keras的神经机器翻译模型实现

1. 序列到序列翻译过程

在进行翻译时,初始阶段并没有目标序列。首先将源序列输入网络,接着输入起始标记(START token),随后把网络的输出预测作为下一个时间步的输入,持续这个过程,直至网络输出结束标记(STOP token),此时便得到了完整的翻译句子。

2. 编码器 - 解码器模型

此模型与之前研究的神经语言模型有所关联。当输入起始标记时,翻译网络与神经语言模型网络的唯一差异在于其初始累积状态。语言模型以内部状态为 0 开始,并输入一个或多个单词,然后完成句子;而翻译网络则以看到源序列后的累积状态开始,接着输入单个起始符号,最后用目标语言完成句子。在翻译过程的后半段,网络的作用类似于目标语言的神经语言模型,内部状态是生成正确句子的关键,可将其视为句子整体含义的与语言无关的表示,有时也被称为上下文或思想向量。

翻译过程的前半段旨在处理源句子,构建句子含义的与语言无关的表示。由于这与生成句子的任务不同,且使用的语言和词汇也与后半段不同,因此可以考虑使用两个专门的网络:一个用于将源句子编码为内部状态,另一个用于将内部状态解码为目标句子,这种架构就是编码器 - 解码器架构。

编码器 - 解码器架构的连接方式多种多样,例如可以在第一个时间步将状态/输出作为常规输入提供给解码器,或者让解码器网络在每个时间步都能访问它;对于多层编码器,也可以选择仅将最顶层的状态/输出作为输入提供给最底层的解码器层。此外,编码器 - 解码器模型并不局限于处理序列,还可以构建其他组合形式。

3. Keras 函数式 API 简介

要实现上述架构,需要使用 Keras 函数式 AP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值