LSTM需要训练的参数是哪些?

来源:7-17 LSTM单元内部结构实现

慕桂英雄

2019-06-10

h向量还有state 是不可训练的,在sess.run的过程中会改变的参数有哪些?
只是ix,ih,ib,cx,ch,cb 那12个转换矩阵吗?
还有 with tf.variable_scope(
‘embedding’, initializer = embedding_initializer):
embeddings = tf.get_variable(
‘embedding’,
[vocab_size, hps.num_embedding_size],
tf.float32)
# [1, 10, 7] -> [embeddings[1], embeddings[10], embeddings[7]]
embed_inputs = tf.nn.embedding_lookup(embeddings, inputs)

这里这个embedding矩阵,再由输入的词的id从中找出词向量,意思是这些词向量也是要训练的吗??
词向量不是一开始就求应该给定的吗?

写回答

1回答

萌新多多关照

2019-06-17

个人理解哈:

embed_inputs = tf.nn.embedding_lookup(embeddings, inputs)这个是为了查找对应输入词向量的id,即开始对数据进行处理,有一个专门的函数将中文频率划分,并进行id标记,存储到统一的文件中。下文有这样一个函数

rnn_outputs, _ =tf.nn.dynamic_rnn(cell,embed_inputs,initial_state=initial_state)第二个参数对应的是输入,即x。

lstm里面训练的应该是各种权重参数,这个里面有一些较详细的解释:

https://www.jianshu.com/p/dcec3f07d3b5

自己理解,可能有错误


0
0

深度学习之神经网络(CNN/RNN/GAN)算法原理+实战

深度学习算法工程师必学,深入理解深度学习核心算法CNN RNN GAN

2617 学习 · 935 问题

查看课程