动手深度学习 笔记 8

机器翻译和数据集

机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。

数据预处理

将数据集清洗、转化为神经网络的输入minbatch。数据预处理的过程中,我们首先需要对数据进行清洗。

分词

字符串—单词组成的列表。

建立词典

单词组成的列表—单词id组成的列表。

注意力机制

当输入的维度大于2时,默认情况下,Dense实例会将除了第一维(样本维)以外的维度均视作需要仿射变换的特征维,并将输入自动转成行为样本、列为特征的二维矩阵。计算后,输出矩阵的形状为(样本数, 输出个数)。如果我们希望全连接层只对输入的最后一维做仿射变换,而保持其他维度上的形状不变,便需要将Dense实例的flatten选项设为False。在下面例子中,全连接层只对输入的最后一维做仿射变换,因此输出形状中只有最后一维变为全连接层的输出个数2。

我们将实现“注意力机制”一节中定义的函数a:将输入连结后通过含单隐藏层的多层感知机变换。其中隐藏层的输入是解码器的隐藏状态与编码器在所有时间步上隐藏状态的一一连结,且使用tanh函数作为激活函数。输出层的输出个数为1。两个Dense实例均不使用偏差,且设flatten=False。其中函数a定义里向量\boldsymbol{v}的长度是一个超参数,即attention_size。

注意力机制的输入包括查询项、键项和值项。设编码器和解码器的隐藏单元个数相同。这里的查询项为解码器在上一时间步的隐藏状态,形状为(批量大小, 隐藏单元个数);键项和值项均为编码器在所有时间步的隐藏状态,形状为(时间步数, 批量大小, 隐藏单元个数)。注意力机制返回当前时间步的背景变量,形状为(批量大小, 隐藏单元个数)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值