草庐IT

LSTM-CRF

全部标签

Python Keras LSTM 学习在高损失上收敛太快

这更像是一个深度学习概念问题,如果这不是合适的平台,我会把它带到别处。我正在尝试使用KerasLSTM序列模型来学习文本序列并将它们映射到数值(回归问题)。问题是,学习总是在高损失(训练和测试)上收敛得太快。我已经尝试了所有可能的超参数,我感觉这是导致模型高偏差的局部最小值问题。我的问题基本上是:如何根据这个问题初始化权重和偏差?使用哪个优化器?我应该将网络扩展到多深(我担心如果我使用非常深的网络,训练时间将难以忍受并且模型方差会增长)我应该添加更多训练数据吗?输入和输出使用minmax归一化。我正在使用带动量的SGD,目前有3个LSTM层(126,256,128)和2个密集层(200

python - 在 keras 的 LSTM 中使用隐藏状态而不是输出

我想通过Yangetal.使用注意力机制的实现.我找到了使用此注意力机制的自定义层的有效实现here.而不是使用我的LSTM的输出值:my_lstm=LSTM(128,input_shape=(a,b),return_sequences=True)my_lstm=AttentionWithContext()(my_lstm)out=Dense(2,activation='softmax')(my_lstm)我想使用LSTM的隐藏状态:my_lstm=LSTM(128,input_shape=(a,b),return_state=True)my_lstm=AttentionWithCon

python - LSTM 上的 Keras 注意力层

我正在使用keras1.0.1我正在尝试在LSTM之上添加一个注意力层。这是我目前所拥有的,但它不起作用。input_=Input(shape=(input_length,input_dim))lstm=GRU(self.HID_DIM,input_dim=input_dim,input_length=input_length,return_sequences=True)(input_)att=TimeDistributed(Dense(1)(lstm))att=Reshape((-1,input_length))(att)att=Activation(activation="soft

python - Tensorflow:是否可以创建 2D LSTM?

我的数据由4个不同的时间序列组成,例如:[35,45,47,39...][47,60,57,55...][42,42,61,69...][62,70,62,65...]事实是,除了时间依赖性(水平依赖性)之外,还存在垂直依赖性(在列中,如果我们看一下这个示例“矩阵”)。输出向量将是这些相同的时间序列,仅移动一步。是否可以为每个时间序列创建LSTM网络(因此,在我的例子中有4个网络,还有4个输出),但也可以垂直连接它们,即创建2DLSTM?如果是这样,如何在Tensorflow中实现这一点?是否也可以使这种网络更深(将额外的LSTM层附加到这4个网络中的每一个)?我希望我的解释足够清楚。

python - 状态 LSTM : When to reset states?

给定X维度(m个样本,n个序列和k个特征),以及y维度(m样本,0/1):假设我想训练一个有状态的LSTM(按照keras的定义,其中“stateful=True”意味着细胞状态不会在每个样本的序列之间重置——如果我错了请纠正我!),状态应该是以每个时期或每个样本为基础进行重置?例子:foreinepoch:forminX.shape[0]:#foreachsampleforninX.shape[1]:#foreachsequence#train_on_batchformodel...#model.reset_states()(1)Ibelievethisis'stateful=Fal

python - Keras: reshape 以连接 lstm 和 conv

这个问题也作为githubissue存在。我想在Keras中构建一个包含二维卷积和LSTM层的神经网络。网络应该对MNIST进行分类。MNIST中的训练数据是60000张手写数字0到9的灰度图像。每张图像为28x28像素。我已将图像分成四个部分(左/右、上/下)并按四个顺序重新排列它们以获得LSTM的序列。|||1|2||image|->-------->4sequences:|1|2|3|4|,|4|3|2|1|,|1|3|2|4|,|4|2|3|1||||3|4|其中一个小子图像的尺寸为14x14。四个序列沿宽度堆叠在一起(宽度或高度无关紧要)。这将创建一个形状为[60000,4,

python - Tensorflow 动态循环神经网络 (LSTM) : how to format input?

我得到了这种格式的一些数据和以下详细信息:person1,day1,feature1,feature2,...,featureN,labelperson1,day2,feature1,feature2,...,featureN,label...person1,dayN,feature1,feature2,...,featureN,labelperson2,day1,feature1,feature2,...,featureN,labelperson2,day2,feature1,feature2,...,featureN,label...person2,dayN,feature1,fe

python - 如何选择 LSTM Keras 参数?

我有多个输入时间序列,我想正确构建一个LSTM模型。我真的很困惑如何选择参数。我的代码:model.add(keras.layers.LSTM(hidden_nodes,input_shape=(window,num_features),consume_less="mem"))model.add(Dropout(0.2))model.add(keras.layers.Dense(num_features,activation='sigmoid'))optimizer=keras.optimizers.SGD(lr=learning_rate,decay=1e-6,momentum=0.

python - 3darray 训练/测试 TensorFlow RNN LSTM

(我正在测试自己写出简短但有效的问题的能力,所以让我知道我在这里是怎么做的)我正在尝试训练/测试TensorFlow循环神经网络,特别是LSTM,使用以下ndarray格式的时间序列数据进行一些试验:[[[time_step_trial_0,feature,feature,...][time_step_trial_0,feature,feature,...]][[time_step_trial_1,feature,feature,...][time_step_trial_1,feature,feature,...]][[time_step_trial_2,feature,feature

python - Keras - 将注意力机制添加到 LSTM 模型

这个问题在这里已经有了答案:HowtoaddattentionlayertoaBi-LSTM(2个答案)关闭2年前。使用以下代码:model=Sequential()num_features=data.shape[2]num_samples=data.shape[1]model.add(LSTM(16,batch_input_shape=(None,num_samples,num_features),return_sequences=True,activation='tanh'))model.add(PReLU())model.add(Dropout(0.5))model.add(LS