深度学习中的序列模型与内容生成
1. LSTM 模型评估
我们再次计算指标并比较性能,代码如下:
logits = sess.run(model.logits, feed_dict={model.X:str_idx(test_X,dictionary,maxlen)})
print(metrics.classification_report(test_Y, np.argmax(logits,1), target_names = trainset.target_nam))
计算结果显示,使用 LSTM 后,f1 分数提升到了 72%,而之前的基本 RNN 模型为 66%,有 7% 的显著提升。
2. 序列到序列模型
2.1 模型概述
我们将基于 LSTM 单元实现一个 seq2seq 模型(编码器 - 解码器 RNN),用于简单的序列到序列问答任务。这种模型可以将输入序列(问题)映射到输出序列(答案),输入和输出序列长度不一定相同。它在语音识别、机器翻译、问答系统、神经机器翻译(NMT)和图像字幕生成等任务中表现出色。
2.2 模型结构
在编码器 - 解码器结构中,一个 RNN(蓝色)对输入序列进行编码,编码器输出上下文 C,通常是其最终隐藏状态的简单函数。另一个 RNN(红色)解码器计算目标值并生成输出序列。关键步骤是让编码器和解码器进行通信,最简单的方法是使用编码器的最后隐藏状态来初始化解码器,其他方法则让解码器在解码过程的不同时间步关注编码输入的不同部分。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



