赞
踩
前言
本次基于Transformer的机器翻译任务训练量大,需要借用GPU进行加速训练,没有GPU的可以白嫖免费的服务器进行训练。很多平台可以进行学生认证,免费领取服务器,赶紧趁着自己还是学生,快去白嫖吧。
这里小王白嫖的是阿里云服务器,GPU为Tesla V100-SXM2 ,做深度学习时的性能表现非常出色。领取步骤:打开阿里云,注册账户,学生认证,搜索找到人工智能平台PAI。它支持交互式建模,支持Python代码编写Notebook,内置JupyterLab、WebIDE及Terminal,提供底层Sudo权限,开放灵活。不会的可以去搜索教程。
实验环境
目录
编码器—解码器(encoder-decoder)或序列到序列(seq2seq)模型广泛应用于自然语言处理领域,如机器翻译。它包括两个主要组件:编码器和解码器,它们通常由循环神经网络(RNN)构成。编码器将输入序列转化为背景变量,解码器则利用这个背景变量生成输出序列。
编码器
功能:
c
,编码输入序列的信息。结构:
x1, x2, ..., xT
,在每个时间步 t
,RNN将输入 xt
和上一个时间步的隐藏状态 ht-1
变换为当前时间步的隐藏状态 ht
:q
将所有时间步的隐藏状态转化为背景变量 c
: q(h_1, ..., h_T) = h_T
表示使用最终时间步的隐藏状态 h_T
作为背景变量 c
。单向与双向RNN:
解码器
功能:
c
和之前的输出生成当前时间步的输出序列。结构:
t'
,解码器将上一个时间步的输出 yt'-1
和背景变量 c
作为输入,并结合上一个时间步的隐藏状态 st'-1
生成当前时间步的隐藏状态 st'
: st'
和背景变量 c
,利用自定义的输出层和softmax运算,计算当前时间步输出 yt'
的条件概率分布: 编码器—解码器模型利用编码器将不定长的输入序列编码为定长的背景变量,并通过解码器生成不定长的输出序列。通过这种架构,seq2seq模型可以处理自然语言处理中的许多复杂任务。
上一节介绍了如何训练输入和输出均为不定长序列的编码器—解码器。本节我们介绍如何使用编码器—解码器来预测不定长的序列。
上一节里已经提到,在准备训练数据集时,我们通常会在样本的输入序列和输出序列后面分别附上一个特殊符号"<eos>"表示序列的终止。我们在接下来的讨论中也将沿用上一节的全部数学符号。为了便于讨论,假设解码器的输出是一段文本序列。设输出文本词典(包含特殊符号"<eos>")的大小为|y|,输出序列的最大长度为 本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。