本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【j2开奖】seq2seq理论研究和在量化上的延伸系列一(思路+代码)

时间:2017-05-13 03:35来源:668论坛 作者:j2开奖直播 点击:
从本期推文开始,我们将分3+次介绍seq2seq,文章的部分来自马修维兹,Ostrovok.ru的研发主管,我们做了针对性的翻译。并且在今后的推文里,我们努力做出一期基于seq2seq模型应用到量

从本期推文开始,我们将分3+次介绍seq2seq,文章的部分来自马修维兹,Ostrovok.ru的研发主管,我们做了针对性的翻译。并且在今后的推文里,我们努力做出一期基于seq2seq模型应用到量化投资的文章,看看效果如何。同时,开奖,在后续的文章里,大家可以提出错误和意见。我们会及时采纳。

  前言

Sutskever,Vinyals和Le(2014)所描述的原始架构。

wzatv:【j2开奖】seq2seq理论研究和在量化上的延伸系列一(思路+代码)

器接收[A,B,C]序列作为输入。 我们不关心编器输出,只关于读取序列时积累的隐藏状态。 输入序列结束后,编码器将其最终状态传递给解码器,解码器接收[<EOS>,W,X,Y,Z],并进行训练以输出[W,X,Y,Z,<EOS>]。 <EOS>指令是词汇中的一个特殊单词,用于信号解码翻译的开始。

Static unrollinginvolves construction of computation graph with a fixed sequence of time step. Such a graph can only handle sequences of specific lengths. One solution for handling sequences of varying lengths is to create multiple graphs with different time lengths and separate the dataset into this buckets.

Dynamic unrollinginstead uses control flow ops to process sequence step by step. In TF this is supposed to more space efficient and just as fast. This is now a recommended way to implement RNNs.

  词汇

Seq2seq将序列映射到另一个序列上。 两个序列由固定范围的整数构成。 在语言任务中,整数通常对应于单词:我们首先通过将语料库中的每个单词分配为串行整数来构造词汇表。 前几个整数保留给特殊标记。 我们将把词汇的上限称为词汇大小。

输入由整数序列组成的数据

  x = [[ 5, 7, 8], [ 6, 3], [ 3], [ 1]] importhelpersxt, xlen = helpers.batch(x) x [[5, 7, 8], [6, 3], [3], [1]]xt array([[5, 6, 3, 1], [7, 3, 0, 0], [8, 0, 0, 0]], dtype=int32)

序列形成大小为[max_time,batch_size]的矩阵列。 最短时间的序列用零填充到最后。

  xlen

  [3, 2, 1, 1]

对于某些形式的动态布局,使用指向不同张量的批次中每个序列的终端的指针是有用的。

  helpers代码

wzatv:【j2开奖】seq2seq理论研究和在量化上的延伸系列一(思路+代码)

wzatv:【j2开奖】seq2seq理论研究和在量化上的延伸系列一(思路+代码)

  建立模型

  简单的seq2seq

编码器以空状态开始,并通过输入序列。 我们对编码器的输出不感兴趣,只有在final_state。

解码器使用编码器的final_state作为其initial_state。 其输入是在第一时间步长下具有<EOS>标记的批量大小矩阵,以下为<PAD>。 这是一个相当粗暴的设置,仅用于这篇文章的研究。 在实践中,我们希望在<EOS>之后提供以前生成的指令。

使用[hidden_units x output_vocab_size]投影层将解码器的输出映射到输出空间。 这是必要的,因为我们不能使解码器的hidden_units任意大,而我们的目标空间将随着字典的大小而增长。

这种编码器解码器要求学习可变长度输入序列的固定长度表示(具体来说是hidden_units大小),并且仅从该表示中恢复输出序列。

  importnumpy asnp

  importtensorflow astf

  importhelperstf.reset_default_graph()sess = tf.InteractiveSession()

  模型的输入和输出

第一个关键步骤:词汇大小。

动态RNN模型可以适应不同的批量大小和序列长度,而无需再训练(例如通过串行化模型参数和通过tf.train.Saver进行图形定义),但是改变词汇大小需要重新训练模型。

  AD = 0

  EOS = 1

  vocab_size = 10

  input_embedding_size = 20

  encoder_hidden_units = 20

  decoder_hidden_units = encoder_hidden_units

理解复杂功能的好方法是研究其独有特征:输入和输出。 纯粹的功能只有输入和输出关系才是重要的。

encoder_inputs int32张量大小[encoder_max_time,batch_size]

(责任编辑:本港台直播)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容