Questions tagged «sequence»

2
如何在Keras中实现“一对多”和“多对多”序列预测?
我很难解释一对一(例如,单个图像的分类)和多对多(例如,图像序列的分类)序列标签的Keras编码差异。我经常看到两种不同的代码: 类型1是没有应用TimeDistributed的地方,如下所示: model=Sequential() model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1], border_mode="valid", input_shape=[1, 56,14])) model.add(Activation("relu")) model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1])) model.add(Activation("relu")) model.add(MaxPooling2D(pool_size=pool_size)) model.add(Reshape((56*14,))) model.add(Dropout(0.25)) model.add(LSTM(5)) model.add(Dense(50)) model.add(Dense(nb_classes)) model.add(Activation("softmax")) 类型2是应用TimeDistributed的地方,如下所示: model = Sequential() model.add(InputLayer(input_shape=(5, 224, 224, 3))) model.add(TimeDistributed(Convolution2D(64, (3, 3)))) model.add(TimeDistributed(MaxPooling2D((2,2), strides=(2,2)))) model.add(LSTM(10)) model.add(Dense(3)) 我的问题是: 我的假设是正确的,类型1是一对多类型,类型2是多对多类型吗?还是TimeDistributed在这方面没有关联? 在一对多或多对多的情况下,最后一个密集层应为1个节点“长”(依次仅发出一个值), 而先前的循环层负责确定有多少个 1长发射的价值?或者最后一个密集层应该由N个节点组成,其中N=max sequence length?如果是这样, 当我们可以 使用N个并行“原始”估计量产生具有多个输出的相似输入时,在这里使用RNN 有什么意义? 如何定义RNN中的时间步数?它是某种程度上 与输出序列长度相关,还是只是 需要调整的超参数? 上面我的Type …
13 keras  rnn  lstm  sequence 

2
向量序列的分类
我的数据集由矢量序列组成。每个向量都有50个实值维。序列中载体的数量为3-5至10-15。换句话说,序列的长度不是固定的。 一些相当数量的序列(不是向量!)用类标签注释。我的任务是学习给定向量序列的分类器,计算整个序列的类标签。 我无法说出数据的确切性质,但是序列的性质不是暂时的。但是,如果不更改标签(),则向量不能与向量互换。换句话说,向量的顺序很重要。向量本身是可比较的,例如,计算点​​积并使用此相似度值是有意义的。X一世X一世x_iXĴXĴx_ji ≠ j一世≠Ĵi \neq j 我的问题是:什么可以帮助分类此类数据的工具/算法? 更新:数据具有这样的属性,即一个或很少的向量会强烈影响类标签。 可能的解决方案:经过一些研究,看起来递归神经网络(RNN)非常自然。总体思路是选择一个上下文大小,连接单词向量,进行最大池化并通过经典NN进行馈送。在句子中每个可能的上下文窗口位置处,构建一个特征向量。例如,使用最大池构建最终特征向量。进行反向传播以调整网络参数。我已经取得了一些积极的成果(GPU是必须的)。ķķk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.